Sobes.tech
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.