我正在android中創建一個chat app
。應用程序一次將有100-150個用戶(實時更改)。 用戶數據來自http webserver。 我正在嘗試創建一個實時用戶列表,這將隨着用戶數據從服務器更改而動態更改。 有以下方法來實現這個問題- 1.我可以在每2分鐘使用poll http
請求從服務器獲取數據。 有兩種輪詢方式First
,使用Timertask類。 Second
創建服務等級並使用警報管理器。哪種方法性能最好?後來我發現投票是真正的電池殺手。除了輪詢實時用戶列表解決方案以外是否還有其他方法? 像Facebook這樣的現代應用使用哪種技術來實時更改數據?實時用戶列表在Android應用程序
1
A
回答
0
爲什麼有必要?我不會那樣做。你可以有一個服務,從服務器獲取數據並將其保存到本地數據庫。當你開始服務時,那是你的選擇!我不會每2分鐘下載一次或類似的東西。也許你可以對用戶操作做出反應。所以如果他打開應用程序或點擊聊天列表或類似的東西。
如果你真的需要它,你可以使用GoogleCloudMessaging,但我真的認爲,這是一個可怕的想法!
0
在我看來,你應該使用GCM代替以重複間隔使用輪詢。每當用戶發生任何變化時,您只需向您的應用發送推送通知,然後在您的BroadCastReceiver中打一個web api即可獲取最新的提要。
0
SyncAdapter/AccountManager對您的用例很有用。 Authenticator(在場景後面調用AccountManager)可以處理應用程序的身份驗證。 SyncAdapter可以處理從服務器到本地數據存儲的定期同步。您不需要使用AlarmManager自己實現它。對於示例代碼Sync Adapter
您的服務器將與SyncAdapter一起使用,沒有太多變化。唯一的區別是在你的客戶端,比如,例如,不是在AlarmManager中調用服務器的讀取數據方法,而是在擴展SyncAdapter的類的onPerformSync()中調用它們。
希望這會有所幫助。
相關問題
- 1. Android - 應用程序列表
- 2. Android:實時android應用程序設計
- 3. 在android應用程序上獲取Asterisk Dialplan用戶列表
- 4. 實時Android無移動應用程序的應用程序
- 5. 如何使用Android應用程序解析用戶列表
- 6. 銷售Android應用程序而不在商戶列表中
- 7. 實時製圖應用程序Android
- 8. 實時圖android for iperf應用程序
- 9. 如何獲得Android應用程序的應用程序列表?
- 10. 從Android應用程序列表中隱藏應用程序
- 11. Android應用程序可以獲取用戶的時間表嗎?
- 12. Android:用戶打開短信應用程序或手機應用程序/未接電話列表時的通知
- 13. Android應用程序:Gson在閱讀時崩潰列表
- 14. 如何在Android應用程序中實現應用程序空閒超時?
- 15. Flex移動應用程序列表(android)
- 16. 在Android應用程序中實現Leadbolt
- 17. iOS實時應用程序
- 18. PHP實時應用程序
- 19. rails實時應用程序
- 20. android應用程序只出現在設置中的應用程序列表
- 21. Android應用程序圖標未出現在應用程序列表中
- 22. 如何讓我的android應用程序「用戶」在運行時?
- 23. 在Android應用程序中同時獲取用戶的位置
- 24. Android:如何在應用程序未運行時通知用戶
- 25. 詢問用戶是否想在用戶退出應用程序時參加Android應用程序調查
- 26. 應用程序在Android應用程序空閒時間
- 27. 想要顯示我的Android應用程序在郵件列表中的用戶
- 28. 用於實現Android應用程序
- 29. 如何在不使用Android應用程序時註銷android應用程序
- 30. 在Facebook上獲取用戶的應用程序列表
是的,我可以使用拉來刷新。也許我會,但我試圖找到最好的辦法。 – NeiL 2014-10-29 08:14:04