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的存储。获取数据时就正好逆过来啦。

  • 相关阅读:
    .NetCore 部署到IIS上的问题
    泛型(EF)增删改查
    Ef数据GroupBy多字段查询Vb.net与c#参考
    WEBAPI 最近更新项目时 服务器总是提示:An error has occurred.
    SQL SERVER 语法
    Fonour.AspnetCore 生成SQL SERVER数据库
    Windows10出现打开EXE应用程序错误
    jQuery实现DOM加载方法源码分析
    前端面试高频题:删除数组重复元素的多种方法
    Mac 下使用homebrew 安装node后全局安装找不到问题
  • 原文地址:https://www.cnblogs.com/zhangqie/p/10512215.html
Copyright © 2011-2022 走看看