SharedPreferences主要用于存放软件的配置参数等信息。
sharedPreferences用于存取和修改软件配置参数数据的接口,由getSharedPreferences(String, int)函数返回。任何具体的参数,都有一个单独的该类实例向所有客户端共享。修改参数必须通过SharedPreferences.Editor 对象,以确保这些参数在被提交到外存的时候它们的值处于一致的状态和控制之下。该类暂不支持多进程操作,但是以后将提供该功能。
/**
* getSharedPreferences(name,mode);
* 第一个参数name是存储时的名称,自定义,也就是一个文件名
* 第二个参数mode则是文件的打开方式,默认的模式为0或MODE_PRIVATE
*
* mode指定为MODE_PRIVATE,则该配置文件只能被自己的应用程序访问
* mode指定为MODE_WORLD_READABLE,则该配置文件除了自己访问外还可以被其它应该程序读取
* mode指定为MODE_WORLD_WRITEABLE,则该配置文件除了自己访问外还可以被其它应该程序读取和写入
*
*/
//第一个参数:程序存储用户信息所生成的xml文件的名字,随便起,此为ss.xml,可在此程序的/shared_prefs文件夹下找到
//第二个参数:此生成文件的使用范围
SharedPreferences preferences = getSharedPreferences("ss", Context.MODE_PRIVATE);
/**
* 存放:
* 1.获得SharedPreferences 的实例对象,通过getSharedPreferences()传递文件名和模式;
* 2.获得Editor 的实例对象,通过SharedPreferences 的实例对象的edit()方法;
* 3.存入数据,利用Editor 对象的putXXX()方法;
* 4.提交修改的数据,利用Editor 对象的commit()方法。
*/
//获取SharedPreferences
SharedPreferences sPreferences = getSharedPreferences("ss", Context.MODE_PRIVATE);
//打开SharedPreferences的编辑状态
Editor editor = sPreferences.edit();
//存储数据,用户名,键值对的形式
editor.putString("User", user);
//存储数据,密码,键值对的形式
editor.putString("Password", password);
//保存数据
editor.commit();
/**
* 读取:
* 1.获得SharedPreferences 的实例对象,通过getSharedPreferences()传递文件名和模式;
* 2.读取数据,通过SharedPreferences 的实例对象的getXXX()方法。
*
*/
//获取SharedPreferences
SharedPreferences sPreferences = getSharedPreferences("ss", Context.MODE_PRIVATE);
//获取ss文件中User对应的数据,注意第二个参数,若此键值对中暂时没有数值,则默认返回第二个参数的值
user = sPreferences.getString("User", "");
//获取info文件中Password对应的数据
password = sPreferences.getString("Password", "");
//把user赋值给用户EditText组件对象
userText.setText(user);
//把password赋值给密码EditText组件对象
passwordText.setText(password);