/ / android asynctask vyústi do inej aktivity - android, android-activity, android-asynctask

android asynctask vedie k inej aktivite - android, android-aktivita, android-asynctask

Mám Aktivita A a AsyncTask, ktorý robí nejaké výpočtya ukladá údaje do databázy. Tieto operácie trvajú asi 3 - 5 sekúnd. AsyncTask sa vyvolá po stlačení tlačidla „Uložiť“ a spustí sa nová aktivita B (táto aktivita B nie je dôležitá). Je tu tiež Aktivita C, ktorá načíta dáta, ktoré som uložil z aktivity Aa AsyncTask. A tu je môj problém - ak spustím aktivitu C a AsyncTask stále nedokončí ukladanie dát, chcem zobraziť animáciu načítania, kým AsyncTask nedokončí a dáta sa nebudú dať načítať v aktivite.

Mám víziu, že AsyncTask v metódeonPostExecute zmení globálnu premennú "boolean finished = true" a po spustení aktivity C budem pravidelne kontrolovať, či je premenná true. Ale myslím si, že to nie je správna cesta. Aká je teda správna cesta? Ďakujem

odpovede:

0 pre odpoveď č. 1

Čo môžete urobiť v aktivite C, je skontrolovať databázu v onResume či už je tam očakávaný výsledok alebonie. Ak tam je, jednoducho ukážte svoj výsledok. Pokiaľ tam nie je, zobrazte ikonu načítania a zaregistrujte prijímač vysielania, ktorý počúva konkrétnu udalosť.

v onPostExecute z AsyncTask môžete potom vysielať túto konkrétnu udalosť. Keď aktivita C prijme túto udalosť, môže jednoducho znova skontrolovať databázu, kde bude teraz výsledok.