300字范文,内容丰富有趣,生活中的好帮手!
300字范文 > Android Hawk数据库 github开源项目 字节跳动社招面试记录

Android Hawk数据库 github开源项目 字节跳动社招面试记录

时间:2020-08-10 01:12:25

相关推荐

Android Hawk数据库 github开源项目 字节跳动社招面试记录

repositories {

// …

maven { url “https://jitpack.io” }

}

dependencies {

compile ‘com.github.orhanobut:hawk:1.21’

}

eclipse 用户请下载后导入项目

可以参考下方的Simple

(二) 初始化Hawk

初始化只需要一次就行了 放在你最开始执行的activity里面 或者 application

Hawk.init(this)

.setEncryptionMethod(HawkBuilder.EncryptionMethod.MEDIUM)

.setStorage(HawkBuilder.newSqliteStorage(this))

.setLogLevel(LogLevel.FULL)

.build();

能使用高安全级别 初始化可能需要 36-400ms 并且需要你提供密码

Hawk.init(this)

.setEncryptionMethod(HawkBuilder.EncryptionMethod.HIGHEST)

.setStorage(HawkBuilder.newSqliteStorage(this))

.setLogLevel(LogLevel.FULL)

.build();

初始化可以选择 SQLite 或者 SharePreference

.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);

《Android学习笔记总结+最新移动架构视频+大厂安卓面试真题+项目实战源码讲义》

开源分享完整内容戳这里

(五) 移除数据

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)

.setEncryptionMethod(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

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。