android -------- Hawk数据库
Hawk 是一个非常便捷的数据库 . 操作数据库只需一行代码 , 能存任何数据类型 .
github 地址: https://github.com/orhanobut/hawk
一、概念
SharedPreferences的使用大家应该非常熟悉啦。这是一种轻量级的存储简单配置信息的存储机制,以key-value的形式保存数据。
这里介绍一款基于SharedPreferences的的存储框架,是由Android开发大神Orhan Obut开源维护的,
它使用:
AES 加密
能选择使用SharedPreferences 或者 SQLite
Gson解析 (文章下方的Simple中有替换fastJson的版本)
提供:
安全数据持久化
能存储任何类型
二、用法
添加依赖
compile "com.orhanobut:hawk:2.0.1"
初始化
Hawk.init(context).build();
存储数据
//基本数据类型Hawk.put("position","zz");//集合List<String> list = new ArrayList<>();list.add("zhangqie1");list.add("zhangqie2");Hawk.put("listzq",list);//类User user= new User();user.setId(1);user.setName("zhangqie1");Hawk.put("user",user);//集合+实体类User user1= new User();user1.setId(2);user1.setName("zhangqie2");List<User> listUser = new ArrayList<>();listUser.add(user);listUser.add(user1);Hawk.put("listUser",listUser);
读取数据(去上面最后一个数据)
List<User> listU1 = Hawk.get("listUser");
数据是否已经保存:
Hawk.contains(key);
删除数据:
Hawk.delete(key);
删除全部数据:
Hawk.deleteAll();
接下来从源码的角度来看看内部干了什么吧,看图
这张图也很清晰的帮我们做了简单分析。左边的PUT方法中,是把T value 存储到Disk当中。大致流程是,先将数据进行toString的转换,接下来是加密,然后进行序列化,最后是存储,用的就是SharePreference的存储。获取数据时就正好逆过来啦。
android -------- Hawk数据库相关推荐
- android开源数据库,Android Hawk数据库 github开源项目
Android Hawk数据库 github开源项目 Hawk 是一个很便捷的数据库 . 操作数据库仅仅需一行代码 , 能存不论什么数据类型 . github 地址: https://github. ...
- Android Hawk数据库的源码解析,Github开源项目,基于SharedPreferences的的存储框架
今天看了朋友一个项目用到了Hawk,然后写了这边文章 一.了解一下概念 Android Hawk数据库github开源项目 Hawk是一个非常便捷的数据库.操作数据库只需一行代码,能存任何数据类型. ...
- Android Hawk数据库
转自:http://blog.csdn.net/aaawqqq/article/details/50352309 偶然发现的一个数据存储工具,使用超简单,可以替代SharePreference,保留下 ...
- Android Hawk数据库 github开源项目,字节跳动社招面试记录
repositories { // - maven { url "https://jitpack.io" } } dependencies { compile 'com.githu ...
- 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 ...
- Android 轻量级数据库 Hawk
前言介绍 Hawk 是一个很便捷的数据库 . 操作数据库仅仅需一行代码 , 能存不论什么数据类型 Hawk 是一个简单的 key-value 数据库 Hawk用的是: AES 加密能选择使用Share ...
- android专题-数据库Room
android专题-数据库Room Room介绍 room是Google官方推荐的ORM数据库框架,抽象出sqlite访问的数据库. 包含三大组件: Entity 定义 表结构,每个entity类对一 ...
- android与mysql数据库同步_android开发 如何通过web服务器访问MYSQL数据库并且使其数据同步到android SQLite数据库?...
通过web服务器访问MYSQL数据库有以下几个过程: 1.在MySql下创建自己的数据库和自己的表单 2.连接数据库. 3.访问数据库 1.创建web工程 (服务器端) 在Myeclipse下新建一个 ...
最新文章
- TensorFlow、PyTorch夹缝之下:后浪的进击和野望
- oracle启动的服务有哪些,启动/关闭oracle服务有三种方式
- IDA Pro 权威指南阅读摘要1
- celery 可视化_在Flask中使用Celery进行多任务分布执行
- 笔画输入法电脑版_太有才!浙江路政员发明汉字码输入法
- FFmpeg学习1:视频解码
- paip sms to blog.txt
- 你在现实中遇到让你最跌破三观的人或者事是什么?
- CSS按钮动画(二)
- r语言算巢式设计方差分析_R语言进行方差分析
- 数据库之DB2数据库备份
- [双十二优惠大放送] 我是小册姐,我因掘金小册而被创造,谢谢你们20天的陪伴...
- bde怎么配置oracle数据库,Oracle数据访问组件ODAC教程:如何从BDE和DOA迁移
- 抖音号永久封禁了怎么解封
- C/C++ 如何设计框架
- IPv4与IPv6之间的区别
- C++对象模型——Member的各种调用方式(第四章)
- linux内核 社区,明尼苏达大学Linux内核“伪装者提交”研究人员发表公开信
- hadoop组件概况
- 解决Fluxion卡在Starting Captive Portal access point service...
热门文章
- IOS客户端面试总结
- 用户 不在 sudoers 文件中。此事将被报告。
- 《从零开始的记账本开发》第1篇 需求分析
- 十进制负数转化成二进制
- 计算机科学与探索支付宝,中国第三方网上支付发展研究-以支付宝为例(毕业论文).doc...
- 20210719-t101-对称二叉树
- 樊氏族谱2-汝南樊银后裔家谱续谱-简书
- Android使用HttpURLConnection访问网络
- 快速梳理23种常用的设计模式
- java开发面试自我介绍模板_java求职自我介绍范文_java工程师面试个人介绍