我已經設置了一個應用程序來執行與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. 異步NSURLConnection計劃教程
- 6. Web應用程序與應用程序服務計劃
- 7. 使用意圖與計劃啓動應用程序Android
- 8. 退出Web應用程序的計劃
- 9. 協助計劃應用程序
- 10. Web應用程序的計劃任務
- 11. Iphone URL計劃:回到應用程序
- 12. Web應用程序與Android手機應用程序同步數據
- 13. Android設計應用程序
- 14. android應用程序設計
- 15. Android應用程序設計
- 16. 如何設置android的計劃程序
- 17. 用於同步兩個應用程序的設計模式
- 18. Android應用程序數據庫與遠程數據庫同步
- 19. Silverlight多用戶同步應用程序
- 20. 不同的輸出當單步計劃
- 21. iphone中的計步器應用程序
- 22. 同步提供程序應該是Android庫還是應用程序?
- 23. 桌面WiFi應用程序與移動應用程序同步
- 24. 保持iPhone應用程序與GWT應用程序同步
- 25. 離線同步Android應用程序的通用體系結構
- 26. 如何創建任務計劃程序應用程序
- 27. 任務計劃程序應用程序退出觸發器
- 28. 在Windows任務計劃程序中運行VB應用程序
- 29. 設計用於計劃應用程序的UI(ios Swift)
- 30. 同步兩個Lightswitch應用程序