Junior
Čo je serializácia?
sobes.tech AI
Odpoveď od AI
Prevod objektu alebo dátovej štruktúry do formátu, ktorý je možné ľahko uložiť (napríklad do súboru, pamäte, databázy) alebo preniesť cez sieť. Deserializácia je opačný proces.
V Android sa serializácia často používa na:
- Prenos dát medzi Activity alebo Fragment pomocou
IntentaleboBundle. - Uloženie stavu Views (napríklad pri otáčaní obrazovky).
- Cacheovanie dát.
- Výmenu dát s vzdialenými servermi (JSON, XML).
Hlavné mechanizmy serializácie v Android:
Serializable: Jednoduché na použitie, ale pomalé a vytvára veľa dočasných objektov. Súčasť štandardnej Java knižnice.Parcelable: Rýchlejší a efektívnejší mechanizmus, špecifický pre Android. Vyžaduje viac boilerplate kódu.
// Príklad Parcelable
class MyData implements Parcelable {
private int value;
private String text;
// Konštruktor
public MyData(int value, String text) {
this.value = value;
this.text = text;
}
// Implementácia 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);
}
}