Comunicación con el servidor





¿Cómo funciona?



Get
Post
Put
Delete
¿Cómo funciona?


http://gateway.marvel.com:80/v1/public/characters?limit=5&offset=35
Dominio
Paths
Parametros
¿Cómo funciona?


URL
XML / JSON
¿Cómo funciona?


<note>
<to>Tove</to>
<from>Jani</from>
<heading>Reminder</heading>
<body>Don't forget me this weekend!</body>
</note>{
"note": {
"to": "Tove",
"from": "Jani",
"heading": "Reminder",
"body": "Don't forget me this weekend!"
}
}XML
JSON
¿Y en android?


Antes de la API 11
main thread
request
response
¿Y en android?


API 11
main thread
new thread
Executor
AsyncTask
request
response
AsyncTask


request
response
OnPreExecute()
OnPostExecute()
doInBackground()
AsyncTask


public class MyAsyncTask extends AsyncTask <Parametros,Progreso,Resultado>{
@Override
protected void onPreExecute(){
//Do something
}
@Override
protected Resultado doInBackground(Parametros... param){
//Do something
}
@Override
protected void onProgressUpdate(Progreso... param){
//Do something
}
@Override
protected void onPostExecute(Resultado... param){
//Do something
}
}Request con AsyncTask


- Abrir una conexión HTTP a través de una URL
- Intentar obtener la respuesta en bytes
- Procesar esa respuesta y convertirla a un String
- Cerrar la conexión
- Parsear la respuesta
Request con AsyncTask


Ejemplo en código
Android HTTP requests
By Petter Hdz
Android HTTP requests
- 633