Android JSON a PHP Server y volver
¿Puede alguien ofrecer una solución a lo anterior?
Por ahora, lo único que quiero hacer es enviar una solicitud JSON a mi servidor (por ejemplo: {picture: jpg, color: green}), tener el acceso PHP a la base de datos y luego devolver un nombre de archivo desde la base de datos del servidor Para descargar el archivo – no es un problema)
- ¿Cómo puedo enviar un mensaje a WhatsApp Group y sincronizar contactos con WhatsAPI?
- Aplicación Web de Android RESTful con Zend Framework
- Uploader de archivos Android con php de servidor
- No recibe mensajes del servidor GCM
- Detectar navegador de aplicaciones (WebView) con PHP / Javascript
¿Alguien puede sugerir en primer lugar un Android Framework que me ayude con esto. – POST JSON a un archivo php en mi servidor
Y en segundo lugar, un script php que convertirá el JSON en formato legible php (acceder a la base de datos no es un problema, pero no puedo obtener el JSON en un objeto para luego coincidir con la base de datos)
Gracias
EDITAR
Gracias por los enlaces a continuación, pero no estoy pidiendo esto por pereza, es por la molestia de mi aparente incapacidad de enviar una cadena de JSON y salir de la respuesta correcta.
Así que déjame mostrar algún código y averiguar por qué lo que creo que debería suceder no está sucediendo:
GET URL (Usando GET para que pueda mostrar el trabajo)
http://example.com/process/json.php?service=GOOGLE <?php // decode JSON string to PHP object $decoded = json_decode($_GET['json']); // I'm not sure of which of the below should work but i've tried both. $myService = $decoded->service; //$service should equal: GOOGLE $myService = $decoded->{'service'}; //$service should equal: GOOGLE // but the result is always $myService = null - why? ?>
- Java / Android HttpURLConnection setChunkedStreamingMode no funciona con todos los servidores PHP
- Publicar el parámetro en el archivo PHP
- Robusta transferencia de archivos desde dispositivos móviles al servidor
- ¿Cómo implementar la comunicación entre la aplicación cliente Java (Android) y la aplicación de servidor PHP?
- Obtener información de la aplicación de un APK mediante script PHP
- Seguridad para la aplicación android para comunicarse con webservice
- Cómo guardar la imagen a través de la captura en android a php?
- Permitir que el usuario que utiliza el navegador móvil para enviar el código de producto que quieren por SMS
OK, tengo el PHP. El siguiente recupera datos POST ed y devuelve el servicio
<?php $data = file_get_contents('php://input'); $json = json_decode($data); $service = $json->{'service'}; print $service; ?>
Y el código de Android:
En onCreate ()
path = "http://example.com/process/json.php"; HttpClient client = new DefaultHttpClient(); HttpConnectionParams.setConnectionTimeout(client.getParams(), 10000); // Timeout // Limit HttpResponse response; JSONObject json = new JSONObject(); try { HttpPost post = new HttpPost(path); json.put("service", "GOOGLE"); Log.i("jason Object", json.toString()); post.setHeader("json", json.toString()); StringEntity se = new StringEntity(json.toString()); se.setContentEncoding(new BasicHeader(HTTP.CONTENT_TYPE, "application/json")); post.setEntity(se); response = client.execute(post); /* Checking response */ if (response != null) { InputStream in = response.getEntity().getContent(); // Get the // data in // the // entity String a = convertStreamToString(in); Log.i("Read from Server", a); } } catch (Exception e) { e.printStackTrace(); }
Y donde quieras
private static String convertStreamToString(InputStream is) { BufferedReader reader = new BufferedReader(new InputStreamReader(is)); StringBuilder sb = new StringBuilder(); String line = null; try { while ((line = reader.readLine()) != null) { sb.append(line + "\n"); } } catch (IOException e) { e.printStackTrace(); } finally { try { is.close(); } catch (IOException e) { e.printStackTrace(); } } return sb.toString(); }
En el lado de PHP, todo lo que necesita es el json_decode incorporado , que deserializará su json y devolverá un objeto (o una matriz asociativa si pasa true
como segundo argumento).
En el lado de Android, es probable que utilice las bibliotecas HTTP para ejecutar su solicitud HTTP y procesar la respuesta. (Pero alguien que realmente está desarrollado para Android puede corregirme)
- Base de datos Firebase Permiso denegado con permisos de lectura / escritura establecidos en true
- Cómo obtener el número de teléfono de usuario de Facebook en android