Android httpclient.execute excepción

Cuando la prueba en el simulador, funciona, pero cuando la prueba con mi dispositivo (galaxia s3), se mantiene lanzando errores, cuando durante el siguiente código:

HttpResponse response; response = httpclient.execute(httppost); 

Las excepciones:

 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) 

One Solution collect form web for “Android httpclient.execute excepción”

Esta excepción NetworkingOnMainThread se activa cuando, bueno, realiza actividad de red en el subproceso de UI. Tiene potencial de bloquear el hilo principal, ya que espera hasta que la conexión de red termine antes de reanudar, bloqueando así el hilo.

Tienes 2 opciones.

1 – Mueva toda su red a un hilo diferente. La solución más común y fácil es AsyncTask Pero hay otras opciones, como Handlers . Esta es la opción recomendada.

2- Puede cambiar la directiva para permitir la creación de redes en el subproceso de la interfaz de usuario.

Sólo tiene que añadir este código

 StrictMode.ThreadPolicy policy = new StrictMode.ThreadPolicy.Builder().permitAll().build(); StrictMode.setThreadPolicy(policy); 

Esta opción no se recomienda, ya que simplemente omite la excepción. La excepción es lanzada por una razón. Yo elegiría la primera opción. Hay muchos tutorial sobre cómo implementar AsyncTask .

Buena suerte

  • Samsung Count Badge
  • SPH-L710 (Sprint Galaxy S III) corriendo 4.4.2 declaraciones erróneas xdpi y ydpi
  • Android MediaPlayer no se reproduce en Galaxy S6 con Android 5.1.1
  • excepción java.lang.NoClassDefFoundError en algunos dispositivos
  • ¿Cómo grabar vídeo de ancho y altura en el dispositivo samsung android?
  • Acceso de Android para Android 5 dispositivos Samsung
  • Cualquier solución para Samsung Galaxy ICS 4.0.3 LPQ firmware enviar dos mensajes de texto?
  • Detección del navegador Android Phone
  • Cómo deshabilitar las opciones de desarrollador en samsung galaxy s4?
  • Mensaje "Tipo de etiqueta NFC no admitido"
  • Los dispositivos Samsung tienen una versión extraña de Google Play Services y no funciona correctamente
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.