Android – ruční spuštění SyncAdapteru

25. 04. 2018

Android má skvěle zpracovanou podporu pro synchronizaci dat server <-> klient. Implementace sice není úplně triviální a dokumentace dokonalá, leč odvedená práce se určitě vyplatí.

Pokud chcete vědět více o tom, jak fungují v Androidu všechny ty SyncAdaptéry, ContentResolvery, ContentProvidery a AccountAuthenticatory projděte si příklad Sample Sync Adapter přímo od Google.

Pokud už máte synchronizaci implementovanou, čas od času je potřeba ji spustit na pokyn uživatele. Z dokumentace není úplně zřejmé jak to udělat, ale je to jenom pár řádků kódu:

Bundle bundle = new Bundle();
bundle.putBoolean(ContentResolver.SYNC_EXTRAS_EXPEDITED, true);
bundle.putBoolean(ContentResolver.SYNC_EXTRAS_FORCE, true);
bundle.putBoolean(ContentResolver.SYNC_EXTRAS_MANUAL, true);
ContentResolver.requestSync(null, MyContentProvider.getAuthority(), bundle);

Po zavolání výše uvedeného kódu dojde k okamžitému spuštění synchronizace. Synchronizace se díky volbě „SYNC_EXTRAS_MANUAL“ spustí i pokud má uživatel zakázaná „Data na pozadí“.

Klíčové funkce a komponenty APS systémů

Vaše moderní výrobní firma čelí neustálým výzvám. Musíte pružně reagovat na nečekané události, a přitom udržet nízké náklady s maximální …

Číst článek

Co je APS (Advanced Planning and Scheduling)?

Jste výrobní firma? Tak to určitě znáte, jak se vám mění poptávka pod rukama a jak je konkurence ostrá. Bez …

Číst článek

Zkušený iOS vývojář

iOS programátor se zkušenostmi, který si chce řídit vlastní čas v remote-first týmu. Jsme svobodná full remote vývojářská firma. Technologie, …

Číst článek

Kontakt