学习目标
了解浏览器引擎WebKit和WebView类
熟悉基于HTTP协议的网络编程
掌握Volley框架读取网络数据的方法
掌握Volley框架解析JSON数据的方法
开始学习
Android网络编程可以使用Java的网络编程技术,例如,针对HTTP协议的网络编程,此外还有许多开源的网络框架被Android采用,例如,网页引擎WebKit、网络通信框架Volley等。本章讨论以下话题:
(1)Web网页引擎WebKit。Android系统内置的浏览器WebKit是一个开源的浏览器引擎,拥有清晰的源码结构、极快的渲染速度。WebKit内核具有非常好的网页解析机制,很多应用系统都使用WebKit做浏览器的内核。例如,Android的Browser、Apple的Safari都基于WebKit。
(2)基于HTTP协议的网络编程。HTTP是一种请求/响应式的协议,当客户端在与服务器端建立连接后,向服务器端发送的请求被称作HTTP请求。服务器端接收到请求后会做出响应,称为HTTP响应。下面讨论应用HttpURLConnection类和StrictMode类访问Web服务器。
(3)网络通信框架Volley。Volley既可以非常简单地进行HTTP通信,也可以轻松加载网络上的图片。除了简单易用之外,Volley在性能方面也进行了大幅度调整,它的设计非常适合数据量不大但通信频繁的网络操作。Volley可以方便地获取远程服务器上的图片、字符串、JSON对象和JSON对象数组等。
本章素材
volley压缩包在版本升级后已不再需要安装,想安装的可以从这里下载:volley压缩包
为了练习从网络获取图片或Json数据,安排了几个网址作为练习。

小狗https://www.z4a.net/images/2018/07/07/dogshort.jpg
推荐一张校园风景 http://www.szpt.edu.cn/images/pic_5.jpg
Json数据:
1. 中国城市天气预报的数据,可以采用中国天气网提供的Json数据接口:
http://www.weather.com.cn/adat/cityinfo/城市编号.html
例如北京是101010100,北京天气预报网址是:
http://www.weather.com.cn/data/cityinfo/101010100.html
2. 中国天气网的另一个网页,包含多项气候数据,并且可使用视图WebView直接显示输出内容:https://m.weather.com.cn/mweather/101010100.shtml
本章素材
本章所需素材如下:

