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 地址: https://github.com/orhanobut/hawk
eclipse Demo
下载地址:http://download.csdn.net/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功能
转载请注明http://blog.csdn.net/aaawqqq/article/details/50352309
Android Hawk数据库 github开源项目,字节跳动社招面试记录相关推荐
- android开源数据库,Android Hawk数据库 github开源项目
Android Hawk数据库 github开源项目 Hawk 是一个很便捷的数据库 . 操作数据库仅仅需一行代码 , 能存不论什么数据类型 . github 地址: https://github. ...
- android hawk 保存map对象,Android Hawk数据库 github开源项目
您还能够通过使用链功能存储多个项目. 记得在最后使用commit(). // Returns the result as boolean Hawk.chain() .put(KEY_LIST, Lis ...
- Android Hawk数据库 github开源项目,深入理解JVM的核心知识点
.setStorage(HawkBuilder.newSqliteStorage(this)) or .setStorage(HawkBuilder.newSharedPrefStorage(this ...
- 字节跳动社招面试记录,java异常处理关键字
蚂蚁花呗第一次技术面(60min): Java容器有哪些?哪些是同步容器,哪些是并发容器? ArrayList和LinkedList的插入和访问的时间复杂度? java反射原理, 注解原理? 说说一致 ...
- 字节跳动社招面试记录,javaspring框架详细设计模板
Java如何入门? 1.建立好开发环境 首先建立好开发环境非常重要,工欲善其事,必先利其器.做任何开发,首先就是要把这个环境准备好,之后就可以去做各种尝试,尝试过程中就能逐渐建立信心.初学者往往在环境 ...
- 字节跳动社招5面(已拿offer):算法+微服务+多线程+JVM+数据库
前言 字节跳动在图文.视频.问答.图片等领域连续发力,产品矩阵包括今日头条.抖音短视频.西瓜视频.懂车帝.GoGoKid英语.皮皮虾.Faceu激萌.轻颜相机等多款产品,以及AI教育产品.企业SaaS ...
- 字节跳动社招全岗位研发面经(已拿offer)
前言 几经周折,群里小伙伴终于成功进入了字节跳动大厂工作.这套面试经验是他自己和几个小伙伴共同总结的,分享给大家.通过本文,可以帮助大家快速回顾了面试中知识点,其次这套面试手册涵盖了诸多岗位的面试题和 ...
- 字节跳动-社招2年面试经历(HR面待续哈哈哈)
先大概说下背景 - 本人后端开发,技术栈纯JAVA,之前刷过不少算法题,然后也是毕业就在大厂工作2年(之后定了可能再PO名字哈哈). 坐标北京.求职原因其实一部分是为了找各种机会看看自己目前的水平和当 ...
- 程序员进阶知识点!蚂蚁金服、拼多多、字节跳动社招面经,建议细读
写在前面 很多小伙伴留言说让我写一些工作过程中的真实案例,写些啥呢?想来想去,写一篇我在以前公司从零开始到用户超千万的数据库架构升级演变的过程吧. 本文记录了我之前初到一家创业公司,从零开始到用户超千 ...
最新文章
- 产品设计技术公开-一种扼杀对手的方式
- mac下appium启动
- 笔记本显示器仅计算机,将笔记本电脑(仅一个HDMI接口)连接到双屏幕(谨慎使用)的解决方案...
- 12月21日云栖精选夜读:阿里云总裁胡晓明:AI泡沫过后,下一站是“产业AI”...
- wxWidgets:最小的 wxWidgets 示例
- 基于注解的Spring MVC(所需jar包,web.xml配置,Spring文件配置,@Controller,@RequestMapping,@RequestParam,model填参,EL取值)
- 交叉编译工具链的使用
- 软件的极简主义的三个大敌:配置文件,冗余的参数,和大量复杂的接口。
- python3 value counts函数_如何将value_counts()输出转换为数据帧?
- 帆软FineMobile 消息推送/定时调度
- SHA256算法原理介绍以及实现
- 【开发环境】运行Hitool出现“A Java Runtime Environment (JRE) or Java Development Kit (JDK)”错误处理
- LVS 同网段搭建keeplive+lvs
- java实现自动拨打电话语音提示
- 图像校色 白平衡调整
- CSS3让长单词与URL地址自动换行——word-wrap属性
- 设计要用计算机吗,作为设计师 你需要这样的笔记本电脑
- Material Design的基础知识
- 判断当前终端是移动端还是PC端
- 数字转字母python_将一串数字转换成字母python
热门文章
- 解决win10下localhost打不开的问题
- Magic UI四子围城,2022折叠屏灵魂觉醒
- SPO 二,SharePoint On-Premises, Online, On Azure.
- element-ui的v-loading不生效
- 网易互娱AI Lab视频动捕技术iCap被CVPR 2022接收!
- 关于HTAP与HSAP
- 算法题_位运算_9_出现一次的数字和出现k次的数字
- debian安装MySQL
- 综合治理GIS方案(综治)
- word题注“一-1”改为“1-1”