我已經設置了一個應用程序來執行與Android同步框架的同步。大部分內部工作都來自同步適配器演示。我有一個非常簡單的問題,什麼時候該應用程序同步?我知道Google服務會在收到網絡「癢癢」時同步,您設置的同步服務也是如此。Android應用程序同步計劃
回答
由於Amorgos提到您提到的那些發癢是C2DM推送消息。如果在雲中製作後立即同步更改非常重要,則應考慮實施它們。你可以去here瞭解更多信息。
用於請求同步操作,你必須看看類是ContentResolver。如果你想同步呼叫requestSync(帳戶帳戶,字符串權限,捆綁額外)(用於同步按鈕或類似的)。要同步您的ContentProvider的變化可以在創建/更改條目(不應該同步虛假和不同步更換真正的變化將觸發)後調用
getContentResolver().notifyChange(CONTENT_URI, null, true);
。如果您的SyncAdapter的xml文件中的android:supportsUploading設置爲true,則會自動觸發同步。在這種情況下,SyncAdapter中的Bundle包含一個布爾值,其中包含密鑰ContentResolver .SYNC_EXTRAS_UPLOAD,該值爲true。您可以使用它將本地更改同步到雲中,而不是查詢任何內容。
如果你只想同步每一個時間段使用addPeriodicSync(客戶賬戶,串權威,捆綁臨時演員,長pollFrequency)。
您也可以使用ContentResolver讀取/設置它是否應該同步(在設備設置中顯示在帳戶&同步處的值)。該方法是getIsSyncable(...)和setIsSyncable(...)。
我希望這可以幫助你。
編輯: 這也說明了過程真的好:Why does ContentResolver.requestSync not trigger a sync?
這一切都取決於您的應用程序的要求。如果您正在同步數據,而這些數據對於用戶直接知道的並不重要,那麼啓動同步的操作系統就足夠了。 (聯繫人列表是一個很好的例子)
如果你的應用程序依賴於更實時的方式被通知,那麼你應該考慮使用C2DM推送通知以啓動同步過程。當服務器修改數據並將其發送到您的設備時,您可以提出C2DM消息。然後,該應用程序將根據此消息的內容運行您的同步過程。 (C2DM是你提到的Gmail例如網絡撓癢癢)
它是由你來構建應用程序,以決定何時有效地發起同步使用你決定的任何方式。所有應用程序都有不同的同步要求。
- 1. Android同步應用程序
- 2. 自動同步的Android應用程序
- 3. 同步android應用程序與網站?
- 4. 步計數器應用程序,如計步器在android
- 5. 與Android應用程序同步桌面應用程序
- 6. PC應用程序和Android應用程序之間的同步
- 7. 異步NSURLConnection計劃教程
- 8. Web應用程序與應用程序服務計劃
- 9. 協助計劃應用程序
- 10. Web應用程序的計劃任務
- 11. 退出Web應用程序的計劃
- 12. Iphone URL計劃:回到應用程序
- 13. 使用意圖與計劃啓動應用程序Android
- 14. Android開始使用URL時應用程序堆棧計劃
- 15. 計劃程序
- 16. Azure功能應用程序:如何部署不同的計劃?
- 17. 自定義URL計劃不啓動android應用程序
- 18. 如何爲我的android應用程序實現升級計劃?
- 19. Android應用程序劃分項目
- 20. C#winforms應用程序線程同步
- 21. Android應用程序,Web和桌面應用程序之間的同步數據
- 22. Web應用程序與Android手機應用程序同步數據
- 23. Android應用程序設計
- 24. Android設計應用程序
- 25. android應用程序設計
- 26. 步驟去編程android應用程序
- 27. 用於同步桌面應用程序的數據庫設計
- 28. 用於同步兩個應用程序的設計模式
- 29. 從任務計劃程序調用ClickOnce應用程序
- 30. Android後臺任務計劃程序