HarmonyOS 鸿蒙Next ohos.data.preferences 数据存储,使用preferences 单例模式
HarmonyOS 鸿蒙Next ohos.data.preferences 数据存储,使用preferences 单例模式
App内部权限校验,抽离成公用方法,需要用到preferences 取出本地数据,但是需要额外传递context,重新初始化操作对象,才能执行存取操作。
export class GlobalContext {
private constructor() {
}
private static instance: GlobalContext;
private _objects = new Map<string, Object>();
public static getContext(): GlobalContext {
if (!GlobalContext.instance) {
GlobalContext.instance = new GlobalContext();
}
return GlobalContext.instance;
}
getObject(value: string): Object | undefined {
return this._objects.get(value);
}
setObject(key: string, objectClass: Object): void {
this._objects.set(key, objectClass);
}
}
EntryAbility:
let productPreferences: Function = (() => {
let preferences: Promise<dataPreferences.Preferences> = dataPreferences.getPreferences(context,key);
return preferences;
});
GlobalContext.getContext().setObject(‘getProductPreferences’, preferences);
>
更多关于HarmonyOS 鸿蒙Next ohos.data.preferences 数据存储,使用preferences 单例模式的实战系列教程也可以访问 https://www.itying.com/category-93-b0.html
在HarmonyOS(鸿蒙)系统中,ohos.data.preferences
提供了轻量级的数据存储解决方案,类似于其他操作系统中的键值对存储机制。使用 preferences
的单例模式可以确保应用中的数据存储访问是线程安全的,并且避免重复创建实例带来的资源开销。
在鸿蒙中,可以通过以下方式获取 preferences
的单例对象:
import ohos.data.preferences.Preferences;
import ohos.data.preferences.PreferencesFactory;
// 获取Preferences单例对象
Preferences preferences = PreferencesFactory.createUserPreferences(context, "your_preferences_file_name", Preferences.MODE_PRIVATE);
其中,context
是当前应用或模块的上下文,"your_preferences_file_name"
是存储文件的名称(不包含文件扩展名),Preferences.MODE_PRIVATE
表示文件是私有的,仅当前应用可访问。
获取到 preferences
对象后,即可通过 putString
、getInt
等方法存储和读取数据。例如:
// 存储数据
preferences.putString("key_string", "value_string");
// 读取数据
String value = preferences.getString("key_string", "default_value");
注意,preferences
的单例模式确保了全局唯一性,但需要在适当的时候(如应用退出时)手动关闭或清理资源,以保证内存和资源的有效管理。
如果问题依旧没法解决请联系官网客服,官网地址是:https://www.itying.com/category-93-b0.html