`我越來越致命異常:主要在Android和應用程序沒有得到執行在模擬器上?
public class JsonExampleActivity extends Activity {
/** Called when the activity is first created. */
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_json_example);
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://codeincloud.tk/json_android_example.php");
TextView textView = (TextView)findViewById(R.id.textView1);
try {
HttpResponse response = httpclient.execute(httppost);
String jsonResult = inputStreamToString(response.getEntity().getContent()).toString();
JSONObject object = new JSONObject(jsonResult);
String name = object.getString("name");
String verion = object.getString("version");
textView.setText(name + " - " + verion);
}
catch (JSONException e) {
e.printStackTrace();
}
catch (ClientProtocolException e) {
e.printStackTrace();
}
catch (IOException e) {
e.printStackTrace();
}
}
private StringBuilder inputStreamToString(InputStream is) {
String rLine = "";
StringBuilder answer = new StringBuilder();
BufferedReader rd = new BufferedReader(new InputStreamReader(is));
try {
while ((rLine = rd.readLine()) != null)
answer.append(rLine);
}
}
catch (IOException e) {
e.printStackTrace();
}
return answer;
}
}`
你正在做的網絡I /主(UI)螺紋O。這已經是一件壞事了。您的POST請求可能需要很長時間才能執行,同時您已阻止主線程。 – 2013-05-13 07:30:53
正如@大衛建議,你應該創建一個新的線程執行網絡I/O操作(考慮使用AsyncTask http://developer.android.com/reference/android/os/AsyncTask.html) – GVillani82 2013-05-13 07:42:13
也許你可以發佈堆棧跟蹤的錯誤,所以我們可以看到問題是什麼。 – 2013-05-13 07:56:14