Sobes.tech
Junior — Middle

Quais classes ou objetos na sua experiência são capazes de guardar seu estado na forma de uma sequência de bytes para posterior recuperação?

sobes.tech IA

Resposta da IA

No Android, os seguintes mecanismos são frequentemente utilizados para guardar e restaurar o estado dos objetos:

  • Parcelable: interface que permite serializar objetos numa sequência de bytes (Parcel) e restaurá-los a partir dela. É usado para transferir dados entre componentes (por exemplo, entre Activity).

  • Serializable: interface padrão do Java para serializar objetos. Menos eficiente comparado com Parcelable, mas mais fácil de usar.

  • Bundle: recipiente para armazenar pares chave-valor, que pode conter objetos que implementem Parcelable ou Serializable.

Exemplo de implementação Parcelable:

public class User implements Parcelable {
    private String name;
    private int age;

    protected User(Parcel in) {
        name = in.readString();
        age = in.readInt();
    }

    @Override
    public void writeToParcel(Parcel dest, int flags) {
        dest.writeString(name);
        dest.writeInt(age);
    }

    @Override
    public int describeContents() {
        return 0;
    }

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