我有代码将详细信息发布到服务器,但每当我调用该方法时,应用程序就会停止!
public void postDetails()
{
Toast.makeText(BTPrinterDemo.this, "Am supposed to post"+longi+"..."+lati+" for device: "+imei, Toast.LENGTH_LONG).show();
/*
* Posting coordinates to server
*
* */
HttpClient httpcl = new DefaultHttpClient();
HttpPost httppst = new HttpPost("https://xxxxxxxxxxx/myfile/geo");
//geo is a JSON file on server
try {
// Add your data
List<NameValuePair> nameValuePairz = new ArrayList<NameValuePair>(4);
nameValuePairz.add(new BasicNameValuePair("geo-type","geo..me"));
nameValuePairz.add(new BasicNameValuePair("long",longi));
nameValuePairz.add(new BasicNameValuePair("lat",lati));
nameValuePairz.add(new BasicNameValuePair("imei",imei));
//
httppst.setEntity(new UrlEncodedFormEntity(nameValuePairz));
// Execute HTTP Post Request
HttpResponse response = httpcl.execute(httppst);
String responseBody0 = EntityUtils.toString(response.getEntity());
if(responseBody0.trim().equals("")){
Toast.makeText(ctx, "No Response. Check internet connectivity : "+responseBody0.trim(), Toast.LENGTH_LONG).show();
}else{
Toast.makeText(ctx, "Response : "+responseBody0.trim(), Toast.LENGTH_LONG).show();
if(responseBody0.trim().equals("ERROR")){
Toast.makeText(ctx, "An Error occured. Contact the administrator", Toast.LENGTH_LONG).show();
return;
}
if(responseBody0.trim().equals("NONE")){
Toast.makeText(ctx, "Login Invalid", Toast.LENGTH_LONG).show();
return;
}
return;
}
} catch (ClientProtocolException e) {
Toast.makeText(ctx, e.getMessage(), Toast.LENGTH_LONG).show();
} catch (IOException e) {
Toast.makeText(ctx, e.getMessage(), Toast.LENGTH_LONG).show();
}
}
当我评论代码以发布“toast”时,代码运行得很好,但是一旦我调用整个方法,应用程序就会崩溃。
最佳答案
两种可能性:
它在后台线程中运行。
该行中的一个变量为 null
关于java - Android 代码发布到服务器时出错,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/27314654/