.setStorage(HawkBuilder.newSqliteStorage(this))
or
.setStorage(HawkBuilder.newSharedPrefStorage(this))
(三) 存数据
Hawk.put(key, T); // Returns the result as boolean
您还可以通过使用链功能存储多个项目。记得在最后使用commit()。
// Returns the result as boolean
Hawk.chain()
.put(KEY_LIST, List)
.put(KEY_ANOTHER,“test”)
.commit();
(四) 取数据
T result = Hawk.get(key);
or
当为null的时候设置 默认值
T result = Hawk.get(key, T);
(五) 移除数据
Hawk.remove(key); // Returns the result as boolean
or
同时移除多个
Hawk.remove(KEY_LIST, KEY_NAME); // Returns the result as boolean
(六) 判断是否包含某个key
boolean contains = Hawk.contains(key);
(七) 设置密码
Hawk.init(this)
.setE
ncryptionMethod(HawkBuilder.EncryptionMethod.HIGHEST)
.setPassword(“password”)
.setStorage(HawkBuilder.newSqliteStorage(this))
.setLogLevel(LogLevel.FULL)
.setCallback(new HawkBuilder.Callback() {
@Override
public void onSuccess() {
}
@Override
public void onFail(Exception e) {
}
})
.build();
(八) 注意事项
Hawk log 输出:
Hawk.init(context,PASSWORD, LogLevel.FULL); // as default it is NONE
Hawk 支持 buildRx 最近非常火的RxJava
如果使用也请导入 如果不需要Rx的功能 移除掉相应源码不会有影响
混淆:
#Gson
-keep class com.google.gson.** { *; }
-keepattributes Signature
(最后) 遇到的问题
Hawk 使用Json 进行数据的存储
使用的是google提供的Gson库 , 但我的项目里已经有了FastJson
为了控制包的大小所以将Gson的解析替换为 FastJson 使用的eclipse编写的供大家参考
github 地址:/orhanobut/hawk
eclipse Demo
下载地址:/detail/aaawqqq/9367130
Demo中 使用的eclipse 修改项目 ,
Demo中有4个部分:
hawk_main、
hawk_gson-lib 、 //gson包作为解析方式 去掉rx功能
hawk_fastJson-lib 、 //fastJson包作为解析方式 去掉rx功能
hawk_lib //gson包作为解析方式 有rx功能 但需要自行添加rx包
----------
其中 hawk_main 是主Demo
其它3个都是lib库 选择其中一个就行
lib对解析方式做了修改 分为gson和fastjson版本
hawk_lib 是源码 需要加入rx 才能使用rx功能
转载请注明/aaawqqq/article/details/50352309
// ┏┓┏┓
//┏┛┻━━━┛┻┓
//┃┃
//┃━┃
//┃┳┛┗┳┃
//┃┃
//┃┻┃
//┃┃
//┗━┓┏━┛
// ┃┃ 神兽保佑
// ┃┃ 代码无BUG!
// ┃┗━━━┓
hawk_lib 是源码 需要加入rx 才能使用rx功能
转载请注明/aaawqqq/article/details/50352309
// ┏┓┏┓
//┏┛┻━━━┛┻┓
//┃┃
//┃━┃
//┃┳┛┗┳┃
//┃┃
//┃┻┃
//┃┃
//┗━┓┏━┛
// ┃┃ 神兽保佑
// ┃┃ 代码无BUG!
// ┃┗━━━┓