Junior
Co je serializace?
sobes.tech AI
Odpověď od AI
Převod objektu nebo datové struktury do formátu, který lze snadno uložit (například do souboru, paměti, databáze) nebo přenést přes síť. Deserializace je opačný proces.
V Androidu se serializace často používá pro:
- Přenos dat mezi Activity nebo Fragment pomocí
IntentneboBundle. - Uložení stavu Views (například při otočení obrazovky).
- Ukládání dat do cache.
- Výměnu dat s vzdálenými servery (JSON, XML).
Hlavní mechanismy serializace v Androidu:
Serializable: Snadné na použití, ale pomalé a vytváří hodně dočasných objektů. Je součástí standardní Java knihovny.Parcelable: Rychlejší a efektivnější mechanismus, specifický pro Android. Vyžaduje více boilerplate kódu.
// Příklad Parcelable
class MyData implements Parcelable {
private int value;
private String text;
// Konstruktor
public MyData(int value, String text) {
this.value = value;
this.text = text;
}
// Implementace 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);
}
}