Android之SharedPreferences存储
【简介】
在实际的软件运行中,往往需要许多配置参数信息,如Windows操作系统的引导文件boot.ini就保存了操作系统的配置参数,在编写 Java SE 或 Java EE 时,也往往会使用资源文件(*.properties)保存了一些系统的配置信息,而在Android中,如果要想实现配置信息的保存则需要使用SharedPreferences完成。
SharedPreferences提供了一些基础的信息保存功能,所有的信息都是按照“key=value”的形式进行保存的,但是android.content.SharedPreferences接口所保存的信息只能是一些基本的数据类型,如String、Int、boolean等
【使用步骤】
1、得到SharedPreferences对象。 //有的话得到,没有的话创建
2、调用SharedPreferences对象的edit()方法来获取一个SharedPreferences.Editor对象。//使其处于可编辑状态。
3、向SharedPreferences.Editor对象中添加数据。
4、调用commit()方法提交更新的数据
【详细过程】
1、得到SharedPreferences对象
方法1:
Context.getSharedPreferences(文件名称,操作模式)
文件名称不存在就会创建一个,
操作模式有两种:
MODE_PRIVATE:默认操作模式,直接在把第二个参数写0就是默认使用这种操作模式,这种模式表示只有当前的应用程序才可以对当前这个SharedPreferences文件进行读写。
MODE_MULTI_PRIVATE:用于多个进程共同操作一个SharedPreferences文件。
注:MODE_WORLD_READABLE和MODE_WORLD_WRITEABLE这两种模式已经在Android 4.2版本以后废弃了。
方法2:Activity.getSharedPreferences(操作模式)
使用这个方法会自动将当前活动的类名作为SharedPreferences的文件名
方法3
PreferenceManager.getDefaultSharedPreferences(Context)
使用这个方法会自动使用当前程序的包名作为前缀来命名SharedPreferences文件
2、调用SharedPreferences对象的edit()方法来获取一个SharedPreferences.Editor对象。
SharedPreferences.Editor editor = getSharedPreferences(“data”,MODE_PRIVATE).edit();
3、向SharedPreferences.Editor对象中添加数据。
editor.putString(“name”,”Lily”); //以键值对形式存储
editor.putInt(“age”,”20”); //以键值对形式存储
editor.putBoolean(“married”,false); //以键值对形式存储
4、调用commit方法将添加的数据提交。
editor.commit();
【代码示例】
SharedPreferences pref = MainActivity.this.getSharedPreferences(“data”,MODE_PRIVATE);
SharedPreferences.Editor editor = pref.edit();
editor.putString(“name”,”lily”);
editor.putString(“age”,”20”);
editor.putBoolean(“married”,false);
editor.commit();
如果要读取数据:
SharedPreferences pref = getSharedPreferences(“data”,MODE_PRIVATE);
String name = pref.getString(“name”,”“);//第二个参数为默认值
int age = pref.getInt(“age”,0);//第二个参数为默认值
boolean married = pref.getBoolean(“married”,false);//第二个参数为默认值
以上便是 SharedPreferences的基本用法
感谢秦时明月前辈的只是分享