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:
- tools / android devuelto no puede encontrar sdkmanager.jar
- El navegador de Android rechaza contenido-disposición: ¿en línea?
- Comprueba si la solicitud HTTP proviene de mi aplicación Android
- Cargar archivo de imágenes múltiples mediante HttpURLConnection
- Envío de "alerta / notificación" al teléfono celular desde el sitio web
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
- Ejecutar php script almacenado en el servidor?
- Recuperar la imagen de mysql-php (android)
- No se puede almacenar emoji en la base de datos
- HTTP POST en Android
- Subir una imagen de Android a la base de datos MySQL
- ¿Cómo guarda de forma segura una orden en la nube, si no puede verificar el pago desde la nube?
- Cómo utilizar la sesión para trabajar entre php webservices y android
- La conexión a LocalHost / 10.0.2.2 de Android Emulator ha caducado
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