博客
关于我
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深度学习 | 实战 | 基于YoloV5和Mask RCNN实现汽车表面划痕检测(步骤 + 代码)
    查看>>
    OpenCV与AI深度学习 | 实战 | 基于YOLOv9+SAM实现动态目标检测和分割(步骤 + 代码)
    查看>>
    OpenCV与AI深度学习 | 实战 | 基于YOLOv9和OpenCV实现车辆跟踪计数(步骤 + 源码)
    查看>>
    OpenCV与AI深度学习 | 实战 | 文本图片去水印--同时保持文本原始色彩(附源码)
    查看>>
    OpenCV与AI深度学习 | 实战 | 通过微调SegFormer改进车道检测效果(数据集 + 源码)
    查看>>
    OpenCV与AI深度学习 | 实战—使用YOLOv8图像分割实现路面坑洞检测(步骤 + 代码)
    查看>>
    OpenCV与AI深度学习 | 实战篇——基于YOLOv8和OpenCV实现车速检测(详细步骤 + 代码)
    查看>>
    OpenCV与AI深度学习 | 实战|OpenCV实时弯道检测(详细步骤+源码)
    查看>>
    OpenCV与AI深度学习 | 实用技巧 | 使用OpenCV进行模糊检测
    查看>>
    OpenCV与AI深度学习 | 实践教程|旋转目标检测模型-TensorRT 部署(C++)
    查看>>
    OpenCV与AI深度学习 | 工业缺陷检测中数据标注需要注意的几个事项
    查看>>
    OpenCV与AI深度学习 | 干货 | 深度学习模型训练和部署的基本步骤
    查看>>
    OpenCV与AI深度学习 | 手把手教你用Python和OpenCV搭建一个半自动标注工具(详细步骤 + 源码)
    查看>>
    OpenCV与AI深度学习 | 水下检测+扩散模型:或成明年CVPR最大惊喜!
    查看>>
    OpenCV与AI深度学习 | 深入浅出了解OCR识别票据原理
    查看>>
    OpenCV与AI深度学习 | 深度学习检测小目标常用方法
    查看>>
    OpenCV与AI深度学习 | 超越YOLOv10/11、RT-DETRv2/3!中科大D-FINE重新定义边界框回归任务
    查看>>
    OpenCV与AI深度学习 | 高效开源的OCR工具:Surya-OCR介绍与使用
    查看>>
    OpenCV与AI深度学习|16个含源码和数据集的计算机视觉实战项目(建议收藏!)
    查看>>
    Opencv中KNN背景分割器
    查看>>