Android平台提供的SharedPreferences类,是一个内部轻量级的存储方案,特别适合用于保存软件配置参数,比如boolean,int,float,long,String等数据.使用SharedPreferences保存数据,其实质是采用了xml文件存放数据,路径为:/data/data/<package name>/shared_prefs.
getSharedPreferences(String name,int mode)方法的两个参数:
name就是指保存在shared_prefs目录下的xml文件名;
mode为访问指定xml文件的模式,有四种模式可供选择,后面会对各模式一一介绍。
在一个应用中可以建立多个Preferences文件,并且都保存在shared_prefs目录下。getSharedPreferences(String name,int mode)根据文件名访问xml文件。
获取SharedPreferences的两种方式:
1 调用Context对象的getSharedPreferences()方法
2 调用Activity对象的getPreferences()方法
两种方式的区别:
调用Context对象的getSharedPreferences()方法获得的SharedPreferences对象可以被同一应用程序下的其他组件共享.
调用Activity对象的getPreferences()方法获得的SharedPreferences对象只能在该Activity中使用.
SharedPreferences的四种操作模式:
Context.MODE_PRIVATE == 0x0000
Context.MODE_APPEND == 0x8000
Context.MODE_WORLD_READABLE ==0x0001
Context.MODE_WORLD_WRITEABLE ==0x0002
Context.MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容
Context.MODE_APPEND:模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件.
MODE_WORLD_READABLE:表示当前文件可以被其他应用读取.
MODE_WORLD_WRITEABLE:表示当前文件可以被其他应用写入.
将数据保存至SharedPreferences:
SharedPreferencespreferences=getSharedPreferences("user",Context.MODE_PRIVATE);
Editor editor=preferences.edit();
String name="xixi";
String age="22";
editor.putString("name", name);
editor.putString("age", age);
editor.commit();
从SharedPreferences获取数据:
SharedPreferencespreferences=getSharedPreferences("user", Context.MODE_PRIVATE);
String name=preferences.getString("name","defaultname");
String age=preferences.getString("age","0");