Sobes.tech
Junior — Middle

Em que parte do sistema ou do projeto geralmente é armazenado um objeto Bundle?

sobes.tech IA

Resposta da IA

No Android, o objeto Bundle é geralmente usado para transferir dados entre componentes (por exemplo, entre uma Activity, Fragment ou Service) e para guardar o estado.

Normalmente, o Bundle é guardado:

  • Nos métodos do ciclo de vida dos componentes, por exemplo, em onSaveInstanceState(Bundle outState) — para guardar o estado de uma Activity ou Fragment.
  • Nos argumentos do Fragment através do método setArguments(Bundle args), para passar parâmetros na criação.
  • No Intent ao transferir dados entre Activities através de intent.putExtras(Bundle).

Assim, o Bundle não é armazenado num lugar global, mas é passado e guardado localmente dentro dos componentes, geralmente nos parâmetros dos métodos do ciclo de vida ou nos argumentos dos componentes.

Exemplo de guardar o estado de uma Activity:

@Override
protected void onSaveInstanceState(Bundle outState) {
    super.onSaveInstanceState(outState);
    outState.putString("key", "value");
}

Exemplo de passar dados para um Fragment:

Bundle args = new Bundle();
args.putInt("userId", 123);
MyFragment fragment = new MyFragment();
fragment.setArguments(args);

Portanto, o Bundle geralmente é guardado nos parâmetros dos métodos ou nos argumentos dos componentes, e não num armazenamento separado.