Назад к вопросам
Промсвязьбанк
Junior — Middle
72
Какие классы или объекты в вашем опыте способны сохранять своё состояние в виде последовательности байтов для последующей восстановления?
Компании, где спрашивали
ПСБ
Ответ от нейросети
sobes.tech AI
В Android для сохранения и восстановления состояния объектов часто используются следующие механизмы:
-
Parcelable: интерфейс, который позволяет объектам сериализоваться в последовательность байтов (Parcel) и восстанавливаться из неё. Используется для передачи данных между компонентами (например, между Activity).
-
Serializable: стандартный Java-интерфейс для сериализации объектов. Менее эффективен по сравнению с Parcelable, но проще в использовании.
-
Bundle: контейнер для хранения пар ключ-значение, который может содержать объекты, реализующие Parcelable или Serializable.
Пример реализации Parcelable:
public class User implements Parcelable {
private String name;
private int age;
protected User(Parcel in) {
name = in.readString();
age = in.readInt();
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(name);
dest.writeInt(age);
}
@Override
public int describeContents() {
return 0;
}
public static final Creator<User> CREATOR = new Creator<User>() {
@Override
public User createFromParcel(Parcel in) {
return new User(in);
}
@Override
public User[] newArray(int size) {
return new User[size];
}
};
}