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.