Junior
Mi az a serializálás?
sobes.tech MI
Válasz az MI-től
Egy objektum vagy adatszerkezet átalakítása olyan formátumba, amely könnyen tárolható (például fájlban, memóriában, adatbázisban) vagy hálózaton keresztül továbbítható. A deserializáció ennek az ellentétes folyamata.
Androidban a serializáció gyakran használatos:
- Adatok átadása Activity vagy Fragment között
IntentvagyBundlesegítségével. - Az Views állapotának mentése (például képernyőforgatáskor).
- Adatok gyorsítótárazása.
- Adatok cseréje távoli szerverekkel (JSON, XML).
Az Android fő serializációs mechanizmusai:
Serializable: Egyszerű használni, de lassú és sok ideiglenes objektumot hoz létre. A Java szabvány része.Parcelable: Gyorsabb és hatékonyabb mechanizmus, Android-specifikus. Több boilerplate kódot igényel.
// Parcelable példa
class MyData implements Parcelable {
private int value;
private String text;
// Konstruktor
public MyData(int value, String text) {
this.value = value;
this.text = text;
}
// Parcelable implementáció
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);
}
}