2017-03-07 43 views
0

我正在開發一個自定義聊天應用程序。Android後臺服務:CPU和網絡使用疑惑

發送的消息使用簡單的POST存儲在我的服務器上。

如果當前用戶有新消息並向他/她發送通知,則在後臺運行的服務負責使用另一個POST每5秒進行檢查。

我有點擔心網絡和CPU的使用,因爲我知道互聯網連接全天使用。

我使用了這種方法,因爲在將通知發送給接收方之前,我需要處理服務器代碼上的一些數據。

一個例子是,我有一些用戶分配爲管理員。用戶名是他們的電子郵件。當一個管理員發送一條消息時,我會在將通知發送給接收者之前用應用程序名稱覆蓋他們的用戶名(所以他們的電子郵件)。

這是創建自定義聊天應用程序的最佳方法嗎?

+0

你每次發送郵件時都用用戶名重寫他們的電子郵件?爲什麼你需要在服務器端而不是應用端進行? – kristyna

+0

是的,我做到了。只是因爲有人可以反編譯並改變這種行爲。神奇地能夠發送消息到所有社區... – Seed3Key

回答

0

不知道爲什麼你使用這個用例,但真正簡單的解決方案提供了Firebase。

您可以閱讀關於here的內容。基本上,你必須:

  1. 創建一些佈局
  2. 添加監聽器「發送消息」點擊,這將增加消息火力實時數據庫
  3. 創建FirebaseListAdapter,誰就會顯示消息用戶

database docs

所有的客戶端共享一個實時數據庫I nstance和 會自動接收最新數據的更新。

從我的內容中,如果有一些消息在等待,您不必每5秒檢查一次。 Firebase會爲您處理它。

+0

基本上我有幾個用戶是管理員。當他們發送聊天消息時,我使用硬編碼名稱覆蓋我的服務器php代碼中的詳細信息。使用Firebase我無法控制這些數據。你有什麼想法建議我嗎? – Seed3Key