Sobes.tech
Junior — Middle

Hoe kan een object worden geserialiseerd voor overdracht of opslag in een Bundle-container?

sobes.tech AI

Antwoord van AI

In Android, om een object door te geven of op te slaan in een container van het type Bundle, moet het object serialiseerbaar zijn. De belangrijkste serialisatiemethoden:

  1. Parcelable — interface geoptimaliseerd voor Android, maakt snelle serialisatie van objecten mogelijk.
  2. Serializable — standaard Java-interface, eenvoudiger te implementeren, maar minder efficiënt in prestaties.

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

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

Op deze manier kan het object in een Bundle worden geplaatst en tussen Android-componenten worden doorgegeven.