【Harmony】Preferences存储的封装使用

这篇具有很好参考价值的文章主要介绍了【Harmony】Preferences存储的封装使用。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

序言

轻量级数据存储功能通常用于保存应用的一些常用配置信息,并不适合需要存储大量数据和频繁改变数据的场景。应用的数据保存在文件中,这些文件可以持久化地存储在设备上。需要注意的是,应用访问的实例包含文件所有数据,这些数据会一直加载在设备的内存中,直到应用主动从内存中将其移除前,应用可以通过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()

到了这里,关于【Harmony】Preferences存储的封装使用的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Harmony鸿蒙南向驱动开发-RTC接口使用

    功能简介 RTC(real-time clock)为操作系统中的实时时钟设备,为操作系统提供精准的实时时间和定时报警功能。当设备下电后,通过外置电池供电,RTC继续记录操作系统时间;设备上电后,RTC提供实时时钟给操作系统,确保断电后系统时间的连续性。 运作机制 在HDF框架中,

    2024年04月13日
    浏览(80)
  • Harmony鸿蒙南向驱动开发-I3C接口使用

    功能简介 I3C(Improved Inter Integrated Circuit)总线是由MIPI Alliance开发的一种简单、低成本的双向二线制同步串行总线。 I3C是两线双向串行总线,针对多个传感器从设备进行了优化,并且一次只能由一个I3C主设备控制。相比于I2C,I3C总线拥有更高的速度、更低的功耗,支持带内中

    2024年04月12日
    浏览(34)
  • harmony 鸿蒙使用N-API开发Native模块

    harmony 鸿蒙使用N-API开发Native模块,其实就是Node.js 官网中已经给出 N-API 接口基础能力,同时,方舟 ArkTS 运行时提供的 N-API 接口,封装了方舟引擎的能力,在功能上与 Node.js 社区保持一致。 N-API 是 Node.js Addon Programming Interface 的缩写,是 Node.js 提供的一组 C++ API,封装了V8 引擎

    2024年02月21日
    浏览(41)
  • flutter使用shared_preferences依赖库实现简单的本地数据存储,封装成一个简单的单例类,方便前端同学使用

    shared_preferences 仓库地址:shared_preferences | Flutter Package shared_preferences这个依赖库还是非常好用的,全平台支持,就像前端经常使用的localstorage一样方便,所以就想着封装成一个简单的类,方便前端同学使用。封装好的代码支持json或者数组等这种类型的存储和获取。 在utils里面

    2024年01月20日
    浏览(51)
  • 鸿蒙Harmony--LocalStorage--页面级UI状态存储详解

    走的太急疼的是脚,逼的太紧累的是心,很多时候,慢一点也没关系,多给自己一些耐心和等待,保持热爱,当下即是未来,生活自有安排!  目录 一,定义 二,@LocalStorageProp定义 三,@LocalStorageProp装饰器使用规则说明  四,@LocalStorageProp变量的传递/访问规则说明  五,@Loc

    2024年01月20日
    浏览(46)
  • harmony 鸿蒙安全和高效的使用N-API开发Native模块

    N-API 是 Node.js Addon Programming Interface 的缩写,是 Node.js 提供的一组 C++ API,封装了V8 引擎的能力,用于编写 Node.js 的 Native 扩展模块。通过 N-API,开发者可以使用 C++ 编写高性能的 Node.js 模块,同时保持与 Node.js 的兼容性。 Node.js 官网中已经给出 N-API 接口基础能力的介绍,同时

    2024年02月22日
    浏览(40)
  • 鸿蒙Harmony--AppStorage--应用全局的UI状态存储详解

     无所求必满载而归,当你降低期待,降低欲望,往往会得到比较好的结果,把行动交给现在,用心甘情愿的态度,过随遇而安的生活,无论结果如何,都是一场惊喜的获得! 目录 一,定义 二,@StorageProp定义 三,@StorageProp装饰器使用规则说明 四,变量的传递/访问规则说明

    2024年01月17日
    浏览(49)
  • harmony 鸿蒙安全和高效的使用N-API开发Native模块_鸿蒙native开发(1)

    接口调用 跨语言调用是指在一个程序中使用多种编程语言编写的代码,并且这些代码可以相互调用和交互,ArkTS 调用 C++ 就是一种跨语言调用的方式。使用 N-API 进行函数调用会引入一定的开销,因为需要进行上下文切换、参数传递、函数调用和返回值处理等,这些过程都涉及

    2024年04月27日
    浏览(70)
  • 鸿蒙Harmony-PersistentStorage--持久化存储UI状态储详解

    用简单的心境,对待复杂的人生,方能看淡得失,从容入世,潇洒自如,心变得简单了,世界也就简单了 目录 一,定义 二,限制条件 三,使用 LocalStorage和AppStorage都是运行时的内存,但是在应用退出再次启动后,依然能保存选定的结果,是应用开发中十分常见的现象,这就

    2024年01月18日
    浏览(50)
  • Harmony 4.0 ArkUI 开发 Mac环境变量配置,及如何查看Harmony手机 API 版本

    mac配置 或者 加入你自己的SDK路径,我的路径是/Users/xxx/Library/Huawei 然后保存 或者 验证 ohpm 在DevEco Studio Teriminal终端执行 执行结果如果,则配置成功 然后连接真机,手机打开开发者模式,打开USB调试执行 如果运行下面这样代表配置成功 然后执行 运行如下返回6代表当前手机

    2024年02月03日
    浏览(59)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包