Junior — Middle
Kaip galima serializuoti objektą perdavimui ar saugojimui Bundle tipo konteineryje?
sobes.tech AI
Atsakymas iš AI
Android'e, objektą perduoti ar saugoti konteineryje, kurio tipas yra Bundle, objektas turi būti serializuojamas. Pagrindiniai serializacijos būdai:
- Parcelable — Android optimizuotas sąsaja, leidžia greitai serializuoti objektus.
- Serializable — standartinė Java sąsaja, lengviau įgyvendinti, bet mažiau efektyvi našumo požiūriu.
Pavyzdys su Parcelable:
public class User implements Parcelable {
private String name;
private int age;
protected User(Parcel in) {
name = in.readString();
age = in.readInt();
}
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];
}
};
@Override
public int describeContents() {
return 0;
}
@Override
public void writeToParcel(Parcel dest, int flags) {
dest.writeString(name);
dest.writeInt(age);
}
}
// Naudojimas:
Bundle bundle = new Bundle();
bundle.putParcelable("user", userObject);
Taip, objektas gali būti įdėtas į Bundle ir perduotas tarp Android komponentų.