Khi tôi thử nghiệm trên mô phỏng, nó hoạt động, nhưng khi thử nghiệm với điện thoại của mình (galaxy s3), nó giữ ném lỗi, khi trong đoạn mã sau:android httpclient.execute ngoại lệ
HttpResponse response;
response = httpclient.execute(httppost);
các trường hợp ngoại lệ:
09-03 08:16:49.018: E/AndroidRuntime(24254): java.lang.RuntimeException: Unable to start activity ComponentInfo{sg.dianping/sg.dianping.activity.ItemListActivity}: android.os.NetworkOnMainThreadException
09-03 08:16:49.018: E/AndroidRuntime(24254): at android.app.ActivityThread.performLaunchActivity(ActivityThread.java:1970)
09-03 08:16:49.018: E/AndroidRuntime(24254): at android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:1995)
09-03 08:16:49.018: E/AndroidRuntime(24254): at android.app.ActivityThread.access$600(ActivityThread.java:128)
09-03 08:16:49.018: E/AndroidRuntime(24254): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1161)
09-03 08:16:49.018: E/AndroidRuntime(24254): at android.os.Handler.dispatchMessage(Handler.java:99)
09-03 08:16:49.018: E/AndroidRuntime(24254): at android.os.Looper.loop(Looper.java:137)
09-03 08:16:49.018: E/AndroidRuntime(24254): at android.app.ActivityThread.main(ActivityThread.java:4517)
09-03 08:16:49.018: E/AndroidRuntime(24254): at java.lang.reflect.Method.invokeNative(Native Method)
09-03 08:16:49.018: E/AndroidRuntime(24254): at java.lang.reflect.Method.invoke(Method.java:511)
09-03 08:16:49.018: E/AndroidRuntime(24254): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:993)
09-03 08:16:49.018: E/AndroidRuntime(24254): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:760)
09-03 08:16:49.018: E/AndroidRuntime(24254): at dalvik.system.NativeStart.main(Native Method)
09-03 08:16:49.018: E/AndroidRuntime(24254): Caused by: android.os.NetworkOnMainThreadException
09-03 08:16:49.018: E/AndroidRuntime(24254): at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1099)
09-03 08:16:49.018: E/AndroidRuntime(24254): at java.net.InetAddress.lookupHostByName(InetAddress.java:391)
Câu trả lời hoàn hảo. Tôi sẽ không đề nghị phương pháp thứ hai. – Infinity
Cảm ơn bạn, tôi cũng tìm thấy vấn đề này, nó hoạt động trong giả lập bởi vì phiên bản sdk là android 2.3. – John
Có thể trong Android 2.3 nó đã được cho phép. Ngoài ra, vui lòng xem xét chấp nhận câu trả lời nếu đó là câu trả lời đúng. Nó giúp cộng đồng. –