Android訊息推送的Androidpn實現方式:(一)下載androidpn伺服器端與客戶端的Demo並執行
androidpn是基於XMPP協議的用於向Android客戶端推送文字資訊的一套開源的工具。它幫我們做了那些維護Socket長連線等等的事情。
在真正把它使用在我們的專案中之前,我們先領略一下推送。
第二步,啟動伺服器端與客戶端,通過Web頁面推送。詳細的步驟如下:
---------------------------------------------------------------------
關於伺服器端向Android客戶端的推送,主要有三種方式:
1.客戶端定時去服務端取或者保持一個長Socket,從本質講這個不叫推送,這是去服務端拽資料。但是實現簡單,主要缺點:耗電等
2.Google的C2DM,具體不細說,缺點,伺服器在國外,你懂得,不是很穩定。
3.XMPP協議,它是一種基於XML的傳遞協議,具有很強的靈活性和可擴充套件性。它的特點是將複雜性從客戶端轉移到了伺服器端。
聽說GTalk、QQ、IM等都用這個協議。
接下來說說XMPP在android客戶端上的應用。分兩部分:服務端搭建和客戶端實現。
服務端搭建:
如果想測試一下功能,直接用搭建好的服務就行,下載androidpn-server-0.5.0-bin.zip ,由於附件太大,上傳不上來
下載地址:http://115.com/file/clot4cuz#
點選bin目錄下得run.bat,直接搭好服務,在瀏覽器上輸入
http://127.0.0.1:7070 就進入管理介面。如下圖:
,自行修改。
展示一下管理的傳送頁面:
下載工程原始碼 2011-10-27 17:12:44 上傳 下載次數: 11873 ,匯入工程,執行前更改一處IP地址,修改androidpn.properties檔案中的xmppHost為xmppHost=10.0.2.2
原因:模擬器訪問本機需要改成10.0.2.2,下圖為SDK中說明。
執行介面上圖:
從服務端傳送訊息,客戶端執行的介面:
終於看到推送了。
---------------------------------------------------------------------
第三步,需要補充一句的就是,上面下載的server端不是tomcat版本的,而是jetty框架。需要tomcat版本的,往下看:
有興趣的朋友也可以看看這哥們其他相關博文。他從理論和實際結合上分析的非常棒。