Android轻量易用的键值数据库 QuickKV

原创 2016年08月30日 10:47:43

QuickKV是一个专为Android项目提供的轻量易用的键值数据库。

在Android开发中,复杂的Map和List在持久化和反序列化的时候比较麻烦和费时。事实上,我们只需要关注键与值就够了。于是,QuickKV因此而诞生了!

  • HashMap with JSON
//Put data in a hashmap and save it to the local storage.
//在HashMap中放入数据并存储至本地存储器。
Map<Object, Object> map = new HashMap<Object, Object>();
map.put("Key","Value");
JSONObject json = new JSONObject();
Iterator iter = map.entrySet().iterator();
while (iter.hasNext())
{
    Map.Entry entry = (Map.Entry) iter.next();
    Object key = entry.getKey();
    Object value = entry.getValue();
    json.put(key.toString(), value.toString());
}
FileOutputStream fos = this.openFileOutput("data.json", Context.MODE_PRIVATE);
fos.write(json.toString().getBytes());
fos.close();
//Load saved data from local storage and parse it, then convert it to a HashMap is more complex.
//从存储器中载入已保存的数据并解析、转换为HashMap就更加复杂了。
  • QuickKV
//Do the same thing with QuickKV
//用QuickKV做同样的事情
QuickKV quickKv = new QuickKV(this);
KeyValueDatabase pkvdb1 = quickKv.getDatabase("Foo");
pkvdb1.put("Key", "Value");
pkvdb1.persist();
//Done! Saved to local storage!
//完成!已保存至本地存储器!
//Let try to load this saved database!
//让我们来试试载入这个保存好的数据库!
KeyValueDatabase pkvdb2 = quickKv.getDatabase("Foo");
pkvdb2.get("Key");
//Output: "Value"
//输出: "Value"
Do more tasks in fewer words. This QuickKV! 代码虽短,却能完成多个任务,这就是QuickKV!

as直接在build.gradle中添加一下依赖:

dependencies {
    compile 'com.github.SumiMakito:QuickKV:1.0.5'
}

新建实例

QuickKV quickKv = new QuickKV(this);

设定工作目录(可略过此步骤)
Default workspace / 默认工作目录: Context.getFilesDir();

quickKv.setWorkspace("/tmp");

取得数据库
Normal KVDB 普通键值数据库

kvdb = quickKv.getDatabase(); // --> database.qkv
kvdb = quickKv.getDatabase(true); // --> database.qkv (gzip)
kvdb = quickKv.getDatabase("CustomName"); // --> CustomName.qkv
kvdb = quickKv.getDatabase("CustomName.db"); // --> CustomName.db
kvdb = quickKv.getDatabase("CustomName", true); // --> CustomName.qkv (gzip)
kvdb = quickKv.getDatabase("", "Password"); // --> database.qkv (encrypted)
kvdb = quickKv.getDatabase("CustomName", "Password"); // --> CustomName.qkv (encrypted)
kvdb = quickKv.getDatabase("CustomName", "Password", true); // --> CustomName.qkv (encrypted+gzip)

High Capacity KVDB 大容量键值数据库(1.0.0+)

quickKv.setWorkspace("/tmp"); // IMPORTANT: Must set workspace first!!
hckvdb = quickKv.getHCKVDB("CustomName"); // --> /tmp/CustomName
hckvdb = quickKv.getHCKVDB("CustomName.db"); // --> /tmp/CustomName.db

操作普通数据库
Add a key-value data 添加一条KV数据

qkvdb.put(k,v); //Put everything as you like

将HashMap中的多条数据加入

qkvdb.put(hashMap); //Auto filled

通过键取得值
这个方法将返回一个对象,你可以在之后使用形态转换将该对象转为原始类型。

qkvdb.get("something_key");
qkvdb.getString("a_string");
qkvdb.getInt("an_int");
//... and more specific getters were added after v1.0.2

移除数据

qkvdb.remove("key");

清除数据

qkvdb.clear();

更多的一些功能可以去github上克隆源代码查看,也可以去项目主页上有详细介绍。

版权声明:本文为博主原创文章,未经博主允许不得转载。

相关文章推荐

wangEditor 基于javascript和css开发的 Web富文本编辑器, 轻量、简洁、易用、开源免费

介绍 wangEditor —— 轻量级 web 富文本编辑器,配置方便,使用简单。支持 IE10+ 浏览器。 官网:www.wangEditor.com文档:www.kancloud.cn/wa...

UMLet 轻量、免费、易用的UML工具

  • 2011年01月28日 17:05
  • 4.64MB
  • 下载

Android轻量型数据库SQLite详解

数据库是Android存储方案的核心,在Andorid中SQLite非常轻量,而且执行sql语句甚至比mysql还要快。 SQLiteDatabase 是 Android 中操作数据库的核心类之一,...

android轻量数据库SQLite的使用

SQLite是一款轻型的数据库,它的设计目标是嵌入 式的,而且目前已经在很多嵌入式产品中使用了它,它占用资源非常的低,在嵌入式设备中,可能只需要几百K的内存就够了。它能够支持 Windows/Lin...

Android轻量存储值SharedPreference存世实例

MainActivity代码: package com.example.sharedpreference1; import android.content.SharedPreferen...

安卓轻量型数据库Litepal简单使用

LitePal是一个Android开源原生库,它使开发者使用SQLite数据库变得非常容易。 你可以不用写一句SQL语句就可以完成大部分数据库操作,包括创建表,更新表,约束操作,聚合功能等等。Lite...
  • ZABone
  • ZABone
  • 2017年03月18日 22:17
  • 229

CYQ.Data 轻量数据层之路 V3.5版本发布-[开启同语句多数据库运行支持]

前言: Code highlighting produced by Actipro CodeHighlighter (freeware)http://www.CodeHighlighter.co...
  • cyq1162
  • cyq1162
  • 2016年11月23日 12:09
  • 161

轻量型数据库Sqlite3.0 常用命令使用

1. 查看sqllite的版本信息: 2 创建数据库 在终端中输入: sqlite3  数据库名称 ; 进入sqlite 编辑模式,可以创建表等相关操作  3 退出sqlite命...

Windows Azure(四-4):云上的轻量数据库--Table Storage

系列文章:Azure(一):简介 Window Azure(二):开发和发布一个Azure程序 Windows Azure(三):结构 Windows Azure(四-1):Worker Role(对...
内容举报
返回顶部
收藏助手
不良信息举报
您举报文章:Android轻量易用的键值数据库 QuickKV
举报原因:
原因补充:

(最多只允许输入30个字)