Conexion a servidor desde android
-
Upload
jose-pablo-ovalle -
Category
Technology
-
view
8.076 -
download
5
description
Transcript of Conexion a servidor desde android
![Page 1: Conexion a servidor desde android](https://reader035.fdocumento.com/reader035/viewer/2022062219/553adca8550346114c8b460c/html5/thumbnails/1.jpg)
![Page 2: Conexion a servidor desde android](https://reader035.fdocumento.com/reader035/viewer/2022062219/553adca8550346114c8b460c/html5/thumbnails/2.jpg)
?
![Page 3: Conexion a servidor desde android](https://reader035.fdocumento.com/reader035/viewer/2022062219/553adca8550346114c8b460c/html5/thumbnails/3.jpg)
¿Qué necesitamos?
Aplicación Android
Aplicación Web
Base de datos
![Page 4: Conexion a servidor desde android](https://reader035.fdocumento.com/reader035/viewer/2022062219/553adca8550346114c8b460c/html5/thumbnails/4.jpg)
Manos a la obra!
![Page 5: Conexion a servidor desde android](https://reader035.fdocumento.com/reader035/viewer/2022062219/553adca8550346114c8b460c/html5/thumbnails/5.jpg)
Flujo general
Usuario ingresa registro
Iniciar conexión a
servidor
Enviar registro
Recibir registro
Almacenar en base de
datos
Enviar registros
almacenados
Recibir y mostrar registros
![Page 6: Conexion a servidor desde android](https://reader035.fdocumento.com/reader035/viewer/2022062219/553adca8550346114c8b460c/html5/thumbnails/6.jpg)
JSON
• JavaScript Object Notation• Define un formato para el almacenamiento e
intercambio de información• Alternativa a XML en AJAX• Utilizado por Google, Yahoo, Facebook, Twitter• Información técnica:– JSON Object– JSON Array
![Page 7: Conexion a servidor desde android](https://reader035.fdocumento.com/reader035/viewer/2022062219/553adca8550346114c8b460c/html5/thumbnails/7.jpg)
JSON
• Ejemplo de JSON Array
• Ejemplo de JSON Object
• Ejemplo de JSON Array con JSON Object
["Elemento 1","Elemento 2"]
{ "Campo 1":"Valor 1" , "Campo 2":"Valor 2" }
{ "empleados": [{ "nombre":"Juan" , "apellido":"Perez" }, { "nombre":"Ana" , "apellido":"Gomez" }, { "nombre":"Pedro" , "apellido":"Hernandez" }] }
![Page 8: Conexion a servidor desde android](https://reader035.fdocumento.com/reader035/viewer/2022062219/553adca8550346114c8b460c/html5/thumbnails/8.jpg)
Transmisión de datos
![Page 9: Conexion a servidor desde android](https://reader035.fdocumento.com/reader035/viewer/2022062219/553adca8550346114c8b460c/html5/thumbnails/9.jpg)
¿Qué hay en el servidor?
• URL: http://pruebaandroid.comyr.com/insertar.php
![Page 10: Conexion a servidor desde android](https://reader035.fdocumento.com/reader035/viewer/2022062219/553adca8550346114c8b460c/html5/thumbnails/10.jpg)
PHP
• Recepción de datos
• Envío de datos
$nombre = $_POST['nombre'];$apellido = $_POST['apellido'];insertarPersona($nombre, $apellido);
$arrPersonas = array();llenarArreglo();echo json_encode($arrPersonas);
![Page 11: Conexion a servidor desde android](https://reader035.fdocumento.com/reader035/viewer/2022062219/553adca8550346114c8b460c/html5/thumbnails/11.jpg)
¿Qué hay en Android?
![Page 12: Conexion a servidor desde android](https://reader035.fdocumento.com/reader035/viewer/2022062219/553adca8550346114c8b460c/html5/thumbnails/12.jpg)
Desarrollo de App
Permiso Internet
Crear tarea asíncrona
Inicializar conexión
Agregar parámetros Post Get
Convertir a string
Decodificar JSON
![Page 13: Conexion a servidor desde android](https://reader035.fdocumento.com/reader035/viewer/2022062219/553adca8550346114c8b460c/html5/thumbnails/13.jpg)
Archivo manifiesto
• Agregar permiso de conexión a internet
<uses-permission android:name="android.permission.INTERNET"/>
![Page 14: Conexion a servidor desde android](https://reader035.fdocumento.com/reader035/viewer/2022062219/553adca8550346114c8b460c/html5/thumbnails/14.jpg)
Tareas asíncronas en Android
• AsyncTaskspublic class Tarea extends AsyncTask<Params, Progress, Result>{ protected Result doInBackground(Params... p) { }
protected void onPreExecute() { }
protected void onProgressUpdate (Progress... values) { }
protected void onPostExecute (Result result) { }}
![Page 15: Conexion a servidor desde android](https://reader035.fdocumento.com/reader035/viewer/2022062219/553adca8550346114c8b460c/html5/thumbnails/15.jpg)
Comunicación con servidor
• Inicializar
HttpClient httpclient = new DefaultHttpClient();HttpPost httppost = new HttpPost("http://pruebaandroid.comyr.com/insertar.php");
![Page 16: Conexion a servidor desde android](https://reader035.fdocumento.com/reader035/viewer/2022062219/553adca8550346114c8b460c/html5/thumbnails/16.jpg)
Comunicación con servidor
• Agregar parámetros para el Post
List<NameValuePair> nameValuePairs = new ArrayList<NameValuePair>(2);nameValuePairs.add(new BasicNameValuePair("nombre", nombre));nameValuePairs.add(new BasicNameValuePair("apellido", apellido));httppost.setEntity(new UrlEncodedFormEntity(nameValuePairs));
![Page 17: Conexion a servidor desde android](https://reader035.fdocumento.com/reader035/viewer/2022062219/553adca8550346114c8b460c/html5/thumbnails/17.jpg)
Comunicación con servidor
• Ejecutar la petición POST:
• Obtener la respuesta del servidor:
• Transformar el InputStream a String, utilizando la función convertStreamToString() tomada de:– senior.ceng.metu.edu.tr
HttpResponse response = httpclient.execute(httppost);
InputStream is=response.getEntity().getContent();
String datos = convertStreamToString(is);
![Page 18: Conexion a servidor desde android](https://reader035.fdocumento.com/reader035/viewer/2022062219/553adca8550346114c8b460c/html5/thumbnails/18.jpg)
Decodificar datos JSON• Crear un arreglo JSON vacío
• Crear un arreglo JSON a partir de un String
• Obtener dato del arreglo JSON
JSONArray jsonArreglo = new JSONArray();
try {jsonArreglo = new JSONArray(strMisDatos);} catch (JSONException e1) {// TODO Auto-generated catch blocke1.printStackTrace();}
jsonArreglo.get(i).toString();
![Page 19: Conexion a servidor desde android](https://reader035.fdocumento.com/reader035/viewer/2022062219/553adca8550346114c8b460c/html5/thumbnails/19.jpg)
Código fuente disponible en: