V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
• 请不要在回答技术问题时复制粘贴 AI 生成的内容
SumiMakito
V2EX  ›  程序员

Android 开源库: 可持久化的 Key-value 数据库:QuickKV

  •  
  •   SumiMakito ·
    SumiMakito · 2015-03-02 19:13:39 +08:00 via Android · 4601 次点击
    这是一个创建于 3587 天前的主题,其中的信息可能已经有所发展或是发生改变。
    写程序用到HashMap的时候要指定类型再实例化,而且HashMap想要持久化到文件的时候也很麻烦,还需要写遍历再填入JSON中,最后还要输出到文件,OutputStream还需要捕捉异常,实在是麻烦。
    于是就写出来了这个东西,起初是准备自己用的,但后来觉得这个东西对很多人来说应该很方便。
    免去了Map实例化、持久化的步骤,应该也可以看作是一个加了一点功能的Key-Value数据库吧......
    目前Android项目可以使用这个库,不久后会完成Java项目可用的库。

    部分特性:
    1.最简单的KV数据库:省略掉了Map实例化的过程(不可持久化, 只是封装了Map)
    2.可持久化的KV数据库:封装Map实例化、持久化的方法,持久化只需要调用一个方法,多个实例同名数据库之间可同步。
    3.一个主要实例管理多个数据库。
    4.可选使用AES256加密数据库,能够保护数据。(实验功能)

    https://github.com/SumiMakito/QuickKV
    (将不断完善,欢迎加星星~)
    有中英文(中式)API文档

    第一次来这里发东西,有些紧张呢...........
    第 1 条附言  ·  2015-03-07 01:32:51 +08:00
    最近更新至了0.8版本。
    删除了一些没用的类,加密的问题基本得到解决,读文件和解析的速度比前几版本要快。
    嗯,就是这些。
    文档又写了一大堆 T_T
    感谢加星星,这个项目还会不断更新,我的目标就是好用即可。
    7 条回复    2015-03-04 17:36:40 +08:00
    1023400273
        1
    1023400273  
       2015-03-02 19:28:21 +08:00
    SharedPreference?
    SumiMakito
        2
    SumiMakito  
    OP
       2015-03-02 19:35:15 +08:00 via Android
    @1023400273 不是...用HashMap存放数据 持久化时转为JSON再写入文件
    invite
        3
    invite  
       2015-03-02 20:58:25 +08:00
    很好奇加密是怎么个做法
    loading
        4
    loading  
       2015-03-02 21:22:35 +08:00
    @invite
    4.可选使用AES256加密数据库,能够保护数据。

    我认为,这对于数据库来说没意义,浪费性能。
    况且aes256这类算法没用,专注提高性能吧!
    数据保密方面的安全不是数据库提供的东西。
    SumiMakito
        5
    SumiMakito  
    OP
       2015-03-02 22:53:21 +08:00 via Android
    @loading 加密只是可选,并且还在实验阶段中,将来可能会移除这部分的功能,默认是不启用加密的。
    RelativeLayout
        6
    RelativeLayout  
       2015-03-03 14:12:42 +08:00
    存储少量数据应该没问题... 大量的就不好说了...
    kirisetsz
        7
    kirisetsz  
       2015-03-04 17:36:40 +08:00
    嗯、个人一般是使用 SharedPreferences + BaseActivity 提供辅助函数调用 JSON 序列化器进行转换的。 减少引用泄露风险的同时进行复杂数据结构的序列化/反序列化。当然不支持复杂的查询、这和所有的 KV 数据库是一样的。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3099 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 26ms · UTC 13:33 · PVG 21:33 · LAX 05:33 · JFK 08:33
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.