Junior
Kas ir serializācija?
sobes.tech AI
Atbilde no AI
Objekta vai datu struktūras pārvēršana formātā, ko ir viegli uzglabāt (piemēram, failā, atmiņā, datu bāzē) vai nodot tīklā. Deserializācija ir pretējais process.
Android serializācija bieži tiek izmantota:
- datu nodošanai starp Activity vai Fragment ar
IntentvaiBundle. - Views stāvokļa saglabāšanai (piemēram, ekrāna pagriešanas laikā).
- Datu kešatmiņai.
- Datu apmaiņai ar attāliem serveriem (JSON, XML).
Galvenie serializācijas mehānismi Android:
Serializable: vienkārši lietojams, bet lēns un rada daudz pagaidu objektu. Ir daļa no standarta Java.Parcelable: ātrāks un efektīvāks mehānisms, specifisks Android. Prasa vairāk boilerplate koda realizācijai.
// Parcelable piemērs
class MyData implements Parcelable {
private int value;
private String text;
// Konstruktor
public MyData(int value, String text) {
this.value = value;
this.text = text;
}
// Parcelable realizācija
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);
}
}