Android平台给我们提供了一个SharedPreferences类,它是一个轻量级的存储类,特别适合用于保存软件配置参数。使用SharedPreferences保存数据,其背后是用xml文件存放数据,文件存放在/data/data/<package name>/shared_prefs目录下。
getSharedPreferences(name,mode)方法的第一个参数用于指定该文件的名称,名称不用带后缀,后缀会由Android自动加上。方法的第二个参数指定文件的操作模式,共有四种操作模式:
1、Activity.MODE_PRIVATE
默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容,如果想把新写入的内容追加到原文件中,可以使用Activity.MODE_APPEND
2、Activity.MODE_WORLD_READABLE
表示当前文件可以被其他应用读取,
3、Activity.MODE_WORLD_WRITEABLE
表示当前文件可以被其他应用写入;
如果希望文件被其他应用读和写,可以传入:Activity.MODE_WORLD_READABLE+Activity.MODE_WORLD_WRITEABLE
4、Activity.MODE_APPEND
该模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件
保存信息:
SharedPreferences sharedPreferences = getSharedPreferences("userInfo", Context.MODE_PRIVATE); Editor editor = sharedPreferences.edit();//获取编辑器 editor.putString("account", "cu56"); editor.putInt("password", 123456); editor.commit();//提交修改
SharedPreferences sharedPreferences = getSharedPreferences("userInfo", Context.MODE_PRIVATE); Editor editor = sharedPreferences.edit();//获取编辑器 editor.putString("account", "cu56"); editor.putInt("password", 123456); editor.commit();//提交修改
生成xml文件:
<?xml version='1.0' encoding='utf-8' standalone='yes' ?> <map> <string name="account">53663698</string> <string name="password">123456</string> </map>
读取信息
SharedPreferences preferences = getSharedPreferences("userInfo", Activity.MODE_PRIVATE); String account = preferences.getString("account", "");
SharedPreferences preferences = getSharedPreferences("userInfo", Activity.MODE_PRIVATE); String account = preferences.getString("account", "");