HawK数据库框架原理剖析与使用
2019-06-24 本文已影响0人
Zeng_小洲
Hawk介绍
Hawk是Android应用开发中非常便捷的数据库框架
- 简单的 key-value 数据库
- 能存任何数据类型
- 操作数据库只需一行代码
- AES/BASE64 加密
- 选择使用SharedPreferences 或者 SQLite
Hawk架构图
image.pngHawk原理剖析
问题:
如何做到存储所有类型数据?
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<String>); // save list
Hawk.put("key", Map<Foo,Foo>); // save map
取数据
T result = Hawk.get(key); / T result = Hawk.get(key, T);
eg:
boolean value = Hawk.get(key);
List<String> value = Hawk.get(key);
List<Foo> value = Hawk.get(key);
移除数据
Hawk.remove(key); / Hawk.remove(keys);
判断是否包含某个key
boolean contains = Hawk.contains(key);