众所周知 Volley框架可以帮助开发者访问网络数据 ,并对数据进行缓存
创建RequestQueue 时 设置缓存路径
// 缓存 (这使用的是磁盘缓存)
Cache cache=new DiskBasedCache(context.getCacheDir(),1024*1024*10);
// 网络栈 http数据通信的具体实现
Network network=new BasicNetwork(new HurlStack());
//创建并启动请求队列
requestQueue=new RequestQueue(cache,network);
Volley会将数据保存到磁盘缓存中
但有时下次访问同样的地址时 不会读缓存 因为这与服务器传过来的头文件有关
头文件会申明缓存记录的生命周期 当过了申明周期就不会读缓存
若头文件没有申明生命周期,则Volley就不会读取缓存,这时候就要我们手动的读取Volley存放在磁盘中的缓存了
if(!isNetworkAvailable(context)){
getFromDiskCache(url); //如果没网,则调取缓存数据‘
if (requestQueue.getCache().get(commentUrl) != null) {
//通过url的到缓存的数据
byte[] data = requestQueue.getCache().get(commentUrl).data;
}
}else{
//有网则从网上更新数据
//……(省略)
}
}
判断网络是否可用
public static boolean isNetworkAvailable(Context context) {
try {
ConnectivityManager manger = (ConnectivityManager) context
.getSystemService(Context.CONNECTIVITY_SERVICE);
NetworkInfo info = manger.getActiveNetworkInfo();
//return (info!=null && info.isConnected());
if(info != null){
return info.isConnected();
}else{
return false;
}
} catch (Exception e) {
return false;
}
}
分享到:
相关推荐
Volley框架的使用,包括网络请求方式的使用,图片加载和图片缓存,Volley与Activity生命周期联动,非常适合新手学习。
Volley框架二次封装,实现了带Cookie的Get和Post请求,图片加载和图片缓存(内存缓存,SD缓存,内存SD双缓存.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。
过去在Android上网络通信都是使用的Xutils 因为用它可以顺道处理了图片和网络这两个方面,后来发觉Xutils里面使用的是HttpClient 而Google在6.0的版本上已经把HttpClient废除了,所以开始寻找新的网络框架,okhttp...
Volley简介 我们平时在开发Android应用的时候不可避免地都需要用到网络技术,而多数情况下应用程序...于是乎,一些Android网络通信框架也就应运而生,比如说AsyncHttpClient,它把HTTP所有的通信细节全部封装在了内部
上传的是一个eclipse下的android工程,主要展示的是对android 的网络通信框架 Volley的简单使用,展示了一些api的使用,有get和post方法的请求方式以及网络图片的缓存等等,我正是使用了这个demo 完成了我的一个在线...
GoogleIO2013 Android快速联网框架Volley Volley提供的功能 JSON,图像等的异步下载; 网络请求的排序(scheduling) 网络请求的优先级处理 缓存 多级别取消请求 和Activity和生命周期的联动(Activity结束时...
(2) 注解模块:android中的ioc框架,完全注解方式就可以进行UI绑定和事件绑定。无需findViewById和setClickListener等。 (3) 网络模块:通过httpclient进行封装http数据请求,支持ajax方式加载,支持下载、上传...
Android 中Volley二次封装并实现网络请求缓存 Android目前很多同学使用Volley请求网络数据,但是Volley没有对请求过得数据进行缓存,因此需要我们自己手动缓存。 一下就是我的一种思路,仅供参考 具体使用方法为: ...
在项目中一般使用使用volley方式如下,用起来给人一种很乱的感觉,于是一种盘它的想法油然而生。 public void get() { String url = https://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=......; ...
Volley框架封装,主要包含(封装)以下功能: 1.获取String、Bean、Json等类型的数据 2.提交表单数据 3.上传文件 4.加载图片,并且使用三级缓存 将Volley的相关操作封装成一个库,下载文件包含Volley工具库和一个使用...
Android volley网络连接框架demo源码,包括volley图像缓存的示例,还有一个是测试网络连接框架的Demo源码,三个源码,都是关于Android volley的,仅供参考
问题的阐述:Android SDK中的HttpClient和HttpUrlConnection两种请求方式用来处理网络的复杂的操作,但当应用比较复杂的时候需要我们编写大量的代码处理很多东西:图像缓存,请求的调度等等; 解决:Volley就是为...
Volley是Goole在2013年Google I/O大会上推出了一个新的网络通信框架,它是开源的,你可以通过git来clone源码并倒入项目: git clone https://android.googlesource.com/platform/frameworks/vol
所谓Volley,它是2013年Google I/O上发布的一款网络框架,基于Android平台,能使网络通信更快,更简单,更健全。 它的优点:(1)默认Android2.3及以上基于HttpURLConnection,2.3以下使用基于HttpClient;(2)符合...
Volley 是一个 HTTP 库,它能够帮助 Android app 更方便地执行网络操作,最重要的是,它更快速高效。我们可以通过开源的 AOSP 仓库获取到 Volley 。 Volley 有如下的优点: 自动调度网络请求。 高并发网络连接。 ...
Android图片框架Glide-3.7.0(最新,很强大),超好用的图片框架(包含jar和源码) Glide 是一个高效、开源、 Android设备上的媒体管理框架,它遵循BSD、MIT以及Apache 2.0协议发布。Glide具有获取、解码和展示视频...
当然一个Google推荐的框架肯定就是Volley啦。 目前Android主流开发工具是AndroidStudio,在AndroidStudio如何使用Glide,https://github.com/bumptech/glide上有详细的介绍说明。 因为刚换新工作不久,公司和的还是...
Volley2015最新版 功能模块: 1. JSON,图像等的异步下载 ---------------------------------------------------- 2. 网络请求的排序(scheduling) ---------------------------------------------------- 3. ...
Android Volley 框架封装使用Demo, 该版本为优化版,优化了缓存大小的设置, 增加了加载图片的方法,优化了Gson对象的重复创建。