Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android 推送原理(Android Push Notification)詳解

Android 推送原理(Android Push Notification)詳解

編輯:關於Android編程

Android 推送原理

由於最近項目中涉及到了Android推送,所以看了一些關於android推送方面的東西,總結到後面我們知道android推送的實現可以歸結為3種:

1、POLL,拉。大致思路為向服務器定時的發送請求,然後自己讓服務器返回信息。

優點:實現簡單。
缺點:實時性差。如果定時間隔小連接數又多,對服務器會有高壓力要求。據說還會費電……不知道是不是真的。

2、SMS,彩信方式。據說是攔截彩信,並解析內容。這個還沒有動手實踐過。

優點:實現簡單。實時性也好。
缺點:SMS服務的成本問題。貴!

3、TCP/IP,持久的長連接。簡單的說就是與服務器建立一個基於TCP/IP持久連接,然後服務器就可以給你發消息了。

優點:實時性好。
缺點:實現起來比較困難。據說也會比較費電……也沒測試過。

POLL的比較簡單,用Timer和TimerTask定時器,以及HTTP相關的幾個類就可以實現基本的功能,然後自己解析服務器返回信息。

主要是關於持久長連接的實現:1、基於IBM的MQTT實現。 2、基於XMPP實現

基於XMPP實現的有一個Androidpn項目,開源的。雖然後面項目中我采用了MQTT。因為Androidpn不夠成熟,裡面有一些bug,我暫時無法修掉。因為我只看了Android端的源代碼,也許有些bug需要根據服務端修改。(困擾我很久的問題是服務器重啟後androidpn手機端無法重連,暫時放下了,等有需要再去啃它)

其項目源碼在這裡可以下:http://sourceforge.net/projects/androidpn/ 進去之後的Files標簽裡有3個資源:

androidpn-server 服務器端代碼
androidpn-demoapp 實例(說實話,沒什麼用)
androidpn-client 手機端代碼

補充:我記得再導入項目後可能會出現:unable to resolve target ‘google inc. : Google APIs :7'這樣的錯誤提示。

解決方法: 項目右鍵,Properties,Resource,Text file encoding,other,選擇UTF-8
                                                             Android,Project Build Target,選擇Android1.5

感謝閱讀,希望能幫助到大家,謝謝大家對本站的支持!

  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved