第一行代码 第三版 第七章 数据存储持久化技术 7.3SharedPreferences存储

7.3 SharedPreferences存储

使用键值对的方式存储,SharedPreferences支持多种不同的数据类型存储。

7.3.1 将数据存储到SharedPreferences中

获取SharedPreferences对象的两种方法:

  1. Context类中的getSharedPreferences()方法。
    接受两个参数:
    第一个参数 :用于指定
    SharedPreferences
    文件的名称,若不 存在则会创建一个,SharedPreferences文件都是存放在/data/data/<.package name>/shared_prefs/目录下的
    第二个参数:指定操作模式 ,目前只有默认的MODE_PRIVATE这一个模式可选,和直接传入0的效果是相同的。
  2. Activity类中的getPreferences()方法:
    直接接受一个参数:操作模式参数(因为使用这个方法是会自动将当前Activity的类名作为SharedPreferences的文件名)

得到SharedPreferences对象后:分三步向SharedPreferences文件中存储数据。

  1. 调用SharedPreferences对象的edit() 方法获取一个SharedPreferences.Editor对象。
  2. SharedPreferences.Editor对象中添加数据,使用putXX()方法。
  3. 调用apply() 方法将添加的数据提交,从而完成数据存储操作。
 saveButton.setOnClickListener {
            val editor = getSharedPreferences("data",Context.MODE_PRIVATE).edit()
            editor.putString("name","Tom")
            editor.putInt("age",20)
            editor.putBoolean("married",false)
            editor.apply()
        }
7.3.2 从SharedPreferences中读取数据

使用getXX()方法,传入的两个参数分别是:第一个参数是键,第二参数是默认值。

restoreButton.setOnClickListener {
            val prefs=getSharedPreferences("data",Context.MODE_PRIVATE)
            val name=prefs.getString("name","")
            val age = prefs.getInt("age",0)
            val married = prefs.getBoolean("married",false)
            Log.d("MainActivity","name is $name")
            Log.d("MainActivity","age is $age")
            Log.d("MainActivity","married is $married")
        }
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值