Junior
Šta je serializacija?
sobes.tech АИ
Одговор од АИ
Preobražaj objekta ili strukture podataka u format koji se lako može skladištiti (na primer, u fajl, memoriju, bazu podataka) ili prenositi putem mreže. Deserializacija je obrnuti proces.
U Androidu, serializacija se često koristi za:
- Prenos podataka između Activity ili Fragment pomoću
IntentiliBundle. - Čuvanje stanja Views (na primer, pri rotaciji ekrana).
- Keširanje podataka.
- Razmena podataka sa udaljenim serverima (JSON, XML).
Glavni mehanizmi serializacije u Androidu:
Serializable: Lako za korišćenje, ali sporo i pravi mnogo privremenih objekata. Deo je Java standardne biblioteke.Parcelable: Brži i efikasniji mehanizam, specifičan za Android. Zahteva više boilerplate koda.
// Primer Parcelable
class MyData implements Parcelable {
private int value;
private String text;
// Konstruktor
public MyData(int value, String text) {
this.value = value;
this.text = text;
}
// Implementacija 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);
}
}