FireflyKV API
FireflyKV 对象,主要用于 KV 存储的初始化,存、取等操作,是主要的类。
初始化
FireFlyKV需调用init方法进行初始化,返回FireFlyKV实例对象,进而完成读写等操作,下文增删改查等操作,默认已初始化完成,
返回FireFlyKV的实例对象为fireFlyKV。
默认初始化
FireFlyKV init(Context context);
参数:
属性 |
类型 |
说明 |
context |
Context |
上下文 |
示例:
FireFlyKV fireFlyKV = FireFlyKV.init(this);
加密时初始化
FireFlyKV init(Context context, String path, int encryptType,String key, int mode);
参数:
属性 |
类型 |
说明 |
context |
Context |
上下文 |
path |
String |
KV 存储库路径 |
encryptType |
int |
加密类型:0-不加密;1-chacha20加密 |
key |
String |
秘钥 |
mode |
Int |
是否开启多进程访问:0-不开启;1-开启 |
示例:
public static final int NONE_ENCRYPT = 0;
public static final int CC20_ENCRYPT = 1;
String path = context.getFilesDir().getAbsolutePath() + "/ffkv";
String key = "chacha20";
FireFlyKV fireFlyKV = FireFlyKV.init(path, CC20_ENCRYPT, key);
存储数据
存储 String 类型数值
以 key 作为键存储 String 类型数值。
boolean putString(String key, String value);
参数:
属性 |
类型 |
说明 |
key |
String |
key 值 |
value |
String |
value 键 |
返回值:
示例:
boolean result = fireFlyKV.putString("key", "value");
存储 byte 类型数值
以 key 作为键存储 byte 类型数值。
boolean putByte(String key, byte value);
参数:
属性 |
类型 |
说明 |
key |
String |
key 值 |
value |
byte |
value 键 |
返回值:
示例:
boolean result = fireFlyKV.putByte("byte", 127);
存储 short 类型数值
以 key 作为键存储 short 类型数值。
boolean putShort(String key, short value);
参数:
属性 |
类型 |
说明 |
key |
String |
key 值 |
value |
short |
value 键 |
返回值:
示例:
boolean result = fireFlyKV.putShort("short", 130);
存储 int 类型数值
以 key 作为键存储 int 类型数值。
boolean putInt(String key, int value);
参数:
属性 |
类型 |
说明 |
key |
String |
key 值 |
value |
int |
value 键 |
返回值:
示例:
boolean result = fireFlyKV.putInt("int", 300);
存储 long 类型数值
以 key 作为键存储 long 类型数值。
boolean putLong(String key, long value);
参数:
属性 |
类型 |
说明 |
key |
String |
key 值 |
value |
long |
value 键 |
返回值:
示例:
boolean result = fireFlyKV.putLong("long", 323432423423423L);
存储 float 类型数值
以 key 作为键存储 float 类型数值。
boolean putFloat(String key, float value);
参数:
属性 |
类型 |
说明 |
key |
String |
key 值 |
value |
float |
value 键 |
返回值:
示例:
boolean result = fireFlyKV.putFloat("float", 1.2f);
存储 double 类型数值
以 key 作为键存储 double 类型数值。
boolean putDouble(String key, double value);
参数:
属性 |
类型 |
说明 |
key |
String |
key 值 |
value |
double |
value 键 |
返回值:
示例:
boolean result = fireFlyKV.putDouble("double", 1234132123);
存储 char 类型数值
以 key 作为键存储 char 类型数值。
boolean putChar(String key, char value);
参数:
属性 |
类型 |
说明 |
key |
String |
key 值 |
value |
char |
value 键 |
返回值:
示例:
boolean result = fireFlyKV.putChar("char", 'c');
存储 boolean 类型数值
以 key 作为键存储 boolean 类型数值。
boolean putBoolean(String key, boolean value);
参数:
属性 |
类型 |
说明 |
key |
String |
key 值 |
value |
boolean |
value 键 |
返回值:
示例:
boolean result = fireFlyKV.putBoolean("boolean", false);
获取数据
获取 String 类型数值
通过 key 取 String 值,默认是 null
普通
String getString(String key);
参数:
属性 |
类型 |
说明 |
key |
String |
key 键 |
示例:
String str = fireFlyKV.getString("key");
带默认值
String getString(String key, String defaultValue);
参数:
属性 |
类型 |
说明 |
key |
String |
key 键 |
defaultValue |
String |
默认值 |
返回值:
示例:
String str = fireFlyKV.getString("key", "FireFlyKV");
获取 byte 类型数值
通过 key 取 byte 值,默认是 0
普通
String getByte(String key);
参数:
属性 |
类型 |
说明 |
key |
String |
key 键 |
示例:
byte bRet = fireFlyKV.getByte("byte");
带默认值
byte getByte(String key, byte defaultValue);
参数:
属性 |
类型 |
说明 |
key |
String |
key 键 |
defaultValue |
byte |
默认值 |
返回值:
示例:
byte bRet = fireFlyKV.getByte("byte", 1);
获取 short 类型数值
通过 key 取 short 值,默认是 0
普通
short getShort(String key);
参数:
属性 |
类型 |
说明 |
key |
String |
key 键 |
示例:
short sRet = fireFlyKV.getShort("short");
带默认值
short getShort(String key, short defaultValue);
参数:
属性 |
类型 |
说明 |
key |
String |
key 键 |
defaultValue |
short |
默认值 |
返回值:
示例:
short sRet = fireFlyKV.getShort("short", 1);
获取 int 类型数值
通过 key 取 int 值,默认是 0
普通
int getInt(String key);
参数:
属性 |
类型 |
说明 |
key |
String |
key 键 |
示例:
int iRet = fireFlyKV.getInt("int");
带默认值
int getInt(String key, int defaultValue);
参数:
属性 |
类型 |
说明 |
key |
String |
key 键 |
defaultValue |
int |
默认值 |
返回值:
示例:
int iRet = fireFlyKV.getInt("int", 1);
获取 long 类型数值
通过 key 取 long 值,默认是 0L
普通
long getLong(String key);
参数:
属性 |
类型 |
说明 |
key |
String |
key 键 |
示例:
long lRet = fireFlyKV.getLong("long");
带默认值
long getLong(String key, long defaultValue);
参数:
属性 |
类型 |
说明 |
key |
String |
key 键 |
defaultValue |
long |
默认值 |
返回值:
示例:
long lRet = fireFlyKV.getLong("long", 1L);
获取 float 类型数值
通过 key 取 float 值,默认是 0f
普通
float getFloat(String key);
参数:
属性 |
类型 |
说明 |
key |
String |
key 键 |
示例:
float fRet = fireFlyKV.getFloat("float");
带默认值
float getFloat(String key, float defaultValue);
参数:
属性 |
类型 |
说明 |
key |
String |
key 键 |
defaultValue |
float |
默认值 |
返回值:
示例:
float fRet = fireFlyKV.getFloat("float", 1.2f);
获取 double 类型数值
通过 key 取 double 值,默认是 0.00
普通
double getDouble(String key);
参数:
属性 |
类型 |
说明 |
key |
String |
key 键 |
示例:
double dRet = fireFlyKV.getDouble("double");
带默认值
double getDouble(String key, double defaultValue);
参数:
属性 |
类型 |
说明 |
key |
String |
key 键 |
defaultValue |
double |
默认值 |
返回值:
示例:
double dRet = fireFlyKV.getDouble("double", 1.23);
获取 char 类型数值
通过 key 取 char 值,默认是 0
普通
char getChar(String key);
参数:
属性 |
类型 |
说明 |
key |
String |
key 键 |
示例:
char cRet = fireFlyKV.getChar("char");
带默认值
char getChar(String key, char defaultValue);
参数:
属性 |
类型 |
说明 |
key |
String |
key 键 |
defaultValue |
char |
默认值 |
返回值:
示例:
char cRet = fireFlyKV.getChar("char", 'a');
获取 boolean 类型数值
通过 key 取 boolean 值,默认是 false
普通
boolean getBoolean(String key);
参数:
属性 |
类型 |
说明 |
key |
String |
key 键 |
示例:
boolean boolRet = fireFlyKV.getBoolean("boolean");
带默认值
boolean getBoolean(String key, boolean defaultValue);
参数:
属性 |
类型 |
说明 |
key |
String |
key 键 |
defaultValue |
boolean |
默认值 |
返回值:
示例:
boolean boolRet = fireFlyKV.getBoolean("boolean", false);
是否包含 key 值
boolean containsKey(String key);
参数
属性 |
类型 |
说明 |
key |
String |
key 键 |
返回值
示例:
boolean containsKey = fireFlyKV.containsKey("name");
删除 key 值
移除 KV 库中的为 key 的数据
boolean removeValueForKey(String key);
参数
属性 |
类型 |
说明 |
key |
String |
key 键 |
返回值
示例:
boolean removeSuccess = fireFlyKV.removeValueForKey("key");
清除 KV 库数据
void clearAll();
参数
无
返回值
无
示例:
fireFlyKV.clearAll();
多进程访问
处理多个进程间的数据同步问题,需要在FireflyKV初始化时,指定为多进程模式即可。
FireFlyKV init(Context context, String path, int encryptType,String key, int mode);
参数:
属性 |
类型 |
说明 |
context |
Context |
上下文 |
path |
String |
KV 存储库路径 |
encryptType |
int |
加密类型:0-不加密;1-chacha20加密 |
key |
String |
秘钥 |
mode |
Int |
是否开启多进程访问:0-不开启;1-开启 |
示例:
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");