论文部分内容阅读
摘要:为简化安卓下HTTP连接请求的操作,在HttpURLConnection连接的基础上,封装连接与异步到一个aar上,最终用一至二行代码实现想要的操作,提高工作效率。在减少操作代码的同时,也保留了异步操作的灵活性。
关键词:安卓;SDK;连接aar;异步;HTTP连接
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)01-0053-02
Abstract: To simplify the operation of the HTTP connection request under Android, Based on the HttpURLConnection, connection was encapsulated and asynchronous to AAR. One or two lines of code were used to implement the desired operation. The efficiency of software development has been improved. The flexibility of asynchronous operations was also retained.
Key words: android; SDK; connection aar; asynchronous; http connection
1 背景
随着智能手机的普及,安卓设备的应用层出不穷,手机应用联网获取数据是必不可少的。传统的安卓开发使用键值对传值,或者利用json 解析,但是往往诸如此类重复的代码需要在很多地方出现,影响整体代码质量。另一方面,代码多了也容易出错,往往一个空指针就需要一番调试。面向对象程序设计很好地解决了这个问题,把很多复杂繁琐的操作封装起来,供用户调用。用户只要会使用方法操作就行,无须花费精力去研究。因此,善于利用封装好所需类的包,可以为开发带来便利。
2 Android连接协议和解析方式
Android使用java语言进行开发,java里面连接的API有HttpURLConnection和 HttpClient,目前官方已经不推荐使用HttpClient,并且HttpURLConnection在原则上也会比HttpClient要快。故而Android常使用HttpURLConnection连接。
每个HttpURLConnection实例都可用于生成单个请求,但是其他实例可以透明地共享连接到HTTP服务器的基础网络。请求后在 HttpURLConnection的InputStream或OutputStream上调用close()方法可以释放与此实例关联的网络资源,对共享的持久连接没有任何影响。如果在调用 disconnect() 时持久连接空闲,则可能关闭基础套接字。
HttpURLConnection已经封装好URL.openConnection()打开一个连接强制转换为HttpURLConnection。然后为其设置“POST”或“GET”以及連接超时时间。若HttpURLConnection的返回码为200则表示连接成功。可以进行下一步操作。
数据请求有POST和GET两种,服务器根据请求的不同给予不同的处理。对于服务器传过来的数据需要根据数据的格式进行解析,较为常用的是JSON和XML,移动开发,用的比较多的是JSON。而传递参数则是直接编辑传递过程的参数,如“www.xxx.com/login?phone=110
关键词:安卓;SDK;连接aar;异步;HTTP连接
中图分类号:TP311 文献标识码:A 文章编号:1009-3044(2018)01-0053-02
Abstract: To simplify the operation of the HTTP connection request under Android, Based on the HttpURLConnection, connection was encapsulated and asynchronous to AAR. One or two lines of code were used to implement the desired operation. The efficiency of software development has been improved. The flexibility of asynchronous operations was also retained.
Key words: android; SDK; connection aar; asynchronous; http connection
1 背景
随着智能手机的普及,安卓设备的应用层出不穷,手机应用联网获取数据是必不可少的。传统的安卓开发使用键值对传值,或者利用json 解析,但是往往诸如此类重复的代码需要在很多地方出现,影响整体代码质量。另一方面,代码多了也容易出错,往往一个空指针就需要一番调试。面向对象程序设计很好地解决了这个问题,把很多复杂繁琐的操作封装起来,供用户调用。用户只要会使用方法操作就行,无须花费精力去研究。因此,善于利用封装好所需类的包,可以为开发带来便利。
2 Android连接协议和解析方式
Android使用java语言进行开发,java里面连接的API有HttpURLConnection和 HttpClient,目前官方已经不推荐使用HttpClient,并且HttpURLConnection在原则上也会比HttpClient要快。故而Android常使用HttpURLConnection连接。
每个HttpURLConnection实例都可用于生成单个请求,但是其他实例可以透明地共享连接到HTTP服务器的基础网络。请求后在 HttpURLConnection的InputStream或OutputStream上调用close()方法可以释放与此实例关联的网络资源,对共享的持久连接没有任何影响。如果在调用 disconnect() 时持久连接空闲,则可能关闭基础套接字。
HttpURLConnection已经封装好URL.openConnection()打开一个连接强制转换为HttpURLConnection。然后为其设置“POST”或“GET”以及連接超时时间。若HttpURLConnection的返回码为200则表示连接成功。可以进行下一步操作。
数据请求有POST和GET两种,服务器根据请求的不同给予不同的处理。对于服务器传过来的数据需要根据数据的格式进行解析,较为常用的是JSON和XML,移动开发,用的比较多的是JSON。而传递参数则是直接编辑传递过程的参数,如“www.xxx.com/login?phone=110