Junior
Wat is serialisatie?
sobes.tech AI
Antwoord van AI
Het omzetten van een object of datastructuur naar een formaat dat gemakkelijk kan worden opgeslagen (bijvoorbeeld in een bestand, geheugen, database) of via het netwerk kan worden verzonden. Deserialisatie is het tegenovergestelde proces.
In Android wordt serialisatie vaak gebruikt voor:
- Het overdragen van gegevens tussen Activity of Fragment met behulp van
IntentofBundle. - Het opslaan van de staat van Views (bijvoorbeeld bij schermrotatie).
- Het cachen van gegevens.
- Het uitwisselen van gegevens met externe servers (JSON, XML).
De belangrijkste serialisatie-mechanismen in Android:
Serializable: Eenvoudig te gebruiken, maar langzaam en creëert veel tijdelijke objecten. Het maakt deel uit van de standaard Java-bibliotheek.Parcelable: Sneller en efficiënter mechanisme, specifiek voor Android. Vereist meer boilerplate-code.
// Voorbeeld Parcelable
class MyData implements Parcelable {
private int value;
private String text;
// Constructor
public MyData(int value, String text) {
this.value = value;
this.text = text;
}
// Parcelable-implementatie
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);
}
}