Sobes.tech
Junior — Middle

Obyektni qanday serializatsiya qilish mumkin, uni uzatish yoki Bundle turidagi konteynerda saqlash uchun?

sobes.tech AI

AIdan javob

Androidda, obyektni Bundle turidagi konteynerda uzatish yoki saqlash uchun obyekt seriyalash mumkin bo‘lishi kerak. Asosiy seriyalash usullari:

  1. Parcelable — Android uchun optimallashtirilgan interfeys, obyektlarni tezda seriyalash imkonini beradi.
  2. Serializable — Java standarti interfeys, amalga oshirish osonroq, lekin kamroq samarali.

Parcelable bilan misol:

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

// Foydalanish:
Bundle bundle = new Bundle();
bundle.putParcelable("user", userObject);

Shunday qilib, obyekt Bundle ga joylashtirilishi va Android komponentlari o‘rtasida uzatilishi mumkin.