我工作在我的第一个Android应用程序上,并且尝试进行HTTP POST请求和接收响应时遇到了一些问题。这些都是几个事实:最终无法执行HTTP POST请求
- 我有INTERNET权限在AndroidManifest.xml:
<uses-permission android:name="android.permission.INTERNET" />
- 我尝试了许多解决方案。使用URLConnection或HttpURLConnection的解决方案不起作用,因为它们返回空字符串。 HttpClient和HttpPost的解决方案在execute()上失败 - 我在Google上搜索了一个小时,但没有找到如何解决这个问题。
- There is internet connection。但我不知道如何解决我的问题,最后到发送HTTP POST请求。
UPD:例如此代码使我的程序崩溃:
public static APIResponse getResponse(String action, Map<String, String> params) throws IOException {
// Create a new HttpClient and Post Header
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://google.com");
try {
// Add your data
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);
nameValuePairs.add(new BasicNameValuePair("id", "12345"));
httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
// Execute HTTP Post Request
HttpResponse response = httpclient.execute(httppost);
} catch (ClientProtocolException e) {
// TODO Auto-generated catch block
} catch (IOException e) {
// TODO Auto-generated catch block
}
return null;
}
UPD 2:它的工作原理我的手机上,而在仿真器不工作!如何修复模拟器上的行为?
upd 3:固定。
首先你可以把你的代码放在这里,这样人们可以帮助你解决问题,它可能只是一个简单的UrlEncoding或简单的客户端配置。 – IamStalker
好的,我更新了这篇文章。 – Uhehesh
完全重复:http://stackoverflow.com/questions/3505930/make-in-http-request-with-android –