Sobes.tech
Junior

Was ist Serialisierung?

sobes.tech KI

Antwort von AI

Die Umwandlung eines Objekts oder einer Datenstruktur in ein Format, das leicht gespeichert (z.B. in eine Datei, in den Speicher, in eine Datenbank) oder über das Netzwerk übertragen werden kann. Die Deserialisierung ist der umgekehrte Prozess.

In Android wird Serialisierung häufig verwendet für:

  • Datenübertragung zwischen Activity oder Fragment mittels Intent oder Bundle.
  • Speichern des Zustands von Views (z.B. bei Bildschirmrotation).
  • Zwischenspeichern von Daten.
  • Austausch von Daten mit entfernten Servern (JSON, XML).

Die wichtigsten Serialisierungsmechanismen in Android:

  • Serializable: Einfach zu verwenden, aber langsam und erzeugt viele temporäre Objekte. Teil der Java-Standardbibliothek.
  • Parcelable: Schneller und effizienter Mechanismus, spezifisch für Android. Erfordert mehr Boilerplate-Code.
// Beispiel Parcelable
class MyData implements Parcelable {
    private int value;
    private String text;

    // Konstruktor
    public MyData(int value, String text) {
        this.value = value;
        this.text = text;
    }

    // Parcelable-Implementierung
    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);
    }
}