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:
- Parcelable — interface otimizada para Android, permite serializar objetos rapidamente.
- 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.