Junior
Ce este serializarea?
sobes.tech AI
Răspuns de la AI
Transformarea unui obiect sau a unei structuri de date într-un format care poate fi ușor stocat (de exemplu, într-un fișier, memorie, bază de date) sau transmis prin rețea. Deserializarea este procesul invers.
În Android, serializarea este adesea utilizată pentru:
- Transmiterea datelor între Activity sau Fragment folosind
IntentsauBundle. - Salvarea stării Views (de exemplu, la rotirea ecranului).
- Cache-ul datelor.
- Schimbul de date cu servere remote (JSON, XML).
Principalele mecanisme de serializare în Android:
Serializable: Ușor de utilizat, dar lent și creează multe obiecte temporare. Face parte din Java standard.Parcelable: Mecanism mai rapid și mai eficient, specific Android. Necesită mai mult cod boilerplate pentru implementare.
// Exemplu Parcelable
class MyData implements Parcelable {
private int value;
private String text;
// Constructor
public MyData(int value, String text) {
this.value = value;
this.text = text;
}
// Implementare 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);
}
}