Junior
Kas yra serializacija?
sobes.tech AI
Atsakymas iš AI
Objekto arba duomenų struktūros perkėlimas į formatą, kurį lengva saugoti (pavyzdžiui, faile, atmintyje, duomenų bazėje) arba perduoti per tinklą. Deserializacija yra priešingas procesas.
Android serializacija dažnai naudojama:
- Duomenų perdavimui tarp Activity arba Fragment naudojant
IntentarbaBundle. - Vaizdų būsenos išsaugojimui (pavyzdžiui, ekrano pasukimo metu).
- Duomenų talpyklos saugojimui.
- Duomenų keitimui su nuotoliniais serveriais (JSON, XML).
Pagrindiniai serializacijos mechanizmai Android:
Serializable: Lengva naudoti, bet lėta ir sukuria daug laikinių objektų. Yra Java standarte.Parcelable: Greitesnis ir efektyvesnis mechanizmas, specifinis Android. Reikalauja daugiau boilerplate kodo.
// Parcelable pavyzdys
class MyData implements Parcelable {
private int value;
private String text;
// Konstruktorius
public MyData(int value, String text) {
this.value = value;
this.text = text;
}
// Parcelable įgyvendinimas
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);
}
}