[ ]
ZhouSa.com FireFlyKV使用指南
基本使用
配置 FireFlyKV 根目录
在 App 启动时初始化 FireFlyKV,默认设定 FireFlyKV 的根目录(files/ffkv/ff),例如在 MainActivity 里:
protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity_main); FireFlyKV fireFlyKV = FireFlyKV.init(this); }
CRUD 操作
使用FireFlyKV初始化后返回的对象,操作相关的API:
import com.cmbc.storage.ffkv.FireFlyKV; ... FireFlyKV fireFlyKV = FireFlyKV.init(this); fireFlyKV.putInt("int", 300); int iRet = fireFlyKV.getInt("int"); fireFlyKV.putString("key", "value"); String str = fireFlyKV.getString("key");
可以看到,FireFlyKV 在使用上还是比较简单的。
删除 & 查询:
fireFlyKV.removeValueForKey("boolean"); boolean containsKey = fireFlyKV.containsKey("key");
如果业务需要多进程访问,只需在初始化时指定多进程模式即可。
public static final int SINGLE_PROCESS_MODE = 0; public static final int MULTI_PROCESS_MODE = 1; FireFlyKV fireFlyKV = FireFlyKV.init(this, FireFlyKV.MULTI_PROCESS_MODE); fireFlyKV.putString("key", "value"); String str = fireFlyKV.getString("key");
支持的数据类型
支持以下 Java 语言基础类型:
byte、short、int、long、float、double、char、boolean
- 支持以下 Java 类:
String
使用进阶
FireFlyKV 有一些高级设置,可以使得更符合你的需求。
自定义根目录
FireFlyKV 默认把文件存放在
$(FilesDir)/ffkv/ff
目录。你可以在 App 启动时自定义根目录:String dir = getFilesDir().getAbsolutePath() + "/ffkv2"; FireFlyKV.init(dir);
加密
FireFlyKV 默认明文存储所有 key-value,依赖 Android 系统的沙盒机制保证文件加密。如果你担心信息泄露,你可以选择加密 FireFlyKV,只需在初始化FireFlyKV时指定加密方式即可。
public static final int NONE_ENCRYPT = 0; public static final int CC20_ENCRYPT = 1; FireFlyKV fireFlyKV = FireFlyKV.init(this, FireFlyKV.CC20_ENCRYPT, "chacha20"); fireFlyKV.putInt("int", 300); int iRet = fireFlyKV.getInt("int");
目前暂提供chacha20加密,后续会进行适当扩展
文件整理
在数据的增删改查过程中,我们会记录无效数据的比例,一旦这个比例超过总数据量的50%,并且数据文件的大小超过500kb,才会触发重整理的工作。当达不到这个条件时,失效的数据不会对性能造成太大的影响,当达到这个条件时,我们会触发重整理的工作,删除失效数据,从而达到节省磁盘空间,增加文件打开和读写的效率。
还没有评论,来说两句吧...