標籤:
利用androidnp實現訊息推送
介紹:
推送:所謂的訊息推送就是從伺服器端向移動終端發送串連,傳輸一定的資訊。
伺服器端向Android用戶端的推送,主要有三種方式:
1.用戶端定時去服務端取或者保持一個長Socket,從本質講這個不叫推送,這是去服務端拽資料。但是實現簡單,主要缺點:耗電等
2.Google的C2DM,伺服器在國外,不穩定。
3.XMPP協議,它是一種基於XML的傳遞通訊協定,具有很強的靈活性和可擴充性。它的特點是將複雜性從用戶端轉移到了伺服器端。
2.XMPP協議
XMPP全稱ExtensibleMessaging and Presence Protocol,前身是Jabber項目,是一種以XML為基礎的開放式即時通訊協議。XMPP因為被Google Talk和網易泡泡應用而被廣大網民所接觸。XMPP的關鍵特色是,分散式的即時通訊系統,以及使用XML串流。XMPP目前被IETF國際標準組織完成了標準化工作。
Androidpush notification(androidpn) 是一個基於XMPP協議的java開源實現,它包含了完整的用戶端和伺服器端。該伺服器端基本是在另外一個開源工程openfire基礎上修改實現的。
實現步驟:
1、下載
androidpn-demoapp-0.5.0.zip(官方用戶端Demo)
http://nchc.dl.sourceforge.net/project/androidpn/androidpn-demoapp/androidpn-demoapp-0.5.0.zip
androidpn-client-0.5.0.zip(可修改用戶端)
http://nchc.dl.sourceforge.net/project/androidpn/androidpn-client/androidpn-client-0.5.0.zip
androidpn-server-0.5.0-bin.zip(androidpn伺服器)
http://ncu.dl.sourceforge.net/project/androidpn/androidpn-server/androidpn-server-0.5.0-bin.zip
2、點擊C:\Users\PC\Downloads\androidnp\androidpn-server-0.5.0\bin中的run.bat,進入自動安裝
安裝成功(再次開啟還是要run.bat)
3、在Eclipse中匯入androidpn-client-0.5.0,提醒無法匯入。解決方案:拷貝到workspace再次匯入。
4、在/androidpn-demoapp/res/raw/androidpn.properties修改你伺服器的IP如192.168.114
5、在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
android 利用androidnp實現訊息推送