Sobes.tech
Junior — Middle

Comment peut-on sérialiser un objet pour le transmettre ou le stocker dans un conteneur de type Bundle?

sobes.tech IA

Réponse de l'IA

Dans Android, pour transmettre ou sauvegarder un objet dans un conteneur de type Bundle, l'objet doit être sérialisable. Les principales méthodes de sérialisation :

  1. Parcelable — interface optimisée pour Android, permet une sérialisation rapide des objets.
  2. Serializable — interface standard Java, plus simple à implémenter, mais moins performant.

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

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

Ainsi, l'objet peut être placé dans un Bundle et transmis entre composants Android.