giovedì 30 gennaio 2014

Passare oggetto Date con Gson

Questo post è utile per chi come me ha la necessità di effettuare una chiamata da Android a una servlet e si aspetta in output un oggetto Date e non una stringa, come di default accade con la classe Gson.


Per effettuare ciò, bisogna inserire le seguenti righe di codice nella servlet:
 
 
JsonSerializer<Date> ser = new JsonSerializer<Date>() {
  @Override
  public JsonElement serialize(Date src, Type typeOfSrc, JsonSerializationContext 
             context) {
    return src == null ? null : new JsonPrimitive(src.getTime());
  }
};



Gson gson = new GsonBuilder()
   .registerTypeAdapter(Date.class, ser).create();
 
 PrintWriter out = response.getWriter();

        out.println(gson.toJson(response));
 
 
E le seguenti righe di codice nel Thread android, 
dove viene richiamata la servlet: 
 
JsonDeserializer<Date> deser = new JsonDeserializer<Date>() {
  @Override
  public Date deserialize(JsonElement json, Type typeOfT,
       JsonDeserializationContext context) throws JsonParseException {
    return json == null ? null : new Date(json.getAsLong());
  }
}; 
Gson gson = new GsonBuilder()
   .registerTypeAdapter(Date.class, deser).create(); 

Oggetto ogg = gson.fromJson(responseServlet, Oggetto.class);

Troveremo così nell'ogg valorizzati gli attributi di tipo Date 
e non avremo quindi problemi di ClassCastException.
 
 

martedì 28 gennaio 2014

Come ottenere l'identificativo univoco dello smarphone!

Per ottenere l'id univoco che identifica il tuo smartphone, è necessario inserire nella tua Activity le seguenti righe di codice:

import android.provider.Settings.Secure;

private String android_id = Secure.getString(getContext().getContentResolver(),
                                                        Secure.ANDROID_ID); 

martedì 21 gennaio 2014

Passare dati tra Activity


Obbiettivo:
       - Chiamare un'altra activity passando dati.
       - Leggere i dati che ci vengono passati da una activity.

Strumenti necessari:
    Android Developer Tools (ADT) .
       - AVD / Smartphone debug.

Cose da fare:
      1) Creare il progetto
      2) Creo 2 layout
      3)  Creo 2 activity corrispondenti 
      4) Definire il Manifest