FireFlyKV使用指南

基本使用

配置 FireFlyKV 根目錄

  • 在(zài) App 啓動時(shí)初始化 FireFlyKV,默認設定 FireFlyKV 的(de)根目錄(files/ffkv/ff),例如在(zài) MainActivity 裏:

    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    
        FireFlyKV fireFlyKV = FireFlyKV.init(this);
    }
    

CRUD 操作

  • 使用FireFlyKV初始化後返回的(de)對象,操作相關的(de)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");
    

    可以(yǐ)看到(dào),FireFlyKV 在(zài)使用上(shàng)還是(shì)比較簡單的(de)。

  • 删除 & 查詢

    fireFlyKV.removeValueForKey("boolean");
    
    boolean containsKey = fireFlyKV.containsKey("key");
    
  • 如果業務需要(yào / yāo)多進程訪問,隻需在(zài)初始化時(shí)指定多進程模式即可。

    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");
    

支持的(de)數據類型

  • 支持以(yǐ)下 Java 語言基礎類型:

    • byte、short、int、long、float、double、char、boolean
  • 支持以(yǐ)下 Java 類:
    • String

使用進階

FireFlyKV 有一(yī / yì /yí)些高級設置,可以(yǐ)使得更符合你的(de)需求。

自定義根目錄

  • FireFlyKV 默認把文件存放在(zài)$(FilesDir)/ffkv/ff目錄。你可以(yǐ)在(zài) App 啓動時(shí)自定義根目錄:

    String dir = getFilesDir().getAbsolutePath() + "/ffkv2";
    FireFlyKV.init(dir);
    

加密

  • FireFlyKV 默認明文存儲所有 key-value,依賴 Android 系統的(de)沙盒機制保證文件加密。如果你擔心信息洩露,你可以(yǐ)選擇加密 FireFlyKV,隻需在(zài)初始化FireFlyKV時(shí)指定加密方式即可。

    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加密,後續會進行适當擴展

文件整理

在(zài)數據的(de)增删改查過程中,我們會記錄無效數據的(de)比例,一(yī / yì /yí)旦這(zhè)個(gè)比例超過總數據量的(de)50%,并且數據文件的(de)大(dà)小超過500kb,才會觸發重整理的(de)工作。當達不(bù)到(dào)這(zhè)個(gè)條件時(shí),失效的(de)數據不(bù)會對性能造成太大(dà)的(de)影響,當達到(dào)這(zhè)個(gè)條件時(shí),我們會觸發重整理的(de)工作,删除失效數據,從而(ér)達到(dào)節省磁盤空間,增加文件打開和(hé / huò)讀寫的(de)效率。

下一(yī / yì /yí)步:

安裝指南

性能對比

API參考

Copyright © 屯昌單支科技有限公司 2019 all right reserved,powered by Gitbook聯系方式: wanglihang@mskj.com
修訂時(shí)間: 2019-09-03 17:48:17

results matching ""

    No results matching ""