zoukankan      html  css  js  c++  java
  • android -------- Hawk数据库

    Hawk 是一个非常便捷的数据库  . 操作数据库只需一行代码 , 能存任何数据类型 .

    github 地址: https://github.com/orhanobut/hawk

    一、概念

    SharedPreferences的使用大家应该非常熟悉啦。这是一种轻量级的存储简单配置信息的存储机制,以key-value的形式保存数据。

    这里介绍一款基于SharedPreferences的的存储框架,是由Android开发大神Orhan Obut开源维护的,

    它使用: 

    AES 加密

    能选择使用SharedPreferences  或者  SQLite

           Gson解析     (文章下方的Simple中有替换fastJson的版本)

    提供:

    安全数据持久化

    能存储任何类型

    二、用法

    添加依赖

    compile "com.orhanobut:hawk:2.0.1"

    初始化

    Hawk.init(context).build();

    存储数据

           //基本数据类型
            Hawk.put("position","zz");
    
            //集合
            List<String> list = new ArrayList<>();
            list.add("zhangqie1");
            list.add("zhangqie2");
            Hawk.put("listzq",list);
    
            //
            User user= new User();
            user.setId(1);
            user.setName("zhangqie1");
            Hawk.put("user",user);
    
            //集合+实体类
            User user1= new User();
            user1.setId(2);
            user1.setName("zhangqie2");
            List<User> listUser = new ArrayList<>();
            listUser.add(user);
            listUser.add(user1);
            Hawk.put("listUser",listUser);

    读取数据(去上面最后一个数据)

     List<User> listU1 = Hawk.get("listUser");

    数据是否已经保存:

    Hawk.contains(key);

    删除数据:

    Hawk.delete(key);

    删除全部数据:

    Hawk.deleteAll();

    接下来从源码的角度来看看内部干了什么吧,看图

    这张图也很清晰的帮我们做了简单分析。左边的PUT方法中,是把T value 存储到Disk当中。大致流程是,先将数据进行toString的转换,接下来是加密,然后进行序列化,最后是存储,用的就是SharePreference的存储。获取数据时就正好逆过来啦。

  • 相关阅读:
    Eclipse优化
    Eclipse插件安装
    2,Spring MVC 学习总结(二)- 方法(Action)参数映射
    1,MySQL常用函数
    1,Spring MVC 学习总结(一)
    学习总结-Redis
    Spring学习总结(2)- AOP
    Spring学习总结(1)- IOC
    Java Web学习总结(13)Listener监听器
    Java Web学习总结(12)Filter过滤器
  • 原文地址:https://www.cnblogs.com/zhangqie/p/10512215.html
Copyright © 2011-2022 走看看