SharedPreferences 还支持多种不同的数据类型存储,如果存储的数据类型是整型,那么读取出来的数据也是整型的,存储的数据是一个字符串,读取出来的数据仍然是字符串。这样你应该就能明显地感觉到,使用SharedPreferences 来进行数据持久化要比使用文件方便很多。
目录导航
- sharedPreferences简要的说明
- sharedPreferences的使用步骤
- sharedPreferences的项目结构
- sharedPreferences的项目代码
- sharedPreferences的实现原理
- sharedPreferences的友情链接
1. SharedPreferences是使用键值对的方式来存储数据的.
2. SharedPreferences保存的数据将持续整个用户会话,即使你的应用程序被杀掉(killed),直到应用程序卸载
3. SharedPreferences有三种模式:
- Context.MODE_PRIVATE:别的应用不能访问得到SharedPreferences对象
- Context.MODE_WORLD_READABLE:别的应用可以访问,并且是可以读取SharedPreferences中的数据,但不能写入数据
- Context.MODE_WORLD_WRITEABLE:别的应用可以访问,可以在SharedPreferences中写入修改数据
4. Android提供了三种方式得到SharedPreferences 对象:本质上都是调用Context 类中的getSharedPreferences()方法:
- Context类中的getSharedPreferences():两个参数,第一个指定生成文件的名称,第一个是操作模式。这样可以在一个Activity中创建多个SharedPreferences的文件
- Activity类中的getPreferences():一个参数,操作模式。使用当前活动的类名作为文件的名称
- PreferenceManager类中的getDefaultSharedPreferences():一个Context参数,使用当前应用程序的包名作为前缀来命名SharedPreferences文件
使用步骤
1. 向SharedPreferences中写入数据,分为四步:
- 通过上述说明,得到SharedPreferences对象
- 调用SharedPreferences 对象的edit()方法来获取一个SharedPreferences.Editor 对象
- 向SharedPreferences.Editor 对象中添加数据
- 调用commit()方法将添加的数据提交,从而完成数据存储操作
2. 向SharedPreferences中读取数据,分为两步:
- 通过上述说明,得到SharedPreferences对象
- 调用SharedPreferences的getXXX()方法得到数据
项目结构
项目代码
一、 AndroidManifest.xml
1 <?xml version="1.0" encoding="utf-8"?> 2 <manifest xmlns:android="http://schemas.android.com/apk/res/android" 3 package="com.example.linux.sharedpreferencestest"> 4 5 <application 6 android:allowBackup="true" 7 android:icon="@mipmap/ic_launcher" 8 android:label="@string/app_name" 9 android:supportsRtl="true" 10 android:theme="@style/AppTheme"> 11 <activity android:name=".MainActivity"> 12 <intent-filter> 13 <action android:name="android.intent.action.MAIN" /> 14 15 <category android:name="android.intent.category.LAUNCHER" /> 16 </intent-filter> 17 </activity> 18 </application> 19 20 </manifest>