Junior
Para que é que serve a classe Bundle no Android?
sobes.tech IA
Resposta da IA
O Bundle é utilizado para transferir dados entre componentes da aplicação, como Activity, Fragment ou Service.
Funções principais:
- Armazenamento de dados: Pode conter vários tipos de dados primitivos (int, boolean, String, etc.), arrays de primitivos, bem como objetos Parcelable ou Serializable.
- Chave-valor: Os dados são armazenados em pares chave-valor, onde a chave é uma string.
- Guardar estado: Usado para guardar e restaurar o estado de uma Activity (por exemplo, nos métodos
onSaveInstanceState()eonRestoreInstanceState()). - Argumentos de Fragment: Usado para passar argumentos a um Fragment através do método
setArguments(). - Dados adicionais no Intent: Permite passar dados adicionais em um Intent usando os métodos
putExtra()egetExtras().
Exemplo de uso para transferir dados entre Activities:
// Enviar dados de uma Activity A para uma Activity B
val intent = Intent(this, ActivityB::class.java)
val bundle = Bundle()
bundle.putString("username", "john.doe")
bundle.putInt("age", 30)
intent.putExtras(bundle)
startActivity(intent)
// Receber dados na Activity B
val extras = intent.extras
if (extras != null) {
val username = extras.getString("username")
val age = extras.getInt("age", -1) // Valor padrão
}