SharedPreferences是Android中的一种轻量级的存储方式,它的本质是基于xml文件的键值对数据,通常用来保存一些基本的配置信息。其存储的位置位于data/data/(packageName)/shared_prefs目录下。我们可以使用SharedPreferences来保存任何原始数据,包括布尔值,浮点值,整形值,长整型和字符串。
获取SharedPreferences
要获取应用的SharedPreferences对象,可以使用 getSharedPreferences(String name, int mode) 来获取一个SharedPreferences对象,参数name表示文件的名字,有则打开,没有则创建,一般采用应用ID作为文件名的前缀。参数mode是方式,一般选择 Context.MODE_PRIVATE。表示该文件只能自己所在的应用程序所访问。
也可以使用 getPreferences(int mode) 来获取一个SharedPreferences对象,通过此方法返回的SharedPreferences对象只能用于获得该对象的Activity。由于这是用于唯一Activity的选项文件,所以无需提供名字。
存储数据
要写入数据,需要SharedPreferences.Editor。可以通过 sharedPreferences.edit() 获取。在通过 putBoolean(),putString() 等方法添加值。最后使用apply()或ycommit()方法提交。
val shared = getSharedPreferences(NAME, Context.MODE_PRIVATE)
val editor = shared.edit()
editor.putBoolean(name, true)
editor.commit()
要读取数据,请使用 getBoolean(),getString() 等SharedPreferences方法。
val shared = getSharedPreferences(NAME, Context.MODE_PRIVATE)
val name = shared.getString(name, default)