Android平台给我们提供了一个SharedPreferences类,它是一个轻量级的存储类,特别适合用于保存软件配置参数。使用SharedPreferences保存数据,其背后是用xml文件存放数据,文件存放在/data/data/<package name>/shared_prefs目录下:
存储:
SharedPreferences sp=getSharedPreferences("UItest",Activity.MODE_APPEND);
SharedPreferences.Editor editor=sp.edit();//获得编辑器
editor.putString("name",edt1.getText()+"");
editor.putString("xuehao",edt2.getText()+"");
editor.putString("zhuanye",edt3.getText()+"");
Log.i("MainActivity",rb1.isChecked()+"值");
editor.putBoolean("xingbie", rb1.isChecked());
editor.commit();
getSharedPreferences("name","model");
第二个参数model有四种模式:
Context.MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容.
Context.MODE_APPEND:模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件。
Context.MODE_WORLD_READABLE:表示当前文件可以被其他应用读取;
Context.MODE_WORLD_WRITEABLE:表示当前文件可以被其他应用写入。
缺点和参数意义:
只能存储这几种基本类型:
editor.putString("String name","String value");//字符串
editor.putBoolean("String name","boolean value");//布尔型
editor.putInt("String name","int value");//整型
editor.putFloat("String name","float value");//浮点型
editor.putLong("String name","long value");//长整
editor.putStringSet("String name","Set<String> value");
获取:
SharedPreferences sp=getSharedPreferences("UItest",Activity.MODE_APPEND);
sp.getString("name",null);//根据键取出对应的值,第二个参数代表,当文件夹里没有这个键默认返回值是什么,当前返回空,其他几个都一样