android开源数据库,Android Hawk数据库 github开源项目
Android Hawk数据库 github开源项目
Hawk 是一个很便捷的数据库 . 操作数据库仅仅需一行代码 , 能存不论什么数据类型 .
github 地址: https://github.com/orhanobut/hawk
Hawk 是一个简单的 key-value 数据库
它使用:
AES 加密
能选择使用SharedPreferences 或者 SQLite
Gson解析 (文章下方的Simple中有替换fastJson的版本号)
提供:
安全数据持久化
能存储不论什么类型
先看看样例 符合项目的须要之后往下看
存储样例:
Hawk.put("key", "something"); // Save string
Hawk.put("key", true); // save boolean
Hawk.put("key", new Foo()); // save an object
Hawk.put("key", List); // save list
Hawk.put("key", List); // save list
Hawk.put("key", Map); // save map
Hawk.put("key", Set); // save set
Hawk.put("key", 1234); // save numbers
获取的样例:
String value = Hawk.get(key);
int value = Hawk.get(key);
Foo value = Hawk.get(key);
boolean value = Hawk.get(key);
List value = Hawk.get(key);
List value = Hawk.get(key);
Map value = Hawk.get(key);
Set 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 而且须要你提供password
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);
(七) 设置password
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
// ┏┓ ┏┓
//┏┛┻━━━┛┻┓
//┃ ┃
//┃ ━ ┃
//┃ ┳┛ ┗┳ ┃
//┃ ┃
//┃ ┻ ┃
//┃ ┃
//┗━┓ ┏━┛
// ┃ ┃ 神兽保佑
// ┃ ┃ 代码无BUG。
// ┃ ┗━━━┓
// ┃ ┣┓
// ┃ ┏┛
// ┗┓┓┏━┳┓┏┛
// ┃┫┫ ┃┫┫
// ┗┻┛ ┗┻┛
希望对大家实用
android开源数据库,Android Hawk数据库 github开源项目相关推荐
- 如何参与Github开源社区开发
如何参与Github开源社区开发 最近对Github开源社区感兴趣,想学习如何在Github上面参与到开源社区开发. Github项目精确搜索 关于如何在github社区查询到自己想要的开源项目,根据 ...
- Android Hawk数据库的源码解析,Github开源项目,基于SharedPreferences的的存储框架
今天看了朋友一个项目用到了Hawk,然后写了这边文章 一.了解一下概念 Android Hawk数据库github开源项目 Hawk是一个非常便捷的数据库.操作数据库只需一行代码,能存任何数据类型. ...
- android 开源 数据库,Android开源数据库框架-LitePal的使用
简介 LitePal是一款开源的Android数据库框架,采用了关系映射的模式.LitePal在github上的项目地址:github.com/LitePalFram- 配置LitePal depen ...
- Wcdb android 目录,介绍 - 《WCDB - 腾讯开源的移动数据库框架》 - 书栈网 · BookStack...
WCDB 相关讨论可以加我们的QQ群WCDB 技术交流群: 190485752 WCDB iOS/macOS 群: 708134978 WCDB Android 群: 868268492 WCDB W ...
- android数据库存储查询,geopackage-android 开源的地理空间信息数据库存储
GeoPackage一个开放的地理空间信息的格式,基于标准的.平台独立的,可移植的.自描述.紧凑格式将地理空间信息.遵循OGC标准,数据库内核使用ormlite数据库.GeoPackage 数据库表可 ...
- GitHub开源的最全中文诗歌古典文集数据库
GitHub开源的最全中华古典文集数据库,包含 5.5 万首唐诗.26 万首宋诗.2.1 万首宋词和其他古典文集.诗人包括唐宋两朝近 1.4 万古诗人,和两宋时期 1.5 千古词人. 为什么要做这个仓 ...
- github 开源android项目
转自:http://blog.csdn.net/shulianghan/article/details/18046021 主要介绍那些不错个性化的View,包括ListView.ActionBar.M ...
- Android之Hawk数据库
Hawk数据存储工具,使用超简单,可以替代SharePreference,作为本地存储.Hawk是一个非常便捷的数据库. 操作数据库只需一行代码 , 能存任何数据类型 .Github地址 Hawk同样 ...
- [Android开源项目] GitHub开源项目总结 (转)
[Android开源项目] GitHub开源项目总结 GitHub开源项目android-styled-dialogs http://neast.cn/forum.php?mod=viewthread ...
最新文章
- Python包管理工具Distribute的安装
- 卡方分布分位数_卡方检验和精确概率法及两两比较
- android baidupush
- scp 一次拷贝多个文件
- 10.Web组件复用
- 谈谈几个SpringCloud常见面试题及答案
- amp;#9733;一名“标题党”自我修炼的10…
- 通过JAVA获取优酷、土豆、酷6、6间房、56视频
- java期末大作业:记事本
- 蓝桥杯—大胖子走迷宫—广搜
- C++函数模板及隐式实例化、显式实例化、显式具体化、模板重载
- 【2018版】Docker入门视频课程-汤小洋-专题视频课程
- 南京java架构师工资_java架构师工资一般是多少?怎么提升才能获得高薪?
- C语言制作-QQ聊天室
- Git 的一些使用细枝末节
- mysql找不到my.ini文件
- 【转】使用Eclipse和BlackBerry JDE开发黑莓应用程序
- 北京顺义上线无线地磁系统
- 哪些是真正的全光谱灯品牌呢?推荐五款全光谱护眼灯
- 易语言 html 服务器,更新易语言http服务器开发框架
热门文章
- android 通知写法_Android架构设计MVP模式第(二)篇,如何减少类爆炸
- mysql技术blog_Mysql技术 - 包子博客 _ 关注互联网前端、开发、SEO、移动互联网应用技术...
- android 混淆移除log,关于安卓代码混淆和Release版本中去除Debug信息
- bzoj 3028 食物——生成函数
- python数据类型、if判断语句
- python3 tkinter 桌面软件教程
- 2层弹出页面刷新中间层
- 外部SRAM实验,让STM32的外部SRAM操作跟内部SRAM一样(转)
- DevExpress 13.2.6源码、安装包、汉化包下载和教程
- 36 Unicode和字节字符串