序言
轻量级数据存储功能通常用于保存应用的一些常用配置信息,并不适合需要存储大量数据和频繁改变数据的场景。应用的数据保存在文件中,这些文件可以持久化地存储在设备上。需要注意的是,应用访问的实例包含文件所有数据,这些数据会一直加载在设备的内存中,直到应用主动从内存中将其移除前,应用可以通过Preferences的API进行数据操作。文章来源地址https://www.toymoban.com/news/detail-683564.html
Preferences封装
public class PreferencesUtil {
private static volatile PreferencesUtil instance;
private Context mContext;
private Preferences preferences;
private PreferencesUtil(Context context) {
mContext = context;
}
public static PreferencesUtil getInstance(Context context) {
if (instance == null) {
synchronized (PreferencesUtil.class) {
if (instance == null) {
instance = new PreferencesUtil(context);
}
}
}
return instance;
}
/**
* 获取Preferences实例
*/
public PreferencesUtil getPreferences() {
if (preferences == null) {
DatabaseHelper databaseHelper = new DatabaseHelper(mContext); // context入参类型为ohos.app.Context。
String fileName = "user_pref"; // fileName表示文件名,其取值不能为空,也不能包含路径,默认存储目录可以通过context.getPreferencesDir()获取。
preferences = databaseHelper.getPreferences(fileName);
}
return this;
}
public String getUserName() {
if (preferences == null) {
throw new IllegalStateException("没有获取Preference实例,需要检测代码");
}
return preferences.getString("user_name", "");
}
public void setUserName(String userName) {
if (preferences == null) {
throw new IllegalStateException("没有获取Preference实例,需要检测代码");
}
preferences.putString("user_name", userName);
preferences.flush();
}
}
使用
PreferencesUtil.getInstance(getContext()).getPreferences().getUserName()
文章来源:https://www.toymoban.com/news/detail-683564.html
到了这里,关于【Harmony】Preferences存储的封装使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!