偶然的一天,發現百度出了一個雲推送包,想想百度的伺服器還是比較穩定的,怎麼著比我們自己搭建的伺服器要穩定得多,於是乎,我就花了幾天時間,寫了一個小小的聊天工具,權當是練手,以後如果有應用僅僅是需要給使用者推送訊息,其實沒必要自己搭建一個伺服器了,就把百度的包加進去,可以省掉很多事情了。好了,廢話不多說,我們先來看看這個小工具的,由於時間比較倉促,bug和錯誤在所難免,希望朋友們耐心一點,可以自己調試調試, 謝謝大家,如果我收到郵件,會及時處理的,再次表示感謝!!!
由於代碼量還算比較大,我這裡就不貼代碼了,簡單的說一下原理,先來看看源碼的結構:
com.way.activity:理所當然的是所有Activity了,不多說。
com.way.adapter:這個是所有用到的適配器,比如ListView等等,也不多說。
com.way.app:這裡我放了兩個類,一個是Application,被我當作全域變數儲存的工具類了,另外一個是接替系統異常處理的類,如果報錯了,會把錯誤資訊儲存到檔案,然後提示使用者以郵件的形式發送給我,希望朋友們如果在遇到報錯能不吝把log發送給我,謝謝!
com.way.baidupush.client:這裡是接收百度伺服器推送過來訊息的廣播接收者:PushMessageReceiver,所有訊息都是通過這裡接收的,另外我自己加了一個網路變化的接收,根據網路狀況作出不同的處理。
com.way.baidupush.server:這裡是發送訊息的封裝,我們要推送的訊息是在這裡通過HTTP請求百度伺服器的,主要是一些HTTP請求的封裝,看一下就知道了。
com.way.bean:這是bean包,不多說了,JAVA的基礎知識,java bean。
com.way.common.uti:l這裡是我放一些工具類的包,比如Log封裝,Toast封裝,網路判斷,發送訊息非同步任務,Dialog等等。。。
com.way.db:這是是資料庫操作包,有User、Message、最近通話都是儲存在資料庫的。
com.way.fragment:這裡是放左右滑動菜單的左菜單和右菜單fragment。
接下來所有的包都是開源項目的view,我就不多作解釋了。