Junior
Cos'è la serializzazione?
sobes.tech AI
Risposta dell'AI
La trasformazione di un oggetto o di una struttura dati in un formato che può essere facilmente memorizzato (ad esempio, in un file, in memoria, in un database) o trasmesso attraverso la rete. La deserializzazione è il processo inverso.
In Android, la serializzazione viene spesso utilizzata per:
- Trasmettere dati tra Activity o Fragment usando
IntentoBundle. - Salvare lo stato delle Views (ad esempio, durante la rotazione dello schermo).
- Memorizzare dati nella cache.
- Scambiare dati con server remoti (JSON, XML).
I principali meccanismi di serializzazione in Android:
Serializable: Facile da usare, ma lento e crea molti oggetti temporanei. Fa parte della libreria Java standard.Parcelable: Meccanismo più veloce ed efficiente, specifico di Android. Richiede più codice boilerplate.
// Esempio Parcelable
class MyData implements Parcelable {
private int value;
private String text;
// Costruttore
public MyData(int value, String text) {
this.value = value;
this.text = text;
}
// Implementazione Parcelable
protected MyData(Parcel in) {
value = in.readInt();
text = in.readString();
}
public static final Creator<MyData> CREATOR = new Creator<MyData>() {
@Override
public MyData createFromParcel(Parcel in) {
return new MyData(in);
}
@Override
public MyData[] newArray(int size) {
return new MyData[size];
}
};
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeInt(value);
dest.writeString(text);
}
}