標籤:android class blog code java http
本貼在http://www.cnblogs.com/hanyonglu/archive/2012/03/16/2399655.html下略為改動。
Apndroid Push Notification的特點:
快速整合:提供一種比C2DM更加快捷的使用方式,避免各種限制.
無需架設伺服器:通過使用"雲端服務",減少額外伺服器負擔.
可以同時推送訊息到網站頁面,android 手機
耗電少,佔用流量少.
具體配置過程:
首先, 我們需要下載androidpn-client-0.5.0.zip和androidpn-server-0.5.0-bin.zip。
:http://sourceforge.net/projects/androidpn/ http://www.pudn.com/downloads397/sourcecode/book/detail1697495.html
解壓兩個包,Eclipse匯入client,配置好目標平台,開啟raw/androidpn.properties檔案,配置用戶端程式。
1. 如果是模擬器來運行用戶端程式,把xmppHost配置成10.0.2.2[模擬器把10.0.2.2認為是所在主機的地址,127.0.0.1是模擬器本身的迴環地址,10.0.2.1表示網關地址,10.0.2.3表示DNS地址,10.0.2.15表示目標裝置的網路地址],關於模擬器的詳細資料,大家可參閱相關資料,這裡不再詳述.
xmppPort=5222 是伺服器的xmpp服務監聽連接埠
運行androidpn-server-0.5.0\bin\run.bat啟動伺服器,從瀏覽器訪問http://127.0.0.1:7070/index.do (androidPN Server有個輕量級的web伺服器,在7070連接埠監聽請求,接受使用者輸入的簡訊)
運行用戶端,用戶端會向伺服器發起串連請求,註冊成功後,伺服器能識別用戶端,並維護和用戶端的IP長串連。
2. 如果是在同一個區域網路內的其他機器的模擬器測試(或者使用同一無線路由器wifi上網的真機) ,則需要把這個值設定為伺服器機器的區域網路ip.
例如 你的電腦和android手機 都通過同一個無線路由器wifi上網, 電腦的ip地址為 192.168.1.2 而 手機的ip地址為 192.168.1.3, 這個時候 需要把這個值修改為 xmppHost=192.168.1.1 或是電腦的IP地址,就可以在手機上使用了.
3. 如果是不在同一個區域網路的真機測試,我們需要將這個值設定為伺服器的IP地址。
具體配置如所示:
我的電腦IP是:192.168.8.107
伺服器運行主介面:
推送資訊:
測試結果如:
模擬器和真機測試通過。
如果啟動並執行時候出現這個錯誤: java.lang.NoClassDefFoundError: org.androidpn.client.PersistentConnectionListener
解決辦法:
可能是你的ADT版本太高了
首先clean你的項目,運行一次試試,如果還是報該異常,則將項目下的lib檔案夾刪除,建立一個libs檔案夾,將asmack.jar檔案放進去,clean項目運行,問題解決!