Sobes.tech
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() e onRestoreInstanceState()).
  • 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() e getExtras().

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
}