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

QuickKV是一个专为Android设计的轻量级键值数据库,简化了HashMap和List的持久化操作。只需简单几步即可实现数据的存取,支持普通和大容量数据库。通过添加依赖、设定工作目录,即可快速进行键值对的增删查改,提高开发效率。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

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上克隆源代码查看,也可以去项目主页上有详细介绍。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值