IMPORTANT: Per accedir als fitxer de subversion: http://acacha.org/svn (sense password). Poc a poc s'aniran migrant els enllaços. Encara però funciona el subversion de la farga però no se sap fins quan... (usuari: prova i la paraula de pas 123456)

Gson és una llibreria Java que es pot utilitzar per tal de convertir un objecte Java en la seva representació JSON i viceversa, és a dir, convertir un string JSON en un objecte o estructura de dades complexa d'objectes. Es realitza d'aquesta manera les operacions de serialització i deserialització.

Gson pot treballar amb objectes arbitraris fins i tot amb objectes pre-existents però dels quals no disposem del codi font.

Documentació

API

Guia d'usuari

Recursos:

Documentació

Web explicant en detall GSON

Exercicis

Exemple GSON. Array d'objectes simples

El JSON:

[
    {
        "sn1": "Tur",
        "sn2": "Badenas",
        "givenName": "Sergi"
    },
    {
        "sn1": "Varas",
        "sn2": "sasdas",
        "givenName": "Jordi"
    }
]

El codi Java:


import java.util.List;

import com.google.gson.Gson;
import com.google.gson.reflect.TypeToken;

public class GsonFoo
{
  public static void main(String[] args) throws Exception
  {
  
    String json = "[
		{ "sn2":"Santos" ,"sn1":"Do" , "givenName":"Jonatan" },
		{ "sn2":"Strauss" ,"sn1":"Levis" , "givenName":"jon" },
		{ "sn2":"Linus" ,"sn1":"Stallman" , "givenName":"Richard" }," }
	]";
    List<User> data = new Gson().fromJson(
		json,new TypeToken<List<User>>(){}.getType());
    System.out.println(new Gson().toJson(data));
    
  }
}

class User
{
  String givenName;
  String sn1;
  String sn2;
}

Exemple pas a pas

Serialització

  • Realitza una http-request (amb autenticació) i retorna un JSON. Aquest JSON es passa a un objecte alumne i este objecte s'utilitza per mostrar les dades

Creeu l'objecte userProfile. Definiu els camps QUE CREIEU CONVENIENTS però afegiu:

  • URL del avatar del usuari (es poden agafar de la plantilla Ace proporcionada pel professor)

ViewList

http://www.developerfusion.com/article/145373/android-listviews-with-dynamic-data/

Vegeu ViewList

Vegeu també

Enllaços externs