什么是SharePreference?
官网的解释:
The
SharedPreferences
class provides a general framework that allows you to save and retrieve persistentkey-value
pairs of primitive data types. You can useSharedPreferences
to save any primitive data:booleans
,floats
,ints
,longs
, andstrings
. This data will persist across user sessions (even if your application is killed).
SharedPreferences
类能够对key-value
(键值对)数据持久化存取,文件保存在app的数据目录下,SharedPreferences
只能存取boolean
,float
,int
,long
, 和string
类型的数据。
读取SharePreference中的数据
1. 得到SharePreference对象,在Activity
的onCreate()
方法中执行下面的语句:
SharedPreferences spref= getSharedPreferences(PREFS_NAME, 0);
说明:如果是在非
Activity
类中获取SharePreference
,则需要一个context
对象
SharedPreferences spref= context.getSharedPreferences(PREFS_NAME, 0);
参数说明:
1.
PREFS_NAME
为SharePreference
保存数据文件的名字,如果文件不存在,则创建文件,存在就加载对应的数据。
2.0
为SharePreference
的模式,0
表示PRIVATE_MODE
,即数据文件只有自己的app
能访问
2.得到SharePreference
对象spref
之后
boolean silent = spref.getBoolean("silentMode", false);
参数说明:
1.
silentMode
为保存数据时key-value
的key
值。
2.false
为SharePreference
中没有找到key
值为silentMode
对应的数据默认的返回值(boolean
),如果是String silent =spref.getString("silentMode","str")
,"str"
为没有找到key
值为silentMode
对应的数据默认的返回值(String
)。
保存数据到SharePreference
1. 得到SharePreference对象参见(读取SharePreference中的数据)
2.得到SharePreference
对象spref
之后
SharedPreferences.Editor editor = spref.edit();
editor.putBoolean("silentMode", mSilentMode);//保存boolean数据
editor.putString("huanjinzi", "欢金子");//保存String数据
// 提交对SharedPreferences的编辑
editor.commit();
了解更多:
https://developer.android.com/guide/topics/data/data-storage.html(科学上网)