現在大多數軟體都需要進行網絡通路,比如
手遊
浏覽器
聊天工具
理财産品
頭條
…
如果你開發的軟體不支援網絡通路,也就是單機版,使用者自娛自樂類型。比如
鬧鐘
指南針
記事本
電腦
…
這些都是單機,使用者實用的一些工具app,不支援多個使用者都是通路,交流。
這裡說說設計網絡通路的app,需要考慮的異常,錯誤總結。
既然是需要網絡通路,可能出現以下一些問題。
第一種:手機連接配接的網絡問題
1、使用者根本沒有打開網絡通路開關
這裡開關主要包括:
wlan開關、資料開關
這些開關不打開,根本就不可能進行網絡通路。
2、使用者打開了網絡通路開關,但是實際上無法正常通路網絡
包括:
連接配接了wlan,但是這個wlan需要輸入手機号碼、驗證碼認證才可以正常通路網際網路;
連接配接了wlan,但是路由器設定了mac位址過濾,你沒有加入,是以連上也不能上網;
或者說你家網絡欠費了,上不了網…
原因還有很多…
第二種:伺服器問題
請求伺服器資料時候,可能
伺服器正常關機了;
伺服器處于維護、更新中;
伺服器編碼存在bug;
伺服器目前連接配接數超載,崩潰掉了;
…
第三種:用戶端編碼存在問題
這種比較常見。
1、android 通路網絡需要權限
2、
網絡互動,
1)發送請求http
2)伺服器響應請求
3)伺服器給出回複
4)用戶端對響應資料進行解析和處理
1)、4)用戶端都可能出現問題。
用戶端發送的請求沒有建構好,或者對伺服器傳回資料解析出現問題。
android 通路網絡主要有
httpclient
httpurlconnection
2種類型的通路方式,
當然github上很多大神提供了網絡通路架構。比如
volley
okhttp
retrofit
retrofit2.0+rxjava+rxandroid
…
說到底都是基于
httpclient
httpurlconnection
的封裝實作。
伺服器傳回資料主要以xml 、json格式為主,
是以用戶端要做的就是進行資料解析處理操作。