SlideShare una empresa de Scribd logo
Conexion a servidor desde android
Conexion a servidor desde android
¿Qué necesitamos?
Aplicación Android
Aplicación Web
Base de datos
Manos a la obra!
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
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
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" }
] }
Transmisión de datos
¿Qué hay en el servidor?
• URL:
http://pruebaandroid.comyr.com/insertar.php
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);
¿Qué hay en Android?
Desarrollo de App
Permiso
Internet
Crear tarea
asíncrona
Inicializar
conexión
Agregar
parámetros
Post Get
Convertir a
string
Decodificar
JSON
Archivo manifiesto
• Agregar permiso de conexión a internet
<uses-permission android:name="android.permission.INTERNET"/>
Tareas asíncronas en Android
• AsyncTasks
public 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)
{ }
}
Comunicación con servidor
• Inicializar
HttpClient httpclient = new DefaultHttpClient();
HttpPost httppost = new HttpPost("http://pruebaandroid.comyr.com/insertar.php");
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));
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);
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 block
e1.printStackTrace();
}
jsonArreglo.get(i).toString();
Código fuente disponible en:

Más contenido relacionado

PPTX
Express js
PPT
Soap and Rest
PDF
Analisis
PPT
Lenguaje Unificado de Modelado
PPTX
Fundamentos de BD - Unidad 2 Modelo Entidad Relacion
PPT
Reflection in C Sharp
Express js
Soap and Rest
Analisis
Lenguaje Unificado de Modelado
Fundamentos de BD - Unidad 2 Modelo Entidad Relacion
Reflection in C Sharp

La actualidad más candente (20)

PPTX
Java script arrays
PDF
Building RESTful applications using Spring MVC
PDF
Web Worker, Service Worker and Worklets
PPT
Javascript
PPTX
Angular tutorial
PPT
JavaScript Functions
PPTX
jQuery from the very beginning
PDF
Introducción a la programación orientada objetos
PPTX
Advanced angular
PPTX
Presentacion de Modelo entidad -relación de Base de Datos
PDF
Aprendiendo REDIS en 20 minutos
PPTX
Bd no sq ldocumento
PPT
Advanced JavaScript
PPTX
JDBC - JPA - Spring Data
PPTX
Java – ejercicio 2
PPT
MODELO RELACIONAL
PPTX
Fundamentos de BD - unidad 3 modelo relacional
PDF
Angular Notes.pdf
PDF
IT2255 Web Essentials - Unit III Client-Side Processing and Scripting
PDF
Regular expression in javascript
Java script arrays
Building RESTful applications using Spring MVC
Web Worker, Service Worker and Worklets
Javascript
Angular tutorial
JavaScript Functions
jQuery from the very beginning
Introducción a la programación orientada objetos
Advanced angular
Presentacion de Modelo entidad -relación de Base de Datos
Aprendiendo REDIS en 20 minutos
Bd no sq ldocumento
Advanced JavaScript
JDBC - JPA - Spring Data
Java – ejercicio 2
MODELO RELACIONAL
Fundamentos de BD - unidad 3 modelo relacional
Angular Notes.pdf
IT2255 Web Essentials - Unit III Client-Side Processing and Scripting
Regular expression in javascript
Publicidad

Similar a Conexion a servidor desde android (20)

PPTX
16 Alternativas XML
PPTX
Automatic API REST Droidcon
PDF
Curso de Desarrollo Web de Platzi
PPTX
Taller Android Party: Automatic API REST + Notificaciones PUSH
PDF
Web services restful con JAX-RS
PDF
03. Introduccion a JavaScript y JQuery
PPTX
Presentacion Practico de Base de Datos.pptx
PDF
Operadores para json en pg 9.2
PPTX
Introducción a REST - SymfonyVLC
PPTX
Creacion Apirest Back{4}app
PPT
01 Ext Js Introduccion
PDF
RESTful Para todos by Diego Sapriza
PDF
Seminario html5
PPT
Ajax Huancayo
PPTX
Presentación Grupo 28 Tema 5 hablando so
PPTX
introduccion a Ajax
PDF
Servicios REST - PucelaTechDay
PDF
Presentacionh HDD Herramienta de Documentalista
PDF
Presentacion Proyecto Herramienta de Documentalista
16 Alternativas XML
Automatic API REST Droidcon
Curso de Desarrollo Web de Platzi
Taller Android Party: Automatic API REST + Notificaciones PUSH
Web services restful con JAX-RS
03. Introduccion a JavaScript y JQuery
Presentacion Practico de Base de Datos.pptx
Operadores para json en pg 9.2
Introducción a REST - SymfonyVLC
Creacion Apirest Back{4}app
01 Ext Js Introduccion
RESTful Para todos by Diego Sapriza
Seminario html5
Ajax Huancayo
Presentación Grupo 28 Tema 5 hablando so
introduccion a Ajax
Servicios REST - PucelaTechDay
Presentacionh HDD Herramienta de Documentalista
Presentacion Proyecto Herramienta de Documentalista
Publicidad

Último (20)

PDF
ACTIVIDAD 2.pdf j
PDF
Liceo departamental MICRO BIT (1) 2.pdfbbbnn
PDF
Trabajo Tecnología Diagrama De Pareto.pdf
PDF
Aristoteles-y-su-forma-de-entender-el-conocimiento-y-las-personas.pdf
PDF
Chile Claro Swap Project Guidebook Version 1.4.1b.pdf
PPTX
Customer Events - DeepRacer L200_ES.pptx
PDF
diagrama de pareto.pdf valerie giraldo diaz
PDF
Conceptos básicos de programación tecnología.pdf
PDF
Temas y subtemas de las fichas 1 y 2.pdf
PDF
La electricidad y la electrónica Tecno-Informática
PDF
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
PPTX
ExcelTablasDinamicas02nivelintermedio.pptx
PPTX
Descubre los Dispositivos de Salida y Como usar
PDF
El candado imposible de abrir | Seguridad máxima explicada - Revista Técnica ...
PDF
Estrategia de apoyo tecnología miguel angel solis
PDF
Estrategia de apoyo tecnología grado 9-3
PDF
Diseño de Sistema de VideoVigilancia en la Plataforma de Telecom-USC-ar.pdf
PDF
La electricidad y la electrónica por Antonia Diaz Bernal
PDF
Las tics en la sociedad como a cambiado nuestro entorno.pdf
DOCX
#USOLASTICPARA Proyecto integrador M1S4PI JuarezGonzalez _Maria_M1S4PI.doc...
ACTIVIDAD 2.pdf j
Liceo departamental MICRO BIT (1) 2.pdfbbbnn
Trabajo Tecnología Diagrama De Pareto.pdf
Aristoteles-y-su-forma-de-entender-el-conocimiento-y-las-personas.pdf
Chile Claro Swap Project Guidebook Version 1.4.1b.pdf
Customer Events - DeepRacer L200_ES.pptx
diagrama de pareto.pdf valerie giraldo diaz
Conceptos básicos de programación tecnología.pdf
Temas y subtemas de las fichas 1 y 2.pdf
La electricidad y la electrónica Tecno-Informática
5.1 Pinch y Bijker en libro Actos, actores y artefactos de Bunch Thomas (coor...
ExcelTablasDinamicas02nivelintermedio.pptx
Descubre los Dispositivos de Salida y Como usar
El candado imposible de abrir | Seguridad máxima explicada - Revista Técnica ...
Estrategia de apoyo tecnología miguel angel solis
Estrategia de apoyo tecnología grado 9-3
Diseño de Sistema de VideoVigilancia en la Plataforma de Telecom-USC-ar.pdf
La electricidad y la electrónica por Antonia Diaz Bernal
Las tics en la sociedad como a cambiado nuestro entorno.pdf
#USOLASTICPARA Proyecto integrador M1S4PI JuarezGonzalez _Maria_M1S4PI.doc...

Conexion a servidor desde android

  • 4. Manos a la obra!
  • 6. 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
  • 7. 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" } ] }
  • 9. ¿Qué hay en el servidor? • URL: http://pruebaandroid.comyr.com/insertar.php
  • 10. 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);
  • 11. ¿Qué hay en Android?
  • 12. Desarrollo de App Permiso Internet Crear tarea asíncrona Inicializar conexión Agregar parámetros Post Get Convertir a string Decodificar JSON
  • 13. Archivo manifiesto • Agregar permiso de conexión a internet <uses-permission android:name="android.permission.INTERNET"/>
  • 14. Tareas asíncronas en Android • AsyncTasks public 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) { } }
  • 15. Comunicación con servidor • Inicializar HttpClient httpclient = new DefaultHttpClient(); HttpPost httppost = new HttpPost("http://pruebaandroid.comyr.com/insertar.php");
  • 16. 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));
  • 17. 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);
  • 18. 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 block e1.printStackTrace(); } jsonArreglo.get(i).toString();