Android ASimpleCache简单与使用并解决无法保存list的问题

  • A+
所属分类:Android开源

推荐一个轻量级的缓存开源项目

ASimpleCache 是一个为android制定的 轻量级的 开源缓存框架。轻量到只有一个java文件(由十几个类精简而来)。

1、它可以缓存什么东西?

普通的字符串、JsonObject、JsonArray、Bitmap、Drawable、序列化的java对象,和 byte数据。

2、它有什么特色?

  • 特色主要是:
    • 1:轻,轻到只有一个JAVA文件。
    • 2:可配置,可以配置缓存路径,缓存大小,缓存数量等。
    • 3:可以设置缓存超时时间,缓存超时自动失效,并被删除。
    • 4:支持多进程。

3、它在android中可以用在哪些场景?

  • 1、替换SharePreference当做配置文件
  • 2、可以缓存网络请求数据,比如oschina的android客户端可以缓存http请求的新闻内容,缓存时间假设为1个小时,超时后自动失效,让客户端重新请求新的数据,减少客户端流量,同时减少服务器并发量。
  • 3、您来说...

4、如何使用 ASimpleCache?

以下有个小的demo,希望您能喜欢:

  1. ACache mCache = ACache.get(this);
  2. mCache.put("test_key1""test value");
  3. mCache.put("test_key2""test value"10);//保存10秒,如果超过10秒去获取这个key,将为null
  4. mCache.put("test_key3""test value"2 * ACache.TIME_DAY);//保存两天,如果超过两天去获取这个key,将为null

获取数据

  1. ACache mCache = ACache.get(this);
  2. String value = mCache.getAsString("test_key1");
官方中并没有提到怎么来存储List,摸索了一下分享给大家:

分析

通常有时候我们会保存一个列表,但是在这个时候我们改如何保存呢?

存入本地:

ACache mCache = ACache.get(this);

  1. ArrayList<StudentBean> arrayList = new ArrayList();
  2.         StudentBean stu = new StudentBean();
  3.         stu.setId(0);
  4.         stu.setName("张三");
  5.         stu.setSex("男");
  6.         arrayList.add(stu);
  7.         StudentBean stu1 = new StudentBean();
  8.         stu1.setId(1);
  9.         stu1.setName("李四");
  10.         stu1.setSex("男");
  11.         arrayList.add(stu1);
  12.         aCache.put("data",arrayList);

取出数据:

  1. ArrayList<StudentBean> arrayList = (ArrayList<StudentBean>) aCache.getAsObject("datas");

 

这里的ACache是使用的一个开源项目,只有一个类,非常简单。

项目地址:

此处为隐藏的内容!
发表评论并刷新,才能查看

 

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen:

目前评论:2   其中:访客  2   博主  0

    • nu nu 0

      非常不错的样子,来看看。

      • sentun sentun 0

        支持一下。