Hawk框架,是Android用于数据本地保存,是一个安全,简单的键值对保存框架。使用方法也是快捷简单。
Hawk这个框架分为有两个版本,一个是1.0+的版本,另一个是2.0+的版本。
本文介绍的是为2.0+的版本
引入Hawk框架
//初始化内部存储工具
Hawk.init(getApplicationContext()).build();
初始化Hawk
//初始化内部存储工具
Hawk.init(getApplicationContext()).build();
使用Hawk
1.保存字符串数据
String key="key_name";
String value="张三";
Hawk.put(key, value);
其实这个value可以为任何类型的数据,例如list,sets,maps,boolean等等
2.获取保存的数据
String key="key_name";
String data=Hawk.get(key);
//输出data为张三
3.删除数据
String key="key_name";
Hawk.delete(key);
4.判断是否用于对应的数据
String key="key_name";
Hawk.contains(key);
5.获取保存了多少数据
Hawk.count();
6.删除所有的数据
Hawk.deleteAll();
框架官方的工作流程图
Hawk.init(context)
.setEncryption(new NoEncryption()) //设置加密方式,默认不加密,看源码是用base64格式进行保存的
.setLogInterceptor(new MyLogInterceptor())//设置自定义打印log信息
.setConverter(new MyConverter())
.setParser(new MyParser())
.setStorage(new MyStorage())//设置自定义保存的地方
.build();
public class NoEncryption implements Encryption {
@Override public boolean init() {
return true;
} @Override public String encrypt(String key, String value) throws Exception {
return encodeBase64(value.getBytes());
} @Override public String decrypt(String key, String value) throws Exception {
return new String(decodeBase64(value));
} String encodeBase64(byte[] bytes) {
return Base64.encodeToString(bytes, Base64.DEFAULT);
} byte[] decodeBase64(String value) {
return Base64.decode(value, Base64.DEFAULT);
}}
以上为官方的NoEncryption类