Junior
Czym jest serializacja?
sobes.tech AI
Odpowiedź od AI
Przekształcenie obiektu lub struktury danych do formatu, który można łatwo przechowywać (np. w pliku, pamięci, bazie danych) lub przesłać przez sieć. Deserializacja to proces odwrotny.
W Androidzie serializacja jest często używana do:
- Przesyłania danych między Activity lub Fragment za pomocą
IntentlubBundle. - Zapisywania stanu widoków (np. podczas obracania ekranu).
- Buforowania danych.
- Wymiany danych z zdalnymi serwerami (JSON, XML).
Główne mechanizmy serializacji w Androidzie:
Serializable: Łatwy w użyciu, ale wolny i tworzy dużo tymczasowych obiektów. Jest częścią standardowej biblioteki Java.Parcelable: Szybszy i bardziej wydajny mechanizm, specyficzny dla Androida. Wymaga więcej kodu boilerplate.
// Przykład Parcelable
class MyData implements Parcelable {
private int value;
private String text;
// Konstruktor
public MyData(int value, String text) {
this.value = value;
this.text = text;
}
// Implementacja 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);
}
}