Sobes.tech
Junior — Middle

Como pode serializar um objeto para transmissão ou armazenamento num contêiner do tipo Bundle?

sobes.tech IA

Resposta da IA

No Android, para passar ou guardar um objeto num contêiner do tipo Bundle, o objeto deve ser serializável. As principais formas de serialização:

  1. Parcelable — interface otimizada para Android, permite serializar objetos rapidamente.
  2. Serializable — interface padrão do Java, mais fácil de implementar, mas menos eficiente em desempenho.

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

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

Dessa forma, o objeto pode ser colocado no Bundle e passado entre componentes Android.