我想使当前的4.0应用程序与2.1的Android设备兼容。 我以前在调用HttpResponse时发生异常,但我不知道为什么。 我所知道的是,对于API 8,我需要注释掉两行以避免错误,并且还需要进行更多的调整,而且我很好。我不完全确定这些行是做什么的,或者它们是问题的原因(因为我只是修改了一些教程中的代码段),但代码现在正在工作......这些是我注释的行:不同的行为调试vs释放模式android-释放模式冻结
/*StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build();
StrictMode.setThreadPolicy(policy);
*/
但处于调试模式。一旦我尝试释放模式,我会到达应用程序冻结之前的地方......我将一些Toast消息作为调试消息来检查发布模式,但它们没有显示(也许是因为我有一个progressDialog正在进行)。
主要的问题是,在调试模式下它现在工作正常(在两个不同的设备上测试),但发布模式一直存在问题(我甚至不能调试它)。
这里是我认为我的应用程序失败的代码。在调试模式下,它在调用HttpResponse时失败。有任何想法吗?
public String Send(String jsonString, String url, Context ctxt)
{
try{
System.out.println(jsonString);
HttpPost request = new HttpPost(url);
request.setHeader("Accept", "text/xml");
request.setHeader("Host", "www.my-host.com");
request.setHeader("Content-type", "application/json");
StringEntity stringEnt = new StringEntity(jsonString);
stringEnt.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE, "application/json"));
request.setEntity(stringEnt);
//instantiates httpclient to make request
DefaultHttpClient httpclient = new DefaultHttpClient();
HttpResponse response = httpclient.execute(request);
HttpEntity responseEntity = response.getEntity();
//Obtenemos el xml de la respuesta
String responseXML = EntityUtils.toString(responseEntity);
return responseXML;
}
catch(Exception e)
{
Toast.makeText(ctxt, "Error registering user", Toast.LENGTH_SHORT).show();
Log.i("login", "" + e.getMessage());
return "error";
}
}
}
感谢
StrictMode不工作以前的API级别9. Android 2.1是API 7 – marimaf 2013-04-26 19:27:05
编辑它,谢谢。 – marimaf 2013-04-26 19:41:30