Junior
Ի՞նչ է սերիալիզացիան։
sobes.tech AI
Պատասխան AI-ից
Օբյեկտի կամ տվյալների կառուցվածքի փոխարկումը այն ձևաչափի, որը հեշտությամբ կարելի է պահել (օրինակ՝ ֆայլում, հիշողության մեջ, տվյալների բազայում) կամ փոխանցել ցանցով։ Դեսիալիզացիան հակառակ գործընթացն է։
Android-ում սերիալիզացիան հաճախ օգտագործվում է՝
- տվյալների փոխանցում Activity կամ Fragment միջև
IntentկամBundleօգտագործելով։ - տեսքերի վիճակի պահպանում (օրինակ՝ էկրանն ուղղելու ժամանակ)։
- տվյալների կեշավորում։
- տվյալների փոխանակում հեռավոր սերվերների հետ (JSON, XML)։
Android-ի հիմնական սերիալիզացիայի մեխանիզմները՝
Serializable: Օգտագործելը հեշտ է, բայց դանդաղ և շատ ժամանակավոր օբյեկտներ է ստեղծում։ Java ստանդարտ գրադարանի մաս է։Parcelable: Ավելի արագ և արդյունավետ մեխանիզմ, հատուկ Android-ի համար։ Ավելի շատ boilerplate կոդ է պահանջում։
// Օրինակ Parcelable
class MyData implements Parcelable {
private int value;
private String text;
// Կառուցող
public MyData(int value, String text) {
this.value = value;
this.text = text;
}
// 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);
}
}