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

  1. Abrir una conexión HTTP a través de una URL
  2. Intentar obtener la respuesta en bytes
  3. Procesar esa respuesta y convertirla a un String
  4. Cerrar la conexión 
  5. Parsear la respuesta

Request con AsyncTask

Ejemplo en código

Made with Slides.com