利用androidnp實現消息推送html
推送:所謂的消息推送就是從服務器端向移動終端發送鏈接,傳輸必定的信息。java
服務器端向Android客戶端的推送,主要有三種方式:
1.客戶端定時去服務端取或者保持一個長Socket,從本質講這個不叫推送,這是去服務端拽數據。可是實現簡單,主要缺點:耗電等
2.Google的C2DM,服務器在國外,不穩定。
3.XMPP協議,它是一種基於XML的傳遞協議,具備很強的靈活性和可擴展性。它的特色是將複雜性從客戶端轉移到了服務器端。
2. XMPP協議android
XMPP全稱Extensible Messaging and Presence Protocol,前身是Jabber項目,是一種以XML爲基礎的開放式即時通信協議。XMPP由於被Google Talk和網易泡泡應用而被廣大網民所接觸。XMPP的關鍵特點是,分散式的即時通信系統,以及使用XML串流。XMPP目前被IETF國際標準組織完成了標準化工做。服務器
Android push notification(androidpn) 是一個基於XMPP協議的java開源實現,它包含了完整的客戶端和服務器端。該服務器端基本是在另一個開源工程openfire基礎上修改實現的。app
一、下載ui
androidpn-demoapp-0.5.0.zip(官方客戶端Demo)spa
http://nchc.dl.sourceforge.net/project/androidpn/androidpn-demoapp/androidpn-demoapp-0.5.0.zip.net
androidpn-client-0.5.0.zip(可修改客戶端)server
http://nchc.dl.sourceforge.net/project/androidpn/androidpn-client/androidpn-client-0.5.0.ziphtm
androidpn-server-0.5.0-bin.zip(androidpn服務器)
http://ncu.dl.sourceforge.net/project/androidpn/androidpn-server/androidpn-server-0.5.0-bin.zip
二、點擊C:\Users\PC\Downloads\androidnp\androidpn-server-0.5.0\bin中的run.bat,進入自動安裝
安裝成功(再次打開仍是要run.bat)
三、在Eclipse中導入androidpn-client-0.5.0,提醒沒法導入。解決方法:拷貝到workspace再次導入。
四、在/androidpn-demoapp/res/raw/androidpn.properties修改你服務器的IP如192.168.114
五、在Eclipse中Android導入androidpn-demoapp-0.5.0,運行項目出錯
解決方法:錯誤緣由代碼依賴於其餘庫,須要在具體project上右鍵屬性,在java build path裏的order and export裏把要編譯的asmack包文件前打勾。而後再clean該工程,刷新再運行就能夠了。
再次運行,顯示成功
也能夠單個推送:
學員資料:http://www.cnblogs.com/hanyonglu/archive/2012/03/04/2378971.html