Junior
Какво е сериализация?
sobes.tech AI
Отговор от AI
Преобразуване на обект или структура от данни във формат, който може лесно да се съхранява (например, в файл, памет, база данни) или да се предава по мрежата. Десериализацията е обратният процес.
В Android сериализацията често се използва за:
- Предаване на данни между Activity или Fragment чрез
IntentилиBundle. - Запазване на състоянието на Views (например, при завъртане на екрана).
- Кеширане на данни.
- Обмен на данни с отдалечени сървъри (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);
}
}