Junior
Mis on serialiseerimine?
sobes.tech AI
Vastus AI-lt
Objekta või andmestruktuuri teisendamine vormingusse, mida on lihtne salvestada (näiteks faili, mälu, andmebaasi) või edastada võrgus. Deserialiseerimine on vastupidine protsess.
Androidis kasutatakse serialiseerimist sageli:
- Andmete edastamiseks Activity või Fragment vahel
IntentvõiBundleabil. - Vaadete oleku salvestamiseks (näiteks ekraani pööramisel).
- Andmete vahemällu salvestamiseks.
- Andmete vahetamiseks kaugserveritega (JSON, XML).
Androidi peamised serialiseerimismehhanismid:
Serializable: lihtne kasutada, kuid aeglane ja loob palju ajutisi objekte. On osa standard Java-st.Parcelable: kiirem ja tõhusam mehhanism, spetsiifiline Androidile. Nõuab rohkem boilerplate-koodi rakendamiseks.
// Parcelable näide
class MyData implements Parcelable {
private int value;
private String text;
// Konstruktor
public MyData(int value, String text) {
this.value = value;
this.text = text;
}
// Parcelable rakendamine
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);
}
}