HTTP Post 在我的手机上不工作
HTTP Post not working in my mobile
我正在将 phone 个联系人作为 json 数组发送到 php 服务器。它已从 HTC 手机成功发送。但不适用于三星银河。任何想法??这是我的代码,在 HTC 设备上运行良好。
public void postData(String id) {
String URL = "http://www.aheadsupapp.com/app/functions/save_phone_friends.php";
JSONArray Jarray = new JSONArray();
Jarray = fetchContacts();
ArrayList<NameValuePair> nVP = new ArrayList<NameValuePair>(2);
nVP.add(new BasicNameValuePair("uid", id ));
nVP.add(new BasicNameValuePair("json", Jarray.toString()));
Log.d("Response","Entered Post");
try{
HttpPost post = new HttpPost(URL);
HttpClient client = new DefaultHttpClient();
HttpConnectionParams.setConnectionTimeout(client.getParams(), 100000); //Timeout Limit
post.setEntity(new UrlEncodedFormEntity(nVP, "utf-8"));
ResponseHandler<String> responseHandler = new BasicResponseHandler();
String phpResponse = client.execute(post, responseHandler);
Log.d("Response", "PHP Response: " + phpResponse);
}
catch(Exception e){
e.printStackTrace();
Log.d("Response", "Catch: " + e.getMessage());
}
}
我确定这取决于 Android 版本。请记住,您不应该在 thread.You 中执行任何 interent activity 应该使用 AsyncTask 或 Hanlders。
在 Android 的旧版本中,允许 运行 在主线程中使用互联网线程,但自 4.0 以来它被拒绝了。
我正在将 phone 个联系人作为 json 数组发送到 php 服务器。它已从 HTC 手机成功发送。但不适用于三星银河。任何想法??这是我的代码,在 HTC 设备上运行良好。
public void postData(String id) {
String URL = "http://www.aheadsupapp.com/app/functions/save_phone_friends.php";
JSONArray Jarray = new JSONArray();
Jarray = fetchContacts();
ArrayList<NameValuePair> nVP = new ArrayList<NameValuePair>(2);
nVP.add(new BasicNameValuePair("uid", id ));
nVP.add(new BasicNameValuePair("json", Jarray.toString()));
Log.d("Response","Entered Post");
try{
HttpPost post = new HttpPost(URL);
HttpClient client = new DefaultHttpClient();
HttpConnectionParams.setConnectionTimeout(client.getParams(), 100000); //Timeout Limit
post.setEntity(new UrlEncodedFormEntity(nVP, "utf-8"));
ResponseHandler<String> responseHandler = new BasicResponseHandler();
String phpResponse = client.execute(post, responseHandler);
Log.d("Response", "PHP Response: " + phpResponse);
}
catch(Exception e){
e.printStackTrace();
Log.d("Response", "Catch: " + e.getMessage());
}
}
我确定这取决于 Android 版本。请记住,您不应该在 thread.You 中执行任何 interent activity 应该使用 AsyncTask 或 Hanlders。 在 Android 的旧版本中,允许 运行 在主线程中使用互联网线程,但自 4.0 以来它被拒绝了。