harmony-utils之PreferencesUtil,首選項(xiàng)工具類(lèi)
harmony-utils 簡(jiǎn)介與說(shuō)明
[harmony-utils] 一款功能豐富且極易上手的HarmonyOS工具庫(kù),借助眾多實(shí)用工具類(lèi),致力于助力開(kāi)發(fā)者迅速構(gòu)建鴻蒙應(yīng)用。其封裝的工具涵蓋了APP、設(shè)備、屏幕、授權(quán)、通知、線(xiàn)程間通信、彈框、吐司、生物認(rèn)證、用戶(hù)首選項(xiàng)、拍照、相冊(cè)、掃碼、文件、日志,異常捕獲、字符、字符串、數(shù)字、集合、日期、隨機(jī)、base64、加密、解密、JSON等一系列的功能和操作,能夠滿(mǎn)足各種不同的開(kāi)發(fā)需求。
[picker_utils] 是harmony-utils拆分出來(lái)的一個(gè)子庫(kù),包含PickerUtil、PhotoHelper、ScanUtil。
下載安裝ohpm i @pura/harmony-utils
ohpm i @pura/picker_utils
//全局初始化方法,在UIAbility的onCreate方法中初始化 AppUtil.init()
onCreate(want: Want, launchParam: AbilityConstant.LaunchParam): void {
AppUtil.init(this.context);
}
API方法與使用
init 初始化
PreferencesUtil.init("my_app_preferences");
put 將數(shù)據(jù)緩存
PreferencesUtil.put("id", 10000018);
PreferencesUtil.putSync("name", "張三叁");
PreferencesUtil.putSync("bl_nuv", false);
get 獲取緩存值
let id = await PreferencesUtil.get("id", "");
getString 獲取string類(lèi)型的緩存值
let name1 = await PreferencesUtil.getString("name");
let name2 = PreferencesUtil.getStringSync('name');
getNumber 獲取number類(lèi)型的緩存值
let id1 = await PreferencesUtil.getNumber("id");
let id2 = PreferencesUtil.getNumberSync('id');
getBoolean 獲取boolean類(lèi)型的緩存值
let bl1 = await PreferencesUtil.getBoolean("bl_nut");
let bl2 = PreferencesUtil.getBooleanSync('bl_nuv');
has 檢查緩存實(shí)例中是否包含給定Key的存儲(chǔ)鍵值對(duì)
let bl1 = await PreferencesUtil.has("id");
let bl2 = PreferencesUtil.hasSync('name');
delete 刪除緩存值
PreferencesUtil.delete("id");
PreferencesUtil.deleteSync("name");
clear 清空緩存
PreferencesUtil.clear();
PreferencesUtil.clearSync();
deletePreferences 從緩存中移出指定的Preferences實(shí)例,若Preferences實(shí)例有對(duì)應(yīng)的持久化文件,則同時(shí)刪除其持久化文件。
PreferencesUtil.deletePreferences(getContext(), "SP_PREFERENCES_MSG");
onChange 訂閱數(shù)據(jù)變更,訂閱的Key的值發(fā)生變更后,在執(zhí)行flush方法后,觸發(fā)callback回調(diào)
private callback: Callback< string > = (value) = > {
LogUtil.error("onChange: " + value);
}
PreferencesUtil.onChange(callback);
offChange 取消訂閱數(shù)據(jù)變更
PreferencesUtil.offChange(callback);
onDataChange 精確訂閱數(shù)據(jù)變更,只有被訂閱的key值發(fā)生變更后,在執(zhí)行flush方法后,觸發(fā)callback回調(diào)
private dataCallback = (data: Record< string, preferences.ValueType >) = > {
for (const keyValue of Object.entries(data)) {
LogUtil.error("onDataChange: " + keyValue);
}
}
PreferencesUtil.onDataChange(["id", "name"], dataCallback);
offDataChange 取消精確訂閱數(shù)據(jù)變更
PreferencesUtil.offDataChange(["id", "name"], dataCallback);
創(chuàng)作不易,請(qǐng)給童長(zhǎng)老點(diǎn)贊
審核編輯 黃宇
-
Harmony
+關(guān)注
關(guān)注
0文章
108瀏覽量
3017
發(fā)布評(píng)論請(qǐng)先 登錄
評(píng)論