我想使當前的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