Error en httppost con Android
He mirado a través de la mayoría de los q / a aquí en Stackoverflow ya través de Internet para la respuesta antes de que decidí llegar aquí ..
Estoy tratando de llamar a una página php en mi sitio web y sigo recibiendo este error cuando el httpclient.execute se llama:
- El navegador de Android rechaza contenido-disposición: ¿en línea?
- Cliente-Servidor-Comunicación con php y android
- Android push notificación a muchos dispositivos a la vez usando google c2dm
- SyncML con Android y servicio Web de PHP
- Verificar la firma SHA1withRSA generada en Java (Android) con phpseclib
08-19 12:42:33.889: E/AndroidRuntime(5340): FATAL EXCEPTION: main 08-19 12:42:33.889: E/AndroidRuntime(5340): java.lang.IllegalStateException: Could not execute method of the activity 08-19 12:42:33.889: E/AndroidRuntime(5340): at android.view.View$1.onClick(View.java:3046)
Así que leí un mensaje y una cosa me aseguré de que tenía el
<uses-permission android:name="android.permission.INTERNET" />
Añadido a mi manifiesto (lo que hago) a continuación es un snip-it que tengo de Internet que llamo desde un botón de evento onclick:
HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost("http://mywebsite/scripts/test.php"); try { // Add your data List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(3); nameValuePairs.add(new BasicNameValuePair("function", "1")); nameValuePairs.add(new BasicNameValuePair("user", "username")); nameValuePairs.add(new BasicNameValuePair("pass", "123")); httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs)); // Execute HTTP Post Request HttpResponse response = httpclient.execute(httppost); Log.e("log_tag", response.toString()); } catch (ClientProtocolException e) { Log.e("log_tag", e.toString()); } catch (IOException e) { Log.e("log_tag", e.toString()); }
Registro completo:
08-19 12:42:16.365: I/System.out(5340): Sending WAIT chunk 08-19 12:42:16.365: W/ActivityThread(5340): Application com.example.equinetravels is waiting for the debugger on port 8100... 08-19 12:42:16.373: I/dalvikvm(5340): Debugger is active 08-19 12:42:16.373: I/System.out(5340): Debugger has connected 08-19 12:42:16.373: I/System.out(5340): waiting for debugger to settle... 08-19 12:42:16.576: I/System.out(5340): waiting for debugger to settle... 08-19 12:42:16.779: I/System.out(5340): waiting for debugger to settle... 08-19 12:42:16.982: I/System.out(5340): waiting for debugger to settle... 08-19 12:42:17.186: I/System.out(5340): waiting for debugger to settle... 08-19 12:42:17.381: I/System.out(5340): waiting for debugger to settle... 08-19 12:42:17.584: I/System.out(5340): waiting for debugger to settle... 08-19 12:42:17.779: I/System.out(5340): waiting for debugger to settle... 08-19 12:42:17.982: I/System.out(5340): waiting for debugger to settle... 08-19 12:42:18.186: I/System.out(5340): waiting for debugger to settle... 08-19 12:42:18.381: I/System.out(5340): waiting for debugger to settle... 08-19 12:42:18.584: I/System.out(5340): waiting for debugger to settle... 08-19 12:42:18.787: I/System.out(5340): debugger has settled (1432) 08-19 12:42:19.037: D/libEGL(5340): loaded /system/lib/egl/libGLES_android.so 08-19 12:42:19.045: D/libEGL(5340): loaded /vendor/lib/egl/libEGL_POWERVR_SGX540_120.so 08-19 12:42:19.053: D/libEGL(5340): loaded /vendor/lib/egl/libGLESv1_CM_POWERVR_SGX540_120.so 08-19 12:42:19.053: D/libEGL(5340): loaded /vendor/lib/egl/libGLESv2_POWERVR_SGX540_120.so 08-19 12:42:19.162: D/OpenGLRenderer(5340): Enabling debug mode 0 08-19 12:42:33.834: D/AndroidRuntime(5340): Shutting down VM 08-19 12:42:33.834: W/dalvikvm(5340): threadid=1: thread exiting with uncaught exception (group=0x40ab6210) 08-19 12:42:33.889: E/AndroidRuntime(5340): FATAL EXCEPTION: main 08-19 12:42:33.889: E/AndroidRuntime(5340): java.lang.IllegalStateException: Could not execute method of the activity 08-19 12:42:33.889: E/AndroidRuntime(5340): at android.view.View$1.onClick(View.java:3046) 08-19 12:42:33.889: E/AndroidRuntime(5340): at android.view.View.performClick(View.java:3526) 08-19 12:42:33.889: E/AndroidRuntime(5340): at android.view.View$PerformClick.run(View.java:14133) 08-19 12:42:33.889: E/AndroidRuntime(5340): at android.os.Handler.handleCallback(Handler.java:605) 08-19 12:42:33.889: E/AndroidRuntime(5340): at android.os.Handler.dispatchMessage(Handler.java:92) 08-19 12:42:33.889: E/AndroidRuntime(5340): at android.os.Looper.loop(Looper.java:137) 08-19 12:42:33.889: E/AndroidRuntime(5340): at android.app.ActivityThread.main(ActivityThread.java:4697) 08-19 12:42:33.889: E/AndroidRuntime(5340): at java.lang.reflect.Method.invokeNative(Native Method) 08-19 12:42:33.889: E/AndroidRuntime(5340): at java.lang.reflect.Method.invoke(Method.java:511) 08-19 12:42:33.889: E/AndroidRuntime(5340): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:787) 08-19 12:42:33.889: E/AndroidRuntime(5340): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:554) 08-19 12:42:33.889: E/AndroidRuntime(5340): at dalvik.system.NativeStart.main(Native Method) 08-19 12:42:33.889: E/AndroidRuntime(5340): Caused by: java.lang.reflect.InvocationTargetException 08-19 12:42:33.889: E/AndroidRuntime(5340): at java.lang.reflect.Method.invokeNative(Native Method) 08-19 12:42:33.889: E/AndroidRuntime(5340): at java.lang.reflect.Method.invoke(Method.java:511) 08-19 12:42:33.889: E/AndroidRuntime(5340): at android.view.View$1.onClick(View.java:3041) 08-19 12:42:33.889: E/AndroidRuntime(5340): ... 11 more 08-19 12:42:33.889: E/AndroidRuntime(5340): Caused by: android.os.NetworkOnMainThreadException 08-19 12:42:33.889: E/AndroidRuntime(5340): at android.os.StrictMode$AndroidBlockGuardPolicy.onNetwork(StrictMode.java:1119) 08-19 12:42:33.889: E/AndroidRuntime(5340): at java.net.InetAddress.lookupHostByName(InetAddress.java:441) 08-19 12:42:33.889: E/AndroidRuntime(5340): at java.net.InetAddress.getAllByNameImpl(InetAddress.java:243) 08-19 12:42:33.889: E/AndroidRuntime(5340): at java.net.InetAddress.getAllByName(InetAddress.java:220) 08-19 12:42:33.889: E/AndroidRuntime(5340): at org.apache.http.impl.conn.DefaultClientConnectionOperator.openConnection(DefaultClientConnectionOperator.java:137) 08-19 12:42:33.889: E/AndroidRuntime(5340): at org.apache.http.impl.conn.AbstractPoolEntry.open(AbstractPoolEntry.java:164) 08-19 12:42:33.889: E/AndroidRuntime(5340): at org.apache.http.impl.conn.AbstractPooledConnAdapter.open(AbstractPooledConnAdapter.java:119) 08-19 12:42:33.889: E/AndroidRuntime(5340): at org.apache.http.impl.client.DefaultRequestDirector.execute(DefaultRequestDirector.java:360) 08-19 12:42:33.889: E/AndroidRuntime(5340): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:555) 08-19 12:42:33.889: E/AndroidRuntime(5340): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:487) 08-19 12:42:33.889: E/AndroidRuntime(5340): at org.apache.http.impl.client.AbstractHttpClient.execute(AbstractHttpClient.java:465) 08-19 12:42:33.889: E/AndroidRuntime(5340): at com.example.equinetravels.MainActivity.postData(MainActivity.java:79) 08-19 12:42:33.889: E/AndroidRuntime(5340): at com.example.equinetravels.MainActivity.sendLogon(MainActivity.java:47) 08-19 12:42:33.889: E/AndroidRuntime(5340): ... 14 more
- Cómo validar las credenciales de inicio de sesión de usuario en android con PHP, MySql con la ayuda de json
- ¿Cómo puedo calcular el hash SHA-256 de una cadena en Android?
- FCM push notification issue: - "error": "NotRegistered"
- Extraer datos de la clave pública de RSA
- Cómo analizar GCM responder a eliminar identificación de registro no válido del servidor con php
- SHA1 en Java y PHP con resultados diferentes
- Envío de "alerta / notificación" al teléfono celular desde el sitio web
- Enviar JSON de Java a PHP a través de Post
Parece que recibes una excepción de NetworkOnMainThreadException
Intente ejecutarlo en un hilo diferente?
De los Javadocs:
"La excepción que se activa cuando una aplicación intenta realizar una operación de red en su subproceso principal.
Esto solo se activa para aplicaciones que apuntan al SDK Honeycomb o superior. Las aplicaciones que se orientan a versiones anteriores de SDK tienen permiso para realizar redes en sus subprocesos de bucle de eventos principales, pero es muy desalentador. Véase el documento Diseño para la capacidad de respuesta. "
Se trata de una NetworkOnMainThreadException … Está intentando realizar una operación de red en el subproceso principal, no está permitido en el subproceso principal de la interfaz de usuario de la aplicación de Android.
Para solucionar esto, utilice AsyncTask o Thread y coloque su Operación relacionada con la red en ella.
- Listado de listas de anuncios de Android y sección Mes y lista de fechas
- Los cambios en el makefile importado no activan la reconstrucción en android-ndk