HawK数据库框架原理剖析与使用

Hawk介绍

Hawk是Android应用开发中非常便捷的数据库框架

  • 简单的 key-value 数据库
  • 能存任何数据类型
  • 操作数据库只需一行代码
  • AES/BASE64 加密
  • 选择使用SharedPreferences 或者 SQLite

Hawk架构图

image.png

Hawk原理剖析

问题:
如何做到存储所有类型数据?

image.png
image.png

Hawk使用方法

1.在gradle中进行配置

    repositories {  maven { url "https://jitpack.io" }  } 
    dependencies {   compile 'com.github.orhanobut:hawk:1.21'}

2.初始化Hawk,只需要在应用初始化一次,如在onCreate()里

    Hawk.init(this)  
        .setEncryptionMethod(HawkBuilder.EncryptionMethod.MEDIUM) 
        .setStorage(HawkBuilder.newSqliteStorage(this))//存储方式
        .setLogLevel(LogLevel.FULL)  
        .build();

存储方式或为

 HawkBuilder.newSharedPrefStorage(this)

3.数据操作
存数据

      Hawk.put(key, T); / Hawk.chain().put(key1,T).put(key2,T).commit();
eg:             Hawk.put("key", "something"); // Save string
      Hawk.put("key", true); // save boolean
      Hawk.put("key", new Foo()); // save an object
      Hawk.put("key", List); // save list
      Hawk.put("key", Map); // save map

取数据

T result = Hawk.get(key); / T result = Hawk.get(key, T);
eg:            
boolean value = Hawk.get(key);
List value = Hawk.get(key);
List value = Hawk.get(key);

移除数据

Hawk.remove(key); / Hawk.remove(keys); 

判断是否包含某个key

boolean contains = Hawk.contains(key);

你可能感兴趣的:(HawK数据库框架原理剖析与使用)