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);
}
}