二、Volley源码解析
2.1 Volley框架结构
根据Volley的框架结构,在上一章可以看出所有的Request请求都是按照这个流程处理,那么我将从请求流程进行源代码分析.
其框架主要分为3部分:
(1)Main Thread中创建Request以及解析显示请求返回结果;
(2)Cache Thread在Cache中处理请求,若请求的内容在缓存中已存在,则从缓存中取出并返回;
(3)NetWork Thread,当请求在缓存中找不到时,则需要从访问网络获取数据.
纸上得来终觉浅,绝知此事要躬行.
根据Volley的框架结构,在上一章可以看出所有的Request请求都是按照这个流程处理,那么我将从请求流程进行源代码分析.
其框架主要分为3部分:
(1)Main Thread中创建Request以及解析显示请求返回结果;
(2)Cache Thread在Cache中处理请求,若请求的内容在缓存中已存在,则从缓存中取出并返回;
(3)NetWork Thread,当请求在缓存中找不到时,则需要从访问网络获取数据.
Volley是Google I/O 2013发布的一款基于Android平台的网络框架,它的优点有:
1) 默认Android2.3及以上基于 HttpURLConnection,2.3以下基于HttpClient;
2) 提供了两种缓存机制:磁盘缓存和内存缓存,符合Http缓存语义的缓存机制;
3) 支持指定请求的优先级;
4) 提供多样的取消机制:特定任务取消以及多任务取消;
5) 提供简便的图片加载工具(ImageRequest、ImageLoader);
6) 一个优秀的框架.
定义:指一个类或者模块应该有且只有一个改变的原因.即一个类只负责一项工作.
定义:软件中的对象(类、模板、函数等)应该对于扩展是开放的,但是对于修改是封闭的.
三、天气预报App基本功能实现
天气预报主要功能就是根据城市的代码,去动态获取当前的天气情况,并且将当前的选择的城市天气信息保存下来(Sharedpreferences).
1、获取JSon天气数据
2、根据android基础学习综合实例——天气预报App中分析的城市代码以及天气代码,保存到数据库中,再根据用户所选择的城市代码,获取对应的天气信息
3、特别注意,因为白天已经过去 ,预报在晚上那次更新的时候白天数据就会为空,即中国气象局的数据在晚上6点以后不会再更新白天的数据信息,在App中必须保存白天的天气信息。