Junior — Middle
V ktorom mieste systému alebo projektu sa zvyčajne uchováva objekt Bundle?
sobes.tech AI
Odpoveď od AI
V Androide sa objekt Bundle zvyčajne používa na prenos dát medzi komponentmi (napríklad medzi Activity, Fragment alebo Service) a na uloženie stavu.
Zvyčajne sa Bundle ukladá:
- V metódach životného cyklu komponentov, napríklad v
onSaveInstanceState(Bundle outState)— na uloženie stavu Activity alebo Fragmentu. - V argumentoch Fragmentu pomocou metódy
setArguments(Bundle args), na odovzdanie parametrov pri vytváraní. - V Intent pri prenose dát medzi Activity pomocou
intent.putExtras(Bundle).
Takže Bundle sa neukladá na nejakom globálnom mieste, ale sa prenáša a ukladá lokálne vo vnútri komponentov, najčastejšie v parametroch metód životného cyklu alebo v argumentoch komponentov.
Príklad uloženia stavu Activity:
@Override
protected void onSaveInstanceState(Bundle outState) {
super.onSaveInstanceState(outState);
outState.putString("key", "value");
}
Príklad odovzdania dát do Fragmentu:
Bundle args = new Bundle();
args.putInt("userId", 123);
MyFragment fragment = new MyFragment();
fragment.setArguments(args);
Preto sa Bundle zvyčajne ukladá v parametroch metód alebo v argumentoch komponentov, a nie v samostatnom úložisku.