为了保存软件的设置参数,Android平台为我们提供了一个SharedPreferences接口,它是一个轻量级的存储类,特别适合用于保存软件配置参数。使用SharedPreferences保存数据,其背后是用xml文件存放数据,文件存放在/data/data//shared_prefs目录下。
SharedPreferences共有四种操作模式,这四种模式代表的含义为:
Context.MODE_PRIVATE = 0
Context.MODE_APPEND = 32768
Context.MODE_WORLD_READABLE = 1
Context.MODE_WORLD_WRITEABLE = 2
Context.MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容,如果想把新写入的内容追加到原文件中。可以使用Context.MODE_APPEND
Context.MODE_APPEND:模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件。
Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE用来控制其他应用是否有权限读写该文件。
MODE_WORLD_READABLE:表示当前文件可以被其他应用读取;MODE_WORLD_WRITEABLE:表示当前文件可以被其他应用写入。
--------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
在android中用sharedPreference保存信息,可用来页面之间的传值,对信息的调用。
代码:(保存账号,密码,年龄,性别等信息)
public class MySharedPreferences { public static SharedPreferences share(Context context){ SharedPreferences sharedPreferences = context.getSharedPreferences("date", Context.MODE_PRIVATE); return sharedPreferences; } //name 账号 //调用上面的 share(Context context) 方法 获取标识为 "name" 的数据 public static Object getName(Context context){ return share(context).getString("name",null); } //调用上面的 share(Context context) 方法 将数据存入,并标识为 "name" //使用 commit() 方法保存会给出反应(保存成功或失败) public static boolean setName(String name, Context context){ SharedPreferences.Editor e = share(context).edit(); e.putString("name",name); Boolean bool = e.commit(); return bool; } //pswd 密码 public static String getPswd(Context context){ return share(context).getString("pswd",null); } //这里使用的是 apply() 方法保存,将不会有返回值 public static void setPswd(String pswd, Context context){ SharedPreferences.Editor e = share(context).edit(); e.putString("pswd",pswd); e.apply(); } /** * 可以根据需求选择用那种方式保存数据 * (需不需要告诉你有没有保存成功) */ //sex 性别 public static String getSex(Context context){ return share(context).getString("sex",null); } public static void setSex(String sex, Context context){ SharedPreferences.Editor e = share(context).edit(); e.putString("sex",sex); e.apply(); } //age 年龄 public static String getAge(Context context){ return share(context).getString("age",null); } public static void setAge(String age, Context context){ SharedPreferences.Editor e = share(context).edit(); e.putString("age",age); e.apply(); } }