Android Hawk数据库 github开源项目(1)

String value = Hawk.get(key);

int value = Hawk.get(key);

Foo value = Hawk.get(key);

boolean value = Hawk.get(key);

List<String> value = Hawk.get(key);

List<Foo> value = Hawk.get(key);

Map<String,Foo> value = Hawk.get(key);

Set<Foo> value = Hawk.get(key);

(一) 添加进项目

android studio 在gradle中进行配置

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

(五) 移除数据

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 地址: https://github.com/orhanobut/hawk

eclipse Demo

最后

其实Android开发的知识点就那么多,面试问来问去还是那么点东西。所以面试没有其他的诀窍,只看你对这些知识点准备的充分程度。so,出去面试时先看看自己复习到了哪个阶段就好。

上面分享的百度、腾讯、网易、字节跳动、阿里等公司2021年的高频面试题,博主还把这些技术点整理成了视频和PDF(实际上比预期多花了不少精力),包含知识脉络 + 诸多细节,由于篇幅有限,上面只是以图片的形式给大家展示一部分。

【Android思维脑图(技能树)】

知识不体系?这里还有整理出来的Android进阶学习的思维脑图,给大家参考一个方向。

【Android高级架构视频学习资源】

Android部分精讲视频领取学习后更加是如虎添翼!进军BATJ大厂等(备战)!现在都说互联网寒冬,其实无非就是你上错了车,且穿的少(技能),要是你上对车,自身技术能力够强,公司换掉的代价大,怎么可能会被裁掉,都是淘汰末端的业务Curd而已!现如今市场上初级程序员泛滥,这套教程针对Android开发工程师1-6年的人员、正处于瓶颈期,想要年后突破自己涨薪的,进阶Android中高级、架构师对你更是如鱼得水,赶快领取吧!
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》
点击传送门,即可获取!

一个方向。

[外链图片转存中…(img-fApj6JL2-1714544865706)]

【Android高级架构视频学习资源】

Android部分精讲视频领取学习后更加是如虎添翼!进军BATJ大厂等(备战)!现在都说互联网寒冬,其实无非就是你上错了车,且穿的少(技能),要是你上对车,自身技术能力够强,公司换掉的代价大,怎么可能会被裁掉,都是淘汰末端的业务Curd而已!现如今市场上初级程序员泛滥,这套教程针对Android开发工程师1-6年的人员、正处于瓶颈期,想要年后突破自己涨薪的,进阶Android中高级、架构师对你更是如鱼得水,赶快领取吧!
《Android学习笔记总结+移动架构视频+大厂面试真题+项目实战源码》
点击传送门,即可获取!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值