Π ΡΠ΅ΠΌ ΡΠΈΠ³Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π°Π½Π΄ΡΠΎΠΈΠ΄Π° Ρ Π²ΠΎΡΠΊΠ»ΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌ Π·Π½Π°ΠΊΠΎΠΌ
Π ΡΠ΅ΠΌ ΡΠΈΠ³Π½Π°Π»ΠΈΠ·ΠΈΡΡΠ΅Ρ ΠΈΠ·ΠΎΠ±ΡΠ°ΠΆΠ΅Π½ΠΈΠ΅ Π°Π½Π΄ΡΠΎΠΈΠ΄Π° Ρ Π²ΠΎΡΠΊΠ»ΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌ Π·Π½Π°ΠΊΠΎΠΌ?
ΠΡΠ»ΠΈ Π½Π° Π²Π°ΡΠ΅ΠΌ ΡΡΡΡΠΎΠΉΡΡΠ²Π΅ Π²ΠΎΠ·Π½ΠΈΠΊ Π·Π½Π°ΠΊ Android Ρ Π²ΠΎΡΠΊΠ»ΠΈΡΠ°ΡΠ΅Π»ΡΠ½ΡΠΌ Π·Π½Π°ΠΊΠΎΠΌ, ΡΠΎ ΡΡΠΎ ΡΠ²ΠΈΠ΄Π΅ΡΠ΅Π»ΡΡΡΠ²ΡΠ΅Ρ ΠΎ Π½Π°Π»ΠΈΡΠΈΠΈ Π½Π΅ΠΏΠΎΠ»Π°Π΄ΠΎΠΊ Π² ΡΡΠ½ΠΊΡΠΈΠΎΠ½ΠΈΡΠΎΠ²Π°Π½ΠΈΠΈ Π²Π°ΡΠ΅Π³ΠΎ Π°ΠΏΠΏΠ°ΡΠ°ΡΠ½ΠΎΠ³ΠΎ ΠΎΠ±Π΅ΡΠΏΠ΅ΡΠ΅Π½ΠΈΡ. ΠΠ½ΠΈ ΠΌΠΎΠ³ΡΡ Π²ΠΎΠ·Π½ΠΈΠΊΠ½ΡΡΡ ΠΈΠ·-Π·Π° Π½Π΅ΠΎΡΠΎΠ·Π½Π°Π½Π½ΠΎΠΉ ΡΡΡΠ°Π½ΠΎΠ²ΠΊΠΈ ΠΏΠΈΡΠ°ΡΡΠΊΠΎΠ³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΡ ΠΎΠΏΠ°ΡΠ½ΠΎΠ³ΠΎ Π²ΠΈΡΡΡΠ° Π² ΡΠΈΡΡΠ΅ΠΌΠ΅. Π§Π°ΡΠ΅ Π²ΡΠ΅Π³ΠΎ Ρ ΠΎΠΏΠΈΡΠ°Π½Π½ΠΎΠΉ Π½Π΅ΡΠ΄Π°ΡΠ΅ΠΉ ΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΠ΅Π»ΠΈ ΡΡΠ°Π»ΠΊΠΈΠ²Π°ΡΡΡΡ Π² ΠΌΠΎΠΌΠ΅Π½Ρ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΡ ΠΈΠ»ΠΈ Π²ΡΠΊΠ»ΡΡΠ΅Π½ΠΈΡ Π³Π°Π΄ΠΆΠ΅ΡΠ°.
Π Π°Π·ΡΠ°Π±ΠΎΡΠΊΠ° ΠΏΠΎΠ΄ Android: ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ Π² android-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ
ΠΡΠΈ ΡΠ°Π·ΡΠ°Π±ΠΎΡΠΊΠ΅ ΠΌΠ½ΠΎΠ³ΠΈΡ
android-ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ ΡΡΠ΅Π±ΡΠ΅Ρ ΠΎΡΠ³Π°Π½ΠΈΠ·ΠΎΠ²Π°ΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ Π΄Π°Π½Π½ΡΡ
ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ Ρ Π΄Π°Π½Π½ΡΠΌΠΈ Π½Π° ΡΠ΅ΡΠ²Π΅ΡΠ΅. ΠΡΡΡ Π΄Π²Π° ΠΎΡΠ½ΠΎΠ²Π½ΡΡ
ΡΠΏΠΎΡΠΎΠ±Π° ΠΊΠ°ΠΊ Π΄Π°Π½Π½ΡΡ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ.
ΠΠ΅ΡΠ²ΡΠΉ ΡΠΏΠΎΡΠΎΠ± β ΠΊΠ»Π°ΡΡΠΈΡΠ΅ΡΠΊΠΈΠΉ (Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΠΎΠΏΡΠ»ΡΡΠ½ΡΠΉ ΠΈ Π½Π°ΠΈΠ±ΠΎΠ»Π΅Π΅ ΠΏΡΠΎΡΡΠΎΠΉ) β Ρ ΠΏΠΎΠΌΠΎΡΡΡ AlarmManager ΠΈ Service. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠ°ΠΊ ΠΎΠΏΠΈΡΠ°Π½ΠΎ Π² ΡΡΠΎΠΉ ΡΡΠ°ΡΡΠ΅.
ΠΡΠΎΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ± β Β«ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉΒ» (Π½ΠΎ ΠΏΠΎΠΊΠ° ΡΡΠΎ, Π²ΠΈΠ΄ΠΈΠΌΠΎ, ΡΠ΅Π΄ΠΊΠΎ ΠΊΠ΅ΠΌ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌΡΠΉ) β Ρ ΠΏΠΎΠΌΠΎΡΡΡ SyncAdapter.
Π Π°Π·ΡΠ°Π±Π°ΡΡΠ²Π°Ρ ΡΠ²ΠΎΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅, ΠΈΠ·Π½Π°ΡΠ°Π»ΡΠ½ΠΎ Ρ ΠΏΠΎΠΏΡΡΠ°Π»ΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ Β«ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΡΠΉΒ» (Ρ.Π΅. Π²ΡΠΎΡΠΎΠΉ ΡΠΏΠΎΡΠΎΠ±).
Π ΡΠΎΠΌ, ΠΊΠ°ΠΊ Π΅Π³ΠΎ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ β ΡΡΡΡ Π½ΠΈΠΆΠ΅. Π Π°ΡΡΠΊΠ°ΠΆΡ ΡΠ½Π°ΡΠ°Π»Π° ΠΎ ΡΠΎΠΌ, Ρ ΠΊΠ°ΠΊΠΈΠΌΠΈ ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡΠΌΠΈ ΠΈ ΠΎΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΡΠΌΠΈ Ρ ΡΡΠΎΠ»ΠΊΠ½ΡΠ»ΡΡ ΠΏΡΠΈ Π΅Π³ΠΎ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ.
ΠΡΠΎΠ±Π΅Π½Π½ΠΎΡΡΠΈ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ SyncAdapter
ΠΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ β Π΄Π°Π½Π½ΡΠΉ ΠΌΠ΅ΡΠΎΠ΄ Π΄ΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΏΠ»ΠΎΡ ΠΎ ΠΎΠΏΠΈΡΠ°Π½ Π² Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ. Π₯ΠΎΡΡ Π½Π° ΡΠ°ΠΉΡΠ΅ ΡΠ°ΠΉΡΠ΅ ΡΠ°Π·ΡΠ°Π±ΠΎΡΡΠΈΠΊΠΎΠ² Android ΠΈ Π΅ΡΡΡ ΠΏΡΠΈΠΌΠ΅Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ, Π±ΠΎΠ»Π΅Π΅ Ρ ΠΎΡΠΎΡΠΈΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠΌ (Ρ ΠΏΠΎΡΡΠ½Π΅Π½ΠΈΡΠΌΠΈ) Π±ΡΠ΄Π΅Ρ ΡΡΠ°ΡΡΡ ΠΏΠΎ ΡΡΠΎΠΉ ΡΡΡΠ»ΠΊΠ΅.
ΠΠ»Ρ ΡΠ°Π±ΠΎΡΡ Π΄Π°Π½Π½ΠΎΠ³ΠΎ ΡΠΏΠΎΡΠΎΠ±Π° ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΎΠ·Π΄Π°Π½ΠΈΠ΅ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠ³ΠΎ ΡΠΈΠΏΠ° ΡΠΊΠΊΠ°ΡΠ½ΡΠ° ΡΠΏΠ΅ΡΠΈΠ°Π»ΡΠ½ΠΎ Π΄Π»Ρ ΠΠ°ΡΠ΅Π³ΠΎ ΠΏΡΠ΅Π΄Π»ΠΎΠΆΠ΅Π½ΠΈΡ (Π΅ΡΠ»ΠΈ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠ΅ ΡΠΊΠΊΠ°ΡΠ½ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΊΠΊΠ°ΡΠ½ΡΡ Google Π½Π΅ ΠΏΠΎΠ΄Ρ
ΠΎΠ΄ΡΡ), Π° ΡΡΠΎ β ΡΠ΅ΠΌΠ° Π΄Π»Ρ ΠΎΡΠ΄Π΅Π»ΡΠ½ΠΎΠΉ ΡΡΠ°ΡΡΠΈ (ΠΏΡΠΈΠΌΠ΅Ρ ΠΌΠΎΠΆΠ½ΠΎ ΠΏΠΎΡΠΌΠΎΡΡΠ΅ΡΡ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΡΡ).
ΠΠ°Π½Π½ΡΠΉ ΡΠΊΠΊΠ°ΡΠ½Ρ Π±ΡΠ΄Π΅Ρ Π΄ΠΎΡΡΡΠΏΠ΅Π½ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Settings / Accounts & Sync. Π‘ΠΎΠ·Π΄Π°Π½ΠΈΠ΅ (ΠΈ ΡΠ΄Π°Π»Π΅Π½ΠΈΠ΅) ΡΠΊΠΊΠ°ΡΠ½ΡΠ° Π±ΡΠ΄Π΅Ρ Π²ΠΎΠ·ΠΌΠΎΠΆΠ½ΡΠΌ Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ ΠΈΠ· ΠΠ°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ, Π½ΠΎ ΠΈ ΠΈΠ· ΡΡΠΎΠ³ΠΎ ΡΠ°Π·Π΄Π΅Π»Π°. Π Π½Π΅ΠΌ ΠΌΠΎΠΆΠ½ΠΎ ΡΠΎΠ·Π΄Π°ΡΡ Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΎ ΡΠΊΠΊΠ°ΡΠ½ΡΠΎΠ² Π΄Π»Ρ ΠΠ°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ (Π½ΡΠΆΠ½ΠΎ Π»ΠΈ ΡΡΠΎ ΠΠ°ΡΠ΅ΠΌΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ?). ΠΠ»Ρ ΠΊΠ°ΠΆΠ΄ΠΎΠ³ΠΎ ΡΠΊΠΊΠ°ΡΠ½ΡΠ° Π½ΡΠΆΠ½ΠΎ ΠΈΠΌΡ (Π΄Π»Ρ OAuth-ΡΠΊΠΊΠ°ΡΠ½ΡΠΎΠ² ΠΏΡΠΈΡ
ΠΎΠ΄ΠΈΡΡΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΠΎΠ²Π°ΡΡ Π²ΡΠ΄ΡΠΌΠ°Π½Π½ΡΠ΅ ΠΈΠΌΠ΅Π½Π°).
ΠΡΠΈ ΡΡΠΎΠΌ Π½Π΅ΠΏΡΠ°Π²ΠΈΠ»ΡΠ½ΠΎ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΡΠΉ ΠΊΠΎΠ΄ ΡΠΊΠΊΠ°ΡΠ½ΡΠ° ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠΆΠ°Π΅Ρ ΠΊΠ°ΠΊ ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ, ΡΠ°ΠΊ ΠΈ ΡΠΌΡΠ»ΡΡΠΎΡ β ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ ΡΠ»ΠΎΠΆΠ½ΠΎ. ΠΡΠΈ ΡΡΠΎΠΌ, Π΅ΡΠ»ΠΈ ΠΡ ΡΠΎΠ·Π΄Π°Π»ΠΈ Π»ΠΈΡΡ ΠΊΠΎΠ΄, ΠΎΡΠ²Π΅ΡΠ°ΡΡΠΈΠΉ Π·Π° ΡΠΊΠΊΠ°ΡΠ½Ρ, ΠΈ Ρ
ΠΎΡΠΈΡΠ΅ Π΅Π³ΠΎ ΠΏΡΠΎΡΠ΅ΡΡΠΈΡΠΎΠ²Π°ΡΡ, ΡΠΎ Π½Π΅ Π²ΡΠΉΠ΄Π΅Ρ β Π±Π΅Π· ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π½Π°ΠΏΠΈΡΠ°Π½Π½ΠΎΠ³ΠΎ ΠΊΠΎΠ΄Π° SyncAdapter‘a ΡΡΡΡΠΎΠΉΡΡΠ²ΠΎ Π±ΡΠ΄Π΅Ρ ΠΏΠ΅ΡΠ΅Π·Π°Π³ΡΡΠΆΠ°ΡΡΡΡ ΠΏΡΠΈ Π²Ρ
ΠΎΠ΄Π΅ Π² Accounts & Sync.
ΠΠ°ΠΊ Π±ΡΡΡ Π΅ΡΠ»ΠΈ ΠΠ°ΡΠ΅ΠΌΡ ΠΏΡΠΎΡΠ΅ΡΡΡ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ Π½Π΅ Π½ΡΠΆΠ΅Π½ ΡΠΊΠΊΠ°ΡΠ½Ρ? ΠΡΠΈΠ΄Π΅ΡΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ dummy-ΡΠΊΠΊΠ°ΡΠ½Ρ.
ΠΡΠ»ΠΈ ΠΠ°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π±ΡΠ΄Π΅Ρ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ Π΄Π°Π½Π½ΡΠ΅ Ρ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΌΠΈ Π±Π°Π·Π°ΠΌΠΈ β ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ°ΠΌΠΈ ΡΠ΅Π»Π΅ΡΠΎΠ½Π°, ΡΠΎΠ±ΡΡΠΈΡΠΌΠΈ ΠΊΠ°Π»Π΅Π½Π΄Π°ΡΡ ΠΈΠ»ΠΈ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΎΡΠΎΠ³ΡΠ°ΡΠΈΡΠΌΠΈ, ΡΠΎ ΡΡΡ Π²ΡΠ΅ ΠΏΡΠΎΡΠ΅ (ΠΈ Π±ΠΎΠ»ΡΡΠΈΠ½ΡΡΠ²ΠΎ ΠΏΡΠΈΠΌΠ΅ΡΠΎΠ² Π² ΡΠ΅ΡΠΈ ΠΈΠΌΠ΅Π½Π½ΠΎ ΠΏΡΠΎ ΡΠ°ΠΊΠΎΠΉ ΡΠΈΠΏ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ). ΠΡΠ»ΠΈ ΠΆΠ΅ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΈΠ·Π²ΠΎΠ΄ΠΈΡΡΡΡ ΡΠΎ ΡΠ²ΠΎΠΈΠΌΠΈ Π΄Π°Π½Π½ΡΠΌΠΈ, ΡΠΎ Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ, ΡΡΠΎΠ± Π±ΡΠ» ΡΠΎΠ·Π΄Π°Π½ ΡΠ²ΠΎΠΉ ContentProvider.
ΠΠ°ΠΊ Π±ΡΡΡ, Π΅ΡΠ»ΠΈ ΠΠ°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π½Π΅ Ρ
ΠΎΡΠ΅Ρ Π΄Π΅Π»ΠΈΡΡΡΡ ΡΠ²ΠΎΠ΅ΠΉ Π±Π°Π·ΠΎΠΉ Ρ Π΄ΡΡΠ³ΠΈΠΌΠΈ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡΠΌΠΈ? ΠΡΠΈΠ΄Π΅ΡΡΡ ΡΠΎΠ·Π΄Π°Π²Π°ΡΡ dummy-ContentProvider, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠ°ΠΊΠΎΠΉ.
ΠΡΠ»ΠΈ Π²ΡΠ΅ ΡΠ΄Π΅Π»Π°Π½ΠΎ, ΠΈ Π΄Π°ΠΆΠ΅ ΡΠ²ΠΎΠΉ SyncAdapter Π½Π°ΠΏΠΈΡΠ°Π½ (ΡΠΌ. Π½ΠΈΠΆΠ΅ ΠΊΠ°ΠΊ), ΡΠΎ ΡΠ΅ΠΏΠ΅ΡΡ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ Π±ΡΠ΄Π΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π·Π°ΠΏΡΡΠΊΠ°ΡΡΡΡ ΠΊΠΎΠ³Π΄Π° ΠΈΠ·ΠΌΠ΅Π½ΠΈΠ»ΠΈΡΡ Π΄Π°Π½Π½ΡΠ΅ Π² Π»ΠΎΠΊΠ°Π»ΡΠ½ΠΎΠΉ Π±Π°Π·Π΅.
ΠΡΠ»ΠΈ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΡΠΈΡΡ Π²ΡΡΡΠ½ΡΡ, ΡΠΎ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π΅ΡΡΡ ΡΡΠ½ΠΊΡΠΈΡ requestSync(), Π½ΠΈΠΆΠ΅ Π±ΡΠ΄Π΅Ρ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ ΠΎΠ± ΠΎΠ³ΡΠ°Π½ΠΈΡΠ΅Π½ΠΈΡΡ ΡΡΠ½ΠΊΡΠΈΠΈ. ΠΡΠ»ΠΈ Π½ΡΠΆΠ½ΠΎ Π·Π°ΠΏΡΡΠΊΠ°ΡΡ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ, ΡΠΎ Π΄Π»Ρ ΡΡΠΎΠ³ΠΎ Π΅ΡΡΡ Π΄ΡΡΠ³Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ β addPeriodicSync(). Π₯ΠΎΡΡ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ ΠΎΠ½Π° Π»ΠΈΡΡ Π½Π° Android 2.2 ΠΈΠ»ΠΈ Π²ΡΡΠ΅. ΠΠΎ ΡΠ°Π±ΠΎΡΠ°Π΅Ρ Π΄Π°Π½Π½Π°Ρ ΡΡΠ½ΠΊΡΠΈΡ ΠΎΡΠ»ΠΈΡΠ½ΠΎ β Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Π΅ΡΠ»ΠΈ Π² ΠΌΠΎΠΌΠ΅Π½Ρ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ Π½Π΅Ρ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ-ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ, ΡΠΎ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΎΠΈΠ·ΠΎΠΉΠ΄Π΅Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈ Π² ΡΠΎΡ ΠΌΠΎΠΌΠ΅Π½Ρ, ΠΊΠΎΠ³Π΄Π° ΠΎΠ½ΠΎ ΠΏΠΎΡΠ²ΠΈΡΡΡ.
ΠΠ°ΠΊ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°ΡΡ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ SyncAdapter‘Π°
Π§ΡΠΎ ΠΆΠ΅ ΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠ΄Π΅Π»Π°ΡΡ Π΄Π»Ρ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ Ρ ΠΏΠΎΠΌΠΎΡΡΡ SyncAdapter? (ΠΏΠ΅ΡΠ΅Π²ΠΎΠ΄ ΠΎΡΠ²Π΅ΡΠ° c StackOverflow)
1. Π£Π²Π΅Π΄ΠΎΠΌΠΈΡΡ Android, ΡΡΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΈΠ²Π°Π΅Ρ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ
ΠΠ»Ρ ΡΡΠΎΠ³ΠΎ Π² AndroidManifest.xml Π½Π΅ΠΎΠ±Ρ ΠΎΠ΄ΠΈΠΌΠΎ ΡΠΊΠ°Π·Π°ΡΡ ΡΠ΅ΡΠ²ΠΈΡ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ:
Π³Π΄Π΅ name β ΠΈΠΌΡ, ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ΅Π΅ ΠΈΠΌΠ΅Π½ΠΈ ΠΊΠ»Π°ΡΡΠ° Π΄Π»Ρ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ (ΠΎΠ± ΡΡΠΎΠΌ β ΡΡΡΡ Π½ΠΈΠΆΠ΅); exported β Π΄Π΅Π»Π°Π΅Ρ ΡΠ΅ΡΠ²ΠΈΡ Π΄ΠΎΡΡΡΠΏΠ½ΡΠΌ Π΄ΡΡΠ³ΠΈΠΌ ΠΊΠΎΠΌΠΏΠΎΠ½Π΅Π½ΡΠ°ΠΌ (Π² Ρ.Ρ. ΠΈ ContentResolver, ΠΊΠΎΡΠΎΡΡΠΉ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΡΡΡ Π΄Π»Ρ Π²Π·Π°ΠΈΠΌΠΎΠ΄Π΅ΠΉΡΡΠ²ΠΈΡ Ρ ΡΠ΅ΡΠ²ΠΈΡΠΎΠΌ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ); intent-filter ΠΏΠΎΠ·Π²ΠΎΠ»ΡΠ΅Ρ ΠΏΠ΅ΡΠ΅Ρ Π²Π°ΡΡΠ²Π°ΡΡ ΡΠΎΠ±ΡΡΠΈΠ΅, ΡΡΠ΅Π±ΡΡΡΠ΅Π΅ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ (Π²ΠΎΠ·Π½ΠΈΠΊΠ°Π΅Ρ, Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, ΠΊΠΎΠ³Π΄Π° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ Π·Π°ΠΏΡΠΎΡΠ΅Π½Π° ΡΡΠ½ΠΊΡΠΈΠ΅ΠΉ RequestSync() ΠΠ°ΡΠ΅Π³ΠΎ ContentResolver‘a).
2. Π‘ΠΎΠ·Π΄Π°ΡΡ ΡΠ΅ΡΠ²ΠΈΡ (ΡΠ»ΡΠΆΠ±Ρ) Π΄Π»Ρ Π½Π°Ρ ΠΎΠΆΠ΄Π΅Π½ΠΈΡ SyncAdapter‘a
ΠΠ°Ρ ΠΊΠ»Π°ΡΡ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ°ΡΡΠΈΡΡΡΡ Service, Π² Π½Π΅ΠΌ Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΏΠ΅ΡΠ΅ΠΌΠ΅Π½Π½Π°Ρ ΡΠΊΠ·Π΅ΠΌΠΏΠ»ΡΡΠ° AbstractThreadedSyncAdapter. ΠΠ½ Π΄ΠΎΠ»ΠΆΠ΅Π½ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²ΡΠ²Π°ΡΡ public IBinder onBind(Intent) ΠΈ Π΄ΠΎΠ»ΠΆΠ΅Π½ Π²ΠΎΠ·Π²ΡΠ°ΡΠ°ΡΡ SyncAdapterBinder.
ΠΠΎΡΡΠ°ΡΠΎΡΠ½ΠΎ ΠΌΠ½ΠΎΠ³ΠΎΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ Π±ΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·ΠΎΠ²Π°Π½ΠΎ Π² ΡΡΠΎΠΌ ΠΊΠ»Π°ΡΡΠ΅, Ρ.ΠΊ. Π΄Π°Π½Π½ΡΠΉ ΡΠ΅ΡΠ²ΠΈΡ ΠΏΡΠ΅Π΄ΠΎΡΡΠ°Π²Π»ΡΠ΅Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΉ ΠΈΠ½ΡΠ΅ΡΡΠ΅ΠΉΡ Π΄Π»Ρ SyncAdapter Android’a.
3. Π‘ΠΎΠ·Π΄Π°ΡΡ ΠΊΠ»Π°ΡΡ SyncAdapter Π΄Π»Ρ Π½Π΅ΠΏΠΎΡΡΠ΅Π΄ΡΡΠ²Π΅Π½Π½ΠΎΠ³ΠΎ ΠΎΡΡΡΠ΅ΡΡΠ²Π»Π΅Π½ΠΈΡ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ
mySyncAdapter β ΠΌΠ΅ΡΡΠΎ, Π³Π΄Π΅ ΡΠΎΠ΄Π΅ΡΠΆΠΈΡΡΡ ΡΠ°ΠΌΠ° Π»ΠΎΠ³ΠΈΠΊΠ° ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ. ΠΠΎΠ³Π΄Π° ΠΏΡΠΈΡ ΠΎΠ΄ΠΈΡ Π²ΡΠ΅ΠΌΡ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ, Π²ΡΠ·ΡΠ²Π°Π΅ΡΡΡ onPerformSync().
4. ΠΡΡΡΠ΅ΡΡΠ²ΠΈΡΡ ΡΠ²ΡΠ·ΡΠ²Π°Π½ΠΈΠ΅ (binding) ΠΌΠ΅ΠΆΠ΄Ρ ΡΠΈΠΏΠΎΠΌ ΡΠΊΠΊΠ°ΡΠ½ΡΠ° ΠΈ Content Authority
Π ΠΏΡΠ½ΠΊΡΠ΅ 1, Π² ΡΠ°ΠΉΠ»Π΅ AndroidManifest.xml, Π² ΠΏΠΎΠ»Π΅ name ΠΌΡ ΡΠΊΠ°Π·Π°Π»ΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅, ΠΊΠΎΡΠΎΡΡΡ ΠΈ ΠΎΠ±ΡΠ°Π·ΡΠ΅Ρ ΡΠ²ΡΠ·Ρ ΠΌΠ΅ΠΆΠ΄Ρ ContentAuthority ΠΈ ΡΠΊΠΊΠ°ΡΠ½ΡΠΎΠΌ. AndroidManifest.xml ΡΡΡΠ»Π°Π΅ΡΡΡ Π½Π° Π΄ΡΡΠ³ΠΎΠΉ xml-ΡΠ°ΠΉΠ». Π Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ ΡΡΠΎ sync_myapp.xml:
ΠΠ°Π½Π½ΡΠΉ ΡΠ°ΠΉΠ» ΡΠΎΠΎΠ±ΡΠ°Π΅Ρ Android’Ρ, ΡΡΠΎ ΡΠΎΠ·Π΄Π°Π½Π½ΡΠΉ Π½Π°ΠΌΠΈ SyncAdapter Π±ΡΠ΄Π΅Ρ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·ΠΈΡΠΎΠ²Π°ΡΡ ΠΊΠΎΠ½ΡΠ°ΠΊΡΡ.
ΠΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΡ ΡΡΡΠΎΠΊ Π² contentAuthority Π΄ΠΎΠ»ΠΆΠ½Ρ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ ΡΠΎ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ ΡΠΎΠ³ΠΎ, Ρ ΡΠ΅ΠΌ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡΡ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ. ΠΡΠ»ΠΈ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ Π±ΡΠ΄Π΅Ρ ΠΏΡΠΎΠΈΡΡ ΠΎΠ΄ΠΈΡΡ Ρ ΠΠ°ΡΠ΅ΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΠΎΠΉ Π±Π°Π·ΠΎΠΉ, ΡΠΎ Ρ ΠΠ°ΡΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ. ΠΡΠ»ΠΈ Ρ ΠΊΠ°ΠΊΠΈΠΌΠΈ-Π»ΠΈΠ±ΠΎ ΡΡΡΠ΅ΡΡΠ²ΡΡΡΠΈΠΌΠΈ Π±Π°Π·Π°ΠΌΠΈ (Π½Π°ΠΏΡΠΈΠΌΠ΅Ρ, Ρ ΠΊΠΎΠ½ΡΠ°ΠΊΡΠ°ΠΌΠΈ ΠΈΠ»ΠΈ ΡΠΎΠ±ΡΡΠΈΡΠΌΠΈ ΠΊΠ°Π»Π΅Π½Π΄Π°ΡΡ), ΡΠΎ ΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌΠΈ Π·Π½Π°ΡΠ΅Π½ΠΈΡΠΌΠΈ. ΠΠ°ΠΏΡΠΈΠΌΠ΅Ρ, ΡΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π²ΡΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Β«com.android.contactsΒ» ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΠ΅Ρ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠ΅ ΠΊΠΎΠ½ΡΠ°ΠΊΡΡ.
ΠΠ½Π°ΡΠ΅Π½ΠΈΠ΅ accountType ΡΠ°ΠΊΠΆΠ΅ Π΄ΠΎΠ»ΠΆΠ½ΠΎ ΡΠΎΠ²ΠΏΠ°Π΄Π°ΡΡ Π»ΠΈΠ±ΠΎ Ρ ΠΠ°ΡΠΈΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ, Π»ΠΈΠ±ΠΎ ΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ΠΌ. ΠΡΠ»ΠΈ ΠΡ ΡΠΎΠ·Π΄Π°Π΅ΡΠ΅ ΡΠ²ΠΎΠΉ ΡΠΎΠ±ΡΡΠ²Π΅Π½Π½ΡΠΉ ΡΠΈΠΏ ΡΠΊΠΊΠ°ΡΠ½ΡΠ°, ΡΠΎ ΠΠ°ΠΌ ΠΏΠΎΡΡΠ΅Π±ΡΠ΅ΡΡΡ ΡΠΎΠ·Π΄Π°ΡΡ ΠΈ ΠΏΠΎΠ΄ΠΊΠ»Π°ΡΡ AccountAuthenticator, ΡΡΠΎΠ±Ρ ΠΎΡΡΡΠ΅ΡΡΠ²Π»ΡΡΡ Π°Π²ΡΠΎΡΠΈΠ·Π°ΡΠΈΡ Π½Π° ΠΠ°ΡΠ΅ΠΌ ΡΠ΅ΡΠ²Π΅ΡΠ΅ (ΡΠΌ. ΡΠΆΠ΅ ΡΠΊΠ°Π·Π°Π½Π½ΡΡ Π²ΡΡΠ΅ ΡΡΠ°ΡΡΡ). Π£ΠΊΠ°Π·Π°Π½Π½ΠΎΠ΅ Π² Π½Π°ΡΠ΅ΠΌ ΠΏΡΠΈΠΌΠ΅ΡΠ΅ Π·Π½Π°ΡΠ΅Π½ΠΈΠ΅ Β«com.googleΒ» ΠΈΠ΄Π΅Π½ΡΠΈΡΠΈΡΠΈΡΡΠ΅Ρ, ΡΡΠΎ ΠΌΡ ΠΈΡΠΏΠΎΠ»ΡΠ·ΡΠ΅ΠΌ Google-ΡΠΊΠΊΠ°ΡΠ½Ρ.
5. ΠΠΊΠ»ΡΡΠ΅Π½ΠΈΠ΅ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ Π΄Π»Ρ ΡΠΎΠ·Π΄Π°Π½Π½ΠΎΠΉ ΠΏΠ°ΡΡ Account—ContentAuthority
ΠΠ°ΠΊΠΎΠ½Π΅Ρ, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΏΡΠΎΡΠ΅ΡΡ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ. ΠΡΠΎ ΠΌΠΎΠΆΠ½ΠΎ ΡΠ΄Π΅Π»Π°ΡΡ Π»ΠΈΠ±ΠΎ Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Settings / Accounts & Sync, Π»ΠΈΠ±ΠΎ ΠΏΡΠΎΠ³ΡΠ°ΠΌΠΌΠ½ΠΎ Π² ΠΠ°ΡΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ:
ΠΠ»Ρ ΠΎΡΡΡΠ΅ΡΡΠ²Π»Π΅Π½ΠΈΡ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ ΠΎΠ½Π° Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½Π° Π½Π΅ ΡΠΎΠ»ΡΠΊΠΎ Π΄Π»Ρ ΠΠ°ΡΠ΅Π³ΠΎ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΡ β Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎ Π³Π»ΠΎΠ±Π°Π»ΡΠ½ΠΎΠ΅ ΡΠ°Π·ΡΠ΅ΡΠ΅Π½ΠΈΠ΅ Π½Π° ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ (Π² ΡΠ°Π·Π΄Π΅Π»Π΅ Settings / Accounts & Sync Π΄ΠΎΠ»ΠΆΠ½Π° Π±ΡΡΡ ΠΏΡΠΎΡΡΠ°Π²Π»Π΅Π½Π° ΡΠΎΠΎΡΠ²Π΅ΡΡΡΠ²ΡΡΡΠ°Ρ Π³Π°Π»ΠΊΠ°).
ΠΡΠ»ΠΈ ΠΎΠ΄Π½ΠΎ ΠΈΠ· ΡΡΠΈΡ
ΡΡΠ»ΠΎΠ²ΠΈΠΉ Π½Π΅ Π²ΡΠΏΠΎΠ»Π½Π΅Π½ΠΎ, ΡΠΎ Π²ΡΠ·ΠΎΠ² RequestSync() Π½ΠΈ ΠΊ ΡΠ΅ΠΌΡ Π½Π΅ΠΌΠ΅Π΄Π»Π΅Π½Π½ΠΎ Π½Π΅ ΠΏΡΠΈΠ²Π΅Π΄Π΅Ρ, Π·Π°ΠΏΡΠΎΡΠ΅Π½Π½Π°Ρ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ ΠΎΠ΄Π½Π°ΠΊΠΎ Π±ΡΠ΄Π΅Ρ Π²ΡΠΏΠΎΠ»Π½Π΅Π½Π° ΠΏΡΠΈ Π²ΠΊΠ»ΡΡΠ΅Π½ΠΈΠΈ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ. Π₯ΠΎΡΡ, ΡΡΡΠ΅ΡΡΠ²ΡΠ΅Ρ ΡΠΏΠΎΡΠΎΠ± ΡΡΠΎ ΠΎΠ±ΠΎΠΉΡΠΈ.
ΠΠΎΠΏΠΎΠ»Π½ΠΈΡΠ΅Π»ΡΠ½ΠΎ, ΠΌΠΎΠΆΠ½ΠΎ Π²ΠΊΠ»ΡΡΠΈΡΡ ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈΠ΅ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΠ΅ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ.
ΠΡΠ²ΠΎΠ΄Ρ
Π ΡΠ°ΠΊ, ΡΠ΅ΠΌ ΠΆΠ΅ Ρ ΠΎΡΠΎΡΠ° (+) ΠΈ ΠΏΠ»ΠΎΡ Π° (-) ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ Ρ ΠΏΠΎΠΌΠΎΡΡΡ SyncAdapter ΠΏΠΎ ΡΡΠ°Π²Π½Π΅Π½ΠΈΡ Ρ ASyncTask?
(+) ΡΠ»Π΅Π΄ΠΎΠ²Π°Π½ΠΈΠ΅ ΡΡΠ°Π½Π΄Π°ΡΡΠ°ΠΌ (ΠΠ°ΡΠ΅ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠ΅ Π² ΡΠΏΠΈΡΠΊΠ΅ Π²ΡΠ΅Ρ
ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·ΠΈΡΡΡΡΠΈΡ
ΡΡ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΉ)
(+) ΠΏΠΎΠ΄Π΄Π΅ΡΠΆΠΊΠ° Π½Π΅ΡΠΊΠΎΠ»ΡΠΊΠΈΡ
ΡΠΊΠΊΠ°ΡΠ½ΡΠΎΠ²
(+) ΠΏΡΠΎΡΡΠΎΡΠ° ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ
ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΉ (ΠΊΠΎΠ³Π΄Π° ΠΎΡΡΠ°Π»ΡΠ½ΠΎΠ΅ Π²ΡΠ΅ ΡΠΆΠ΅ Π½Π°ΠΏΠΈΡΠ°Π½ΠΎ)
(+) Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠ°Ρ ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΡ ΠΏΡΠΈ ΠΏΠΎΡΠ²Π»Π΅Π½ΠΈΠΈ ΠΈΠ½ΡΠ΅ΡΠ½Π΅Ρ-ΡΠΎΠ΅Π΄ΠΈΠ½Π΅Π½ΠΈΡ
(+) ΡΠ΄ΠΎΠ±ΡΡΠ²ΠΎ Π² ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ ΡΠΎ ΡΡΠ°Π½Π΄Π°ΡΡΠ½ΡΠΌΠΈ Π±Π°Π·Π°ΠΌΠΈ (ΠΊΠΎΠ½ΡΠ°ΠΊΡΡ, ΠΊΠ°Π»Π΅Π½Π΄Π°ΡΡ ΠΈ Ρ.ΠΏ.)
(-) Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠΊΠΊΠ°ΡΠ½ΡΠ°
(-) ΠΎΡΡΡΡΡΡΠ²ΠΈΠ΅ ΠΏΠΎΠ»Π½ΠΎΡΠ΅Π½Π½ΠΎΠΉ Π΄ΠΎΠΊΡΠΌΠ΅Π½ΡΠ°ΡΠΈΠΈ
(-) ΡΠ»ΠΎΠΆΠ½ΠΎΡΡΡ ΡΠ΅Π°Π»ΠΈΠ·Π°ΡΠΈΠΈ ΠΈ ΡΠ΅ΡΡΠΈΡΠΎΠ²Π°Π½ΠΈΡ
(-) Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ Π² Android 2.2 ΠΈ Π²ΡΡΠ΅ Π΄Π»Ρ Π°Π²ΡΠΎΠΌΠ°ΡΠΈΡΠ΅ΡΠΊΠΈΡ
ΠΏΠ΅ΡΠΈΠΎΠ΄ΠΈΡΠ΅ΡΠΊΠΈΡ
ΡΠΈΠ½Ρ
ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΉ
(-) Π½Π΅ΠΎΠ±Ρ
ΠΎΠ΄ΠΈΠΌΠΎΡΡΡ ΡΠΎΠ·Π΄Π°Π½ΠΈΡ ΡΠ²ΠΎΠ΅Π³ΠΎ ContentProvider’a
ΠΡΠΎΠ³ΠΎ, Ρ Π²ΡΠ±ΡΠ°Π» ASyncTask Π΄Π»Ρ ΡΠΈΠ½Ρ ΡΠΎΠ½ΠΈΠ·Π°ΡΠΈΠΈ Π² ΡΠ²ΠΎΠ΅ΠΌ ΠΏΡΠΈΠ»ΠΎΠΆΠ΅Π½ΠΈΠΈ (Ρ ΠΎΡΡ ΠΊΠΎΠ΄ Π΄Π»Ρ SyncAdapter Π±ΡΠ» ΡΠΆΠ΅ ΠΏΠΎΡΡΠΈ ΠΏΠΎΠ»Π½ΠΎΡΡΡΡ Π½Π°ΠΏΠΈΡΠ°Π½) β ΠΏΡΠ΅ΠΆΠ΄Π΅ Π²ΡΠ΅Π³ΠΎ, Π½Π΅ Ρ ΠΎΡΠ΅Π»ΠΎΡΡ ΠΎΠ³ΡΠ°Π½ΠΈΡΠΈΠ²Π°ΡΡΡΡ Π²Π΅ΡΡΠΈΠ΅ΠΉ 2.2 Android.