现在大多数软件都需要进行网络访问,比如
手游
浏览器
聊天工具
理财产品
头条
…
如果你开发的软件不支持网络访问,也就是单机版,用户自娱自乐类型。比如
闹钟
指南针
记事本
计算器
…
这些都是单机,用户实用的一些工具app,不支持多个用户都是访问,交流。
这里说说设计网络访问的app,需要考虑的异常,错误总结。
既然是需要网络访问,可能出现以下一些问题。
第一种:手机连接的网络问题
1、用户根本没有打开网络访问开关
这里开关主要包括:
wlan开关、数据开关
这些开关不打开,根本就不可能进行网络访问。
2、用户打开了网络访问开关,但是实际上无法正常访问网络
包括:
连接了wlan,但是这个wlan需要输入手机号码、验证码认证才可以正常访问互联网;
连接了wlan,但是路由器设置了mac地址过滤,你没有加入,所以连上也不能上网;
或者说你家网络欠费了,上不了网…
原因还有很多…
第二种:服务器问题
请求服务器数据时候,可能
服务器正常关机了;
服务器处于维护、升级中;
服务器编码存在bug;
服务器当前连接数超载,崩溃掉了;
…
第三种:客户端编码存在问题
这种比较常见。
1、android 访问网络需要权限
<uses-permission android:name="android.permission.INTERNET"/>
2、
网络交互,
1)发送请求http
2)服务器响应请求
3)服务器给出回复
4)客户端对响应数据进行解析和处理
1)、4)客户端都可能出现问题。
客户端发送的请求没有构建好,或者对服务器返回数据解析出现问题。
android 访问网络主要有
httpclient
httpurlconnection
2种类型的访问方式,
当然github上很多大神提供了网络访问框架。比如
volley
okhttp
retrofit
retrofit2.0+rxjava+rxandroid
…
说到底都是基于
httpclient
httpurlconnection
的封装实现。
服务器返回数据主要以xml 、json格式为主,
所以客户端要做的就是进行数据解析处理操作。