博客
关于我
kotlin的SharedPreferences的工具类
阅读量:761 次
发布时间:2019-03-23

本文共 1509 字,大约阅读时间需要 5 分钟。

class SharedPreferencesUtil {    private constructor(context: Context) {        init {            // 初始化预设偏好文件            mPreferences = context.getSharedPreferences(mTAG, Context.MODE_PRIVATE)            mEditor = mPreferences.edit()        }    }    // 存入字符串数据    fun putSP(key: String, value: String) {        mEditor.putString(key, value)        mEditor.commit()    }    // 获取字符串数据    fun getSP(key: String): String? {        return mPreferences.getString(key, "")    }    // 移除特定键的数据    fun removeSP(key: String) {        mEditor.remove(key)        mEditor.commit()    }    companion object {        val mTAG = "test"        // 实例化单例工具        private val mSharedPreferencesUtil: SharedPreferencesUtil = SharedPreferencesUtil(ApplicationContext...)        // 获取预设偏好文件实例        fun getSPInstance(context: Context): SharedPreferencesUtil {            return mSharedPreferencesUtil        }    }}

SharedPreferencesUtil简要说明

SharedPreferencesUtil 是一个用于简化 SharedPreferences 操作的工具类,支持以下功能:

  • 存储字符串数据:通过 putSP 方法,可以方便地将任意字符串数据存储到 SharedPreferences 中。
  • 获取字符串数据:使用 getSP 方法可以无缝获取指定键对应的字符串值,默认返回空字符串。
  • 移除数据:调用 removeSP 方法可快速移除指定键的数据项。
  • 使用示例

    // 初始化工具类val spUtil = SharedPreferencesUtil.getSPInstance(context)// 孀值数据spUtil.putSP("USERNAME", "admin")spUtil.putSP("PASSWORD", "secret")// 获取数据val userName = spUtil.getSP("USERNAME")

    注意事项

  • 上下文是必需的:请确保在获取实例时传递有效的上下文。
  • 单例模式优化:本工具采用单例模式,确保内存占用最低。
  • 默认值处理:默认值使用空字符串,这可以根据实际需求进行调整。
  • 这个类的优势

    • 简化操作:通过工具类代替直接处理 Editor,减少 boilerplate code。
    • 高效管理:采用单例模式,避免多次初始化带来的开销。
    • 扩展性强:可以根据需求添加其他数据类型的存取方法。

    转载地址:http://chvzk.baihongyu.com/

    你可能感兴趣的文章
    OpenCV与AI深度学习 | OpenCV常用图像拼接方法(三):基于特征匹配拼接
    查看>>
    OpenCV与AI深度学习 | OpenCV常用图像拼接方法(二) :基于模板匹配拼接
    查看>>
    OpenCV与AI深度学习 | OpenCV常用图像拼接方法(四):基于Stitcher类拼接
    查看>>
    OpenCV与AI深度学习 | OpenCV快速傅里叶变换(FFT)用于图像和视频流的模糊检测(建议收藏!)
    查看>>
    OpenCV与AI深度学习 | SAM2(Segment Anything Model 2)新一代分割一切大模型介绍与使用(步骤 + 代码)
    查看>>
    OpenCV与AI深度学习 | T-Rex Label !超震撼 AI 自动标注工具,开箱即用、检测一切
    查看>>
    OpenCV与AI深度学习 | YOLO11介绍及五大任务推理演示(目标检测,图像分割,图像分类,姿态检测,带方向目标检测)
    查看>>
    OpenCV与AI深度学习 | YOLOv10在PyTorch和OpenVINO中推理对比
    查看>>
    OpenCV与AI深度学习 | YOLOv11来了:将重新定义AI的可能性
    查看>>
    OpenCV与AI深度学习 | YOLOv8自定义数据集训练实现火焰和烟雾检测(代码+数据集!)
    查看>>
    OpenCV与AI深度学习 | YOLOv8重磅升级,新增旋转目标检测,又该学习了!
    查看>>
    OpenCV与AI深度学习 | 一文带你读懂YOLOv1~YOLOv11(建议收藏!)
    查看>>
    OpenCV与AI深度学习 | 五分钟快速搭建一个实时人脸口罩检测系统(OpenCV+PaddleHub 含源码)
    查看>>
    OpenCV与AI深度学习 | 什么是 COCO 数据集?
    查看>>
    OpenCV与AI深度学习 | 低对比度缺陷检测应用实例--LCD屏幕脏污检测
    查看>>
    OpenCV与AI深度学习 | 使用 MoveNet Lightning 和 OpenCV 实现实时姿势检测
    查看>>
    OpenCV与AI深度学习 | 使用 OpenCV 创建自定义图像滤镜
    查看>>
    OpenCV与AI深度学习 | 使用 SAM 和 Grounding DINO 分割卫星图像
    查看>>
    OpenCV与AI深度学习 | 使用OpenCV图像修复技术去除眩光
    查看>>
    OpenCV与AI深度学习 | 使用OpenCV检测并计算直线角度
    查看>>