Hawk框架,是Android用于數(shù)據(jù)本地保存,是一個安全,簡單的鍵值對保存框架。使用方法也是快捷簡單。
Hawk這個框架分為有兩個版本,一個是1.0+的版本,另一個是2.0+的版本。
本文介紹的是為2.0+的版本
使用介紹
引入Hawk框架
//初始化內(nèi)部存儲工具
Hawk.init(getApplicationContext()).build();
初始化Hawk
//初始化內(nèi)部存儲工具
Hawk.init(getApplicationContext()).build();
使用Hawk
1.保存字符串?dāng)?shù)據(jù)
String key="key_name";
String value="張三";
Hawk.put(key, value);
其實這個value可以為任何類型的數(shù)據(jù),例如list,sets,maps,boolean等等
2.獲取保存的數(shù)據(jù)
String key="key_name";
String data=Hawk.get(key);
//輸出data為張三
3.刪除數(shù)據(jù)
String key="key_name";
Hawk.delete(key);
4.判斷是否用于對應(yīng)的數(shù)據(jù)
String key="key_name";
Hawk.contains(key);
5.獲取保存了多少數(shù)據(jù)
Hawk.count();
6.刪除所有的數(shù)據(jù)
Hawk.deleteAll();
框架官方的工作流程圖
Hawk更多配置
Hawk.init(context)
.setEncryption(new NoEncryption()) //設(shè)置加密方式,默認(rèn)不加密,看源碼是用base64格式進行保存的
.setLogInterceptor(new MyLogInterceptor())//設(shè)置自定義打印log信息
.setConverter(new MyConverter())
.setParser(new MyParser())
.setStorage(new MyStorage())//設(shè)置自定義保存的地方
.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類