`
VIP庚
  • 浏览: 221355 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

关于 Android Volley框架缓存

 
阅读更多
众所周知 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框架的使用,包括网络请求方式的使用,图片加载和图片缓存,Volley与Activity生命周期联动,非常适合新手学习。

    安卓图片加载缓存相关-Volley框架二次封装实现了带Cookie的Get和Post请求图片加载和图片缓存内存缓存SD缓存内存SD双缓存.rar

    Volley框架二次封装,实现了带Cookie的Get和Post请求,图片加载和图片缓存(内存缓存,SD缓存,内存SD双缓存.rar,太多无法一一验证是否可用,程序如果跑不起来需要自调,部分代码功能进行参考学习。

    Android Volley框架使用源码分享

    过去在Android上网络通信都是使用的Xutils 因为用它可以顺道处理了图片和网络这两个方面,后来发觉Xutils里面使用的是HttpClient 而Google在6.0的版本上已经把HttpClient废除了,所以开始寻找新的网络框架,okhttp...

    Android Volley框架全面解析

    Volley简介 我们平时在开发Android应用的时候不可避免地都需要用到网络技术,而多数情况下应用程序...于是乎,一些Android网络通信框架也就应运而生,比如说AsyncHttpClient,它把HTTP所有的通信细节全部封装在了内部

    android网络通信框架 Volley的小Demo

    上传的是一个eclipse下的android工程,主要展示的是对android 的网络通信框架 Volley的简单使用,展示了一些api的使用,有get和post方法的请求方式以及网络图片的缓存等等,我正是使用了这个demo 完成了我的一个在线...

    GoogleIO2013 Android快速联网框架Volley

    GoogleIO2013 Android快速联网框架Volley Volley提供的功能 JSON,图像等的异步下载; 网络请求的排序(scheduling) 网络请求的优先级处理 缓存 多级别取消请求 和Activity和生命周期的联动(Activity结束时...

    Android 常用六大框架

    (2) 注解模块:android中的ioc框架,完全注解方式就可以进行UI绑定和事件绑定。无需findViewById和setClickListener等。 (3) 网络模块:通过httpclient进行封装http数据请求,支持ajax方式加载,支持下载、上传...

    Android 中Volley二次封装并实现网络请求缓存

    Android 中Volley二次封装并实现网络请求缓存 Android目前很多同学使用Volley请求网络数据,但是Volley没有对请求过得数据进行缓存,因此需要我们自己手动缓存。 一下就是我的一种思路,仅供参考 具体使用方法为: ...

    Android中volley封装实践记录

    在项目中一般使用使用volley方式如下,用起来给人一种很乱的感觉,于是一种盘它的想法油然而生。 public void get() { String url = https://tcc.taobao.com/cc/json/mobile_tel_segment.htm?tel=......; ...

    Volley封装

    Volley框架封装,主要包含(封装)以下功能: 1.获取String、Bean、Json等类型的数据 2.提交表单数据 3.上传文件 4.加载图片,并且使用三级缓存 将Volley的相关操作封装成一个库,下载文件包含Volley工具库和一个使用...

    VolleyDemo

    Android volley网络连接框架demo源码,包括volley图像缓存的示例,还有一个是测试网络连接框架的Demo源码,三个源码,都是关于Android volley的,仅供参考

    Android中Volley框架进行请求网络数据的使用

    问题的阐述:Android SDK中的HttpClient和HttpUrlConnection两种请求方式用来处理网络的复杂的操作,但当应用比较复杂的时候需要我们编写大量的代码处理很多东西:图像缓存,请求的调度等等; 解决:Volley就是为...

    Android代码-图片缓存的一种方法

    Volley是Goole在2013年Google I/O大会上推出了一个新的网络通信框架,它是开源的,你可以通过git来clone源码并倒入项目: git clone https://android.googlesource.com/platform/frameworks/vol

    volley jar包

    所谓Volley,它是2013年Google I/O上发布的一款网络框架,基于Android平台,能使网络通信更快,更简单,更健全。 它的优点:(1)默认Android2.3及以上基于HttpURLConnection,2.3以下使用基于HttpClient;(2)符合...

    深入解读Android的Volley库的功能结构

    Volley 是一个 HTTP 库,它能够帮助 Android app 更方便地执行网络操作,最重要的是,它更快速高效。我们可以通过开源的 AOSP 仓库获取到 Volley 。 Volley 有如下的优点: 自动调度网络请求。 高并发网络连接。 ...

    Android图片框架Glide-3.7.0(最新,很强大)

    Android图片框架Glide-3.7.0(最新,很强大),超好用的图片框架(包含jar和源码) Glide 是一个高效、开源、 Android设备上的媒体管理框架,它遵循BSD、MIT以及Apache 2.0协议发布。Glide具有获取、解码和展示视频...

    Android图片加载缓存框架Glide

    当然一个Google推荐的框架肯定就是Volley啦。 目前Android主流开发工具是AndroidStudio,在AndroidStudio如何使用Glide,https://github.com/bumptech/glide上有详细的介绍说明。 因为刚换新工作不久,公司和的还是...

    android-volley-master 1.0.16

    Volley2015最新版 功能模块: 1. JSON,图像等的异步下载 ---------------------------------------------------- 2. 网络请求的排序(scheduling) ---------------------------------------------------- 3. ...

    Volley封装使用Demo2(优化版)

    Android Volley 框架封装使用Demo, 该版本为优化版,优化了缓存大小的设置, 增加了加载图片的方法,优化了Gson对象的重复创建。

Global site tag (gtag.js) - Google Analytics