1. 定义:共享参数,保存一些较短的数据,比如用户登陆时的用户名,密码等。其实质是采用了xml文件存放数据,路径 为:/data/data/<packagename>/shared_prefs。
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE); //此方法默认生成一个xml文件- 类名.xml。
(2)向共享参数文件中写入内容:
3. SharedPreferences的四种操作模式:
(1)Context.MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件 的内容
(2)Context.MODE_APPEND:模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件.
(3)Context.MODE_WORLD_READABLE:表示当前文件可以被其他应用读取.
(4)Context.MODE_WORLD_WRITEABLE :表示当前文件可以被其他应用写入
注:权限是可以相加的,比如:现在我想要一个其它项目可以读取,并且也可以写入,还可加: Context.MODE_WORLD_READABLE+Context.MODE_WORLD_WRITEABLE+Context.MODE_APPEND
4. 补充:
(1)SharedPreferences 本身是接口,创建实例只能通过 Context 提供的方法来获取:
getSharedPreferences(Stirng name, int mode)
2. 使用方法:
(1)得到共享参数对象两种方法:b. getPreferences:调用Activity对象的getPreferences()方法获得的SharedPreferences对象只能在该Activity中使用,比如:a. getSharedPreferences:调用Context对象的getSharedPreferences()方法获得的SharedPreferences对象可以被同一应用程序下的其他组 件共享.比如: SharedPreferences sp = context.getSharedPreferences("共享参数文件名", Context.MODE_PRIVATE);
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE); //此方法默认生成一个xml文件- 类名.xml。
(2)向共享参数文件中写入内容:
a. 获得SharedPrefreces对象:SharedPreferencessharedPref= getActivity().getSharedPreferences("fileName",Context.MODE_PRIVATE);(3)读取共享参数文件内容:
b. 获得Editor对象(对SharedPreferences进行编辑只能通过Editor对象):Editor editor = sharedPref.edit();
c. 写入内容:editor.putInt("key", 90);
d. 调用Editor对象的commit()方法提交:editor.commit();
使用SharedPreferences中getXXX()方法.比如:
SharedPreferences sharedPref =getActivity().getSharedPreferences("fileName",Context.MODE_PRIVATE);
long highScore = sharedPref.getInt("key", 默认值); //默认值:当共享参数文件中,key没有值,则需返回一个默认值,默认值由程序员自己定 义。3. SharedPreferences的四种操作模式:
(1)Context.MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件 的内容
(2)Context.MODE_APPEND:模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件.
(3)Context.MODE_WORLD_READABLE:表示当前文件可以被其他应用读取.
(4)Context.MODE_WORLD_WRITEABLE :表示当前文件可以被其他应用写入
注:权限是可以相加的,比如:现在我想要一个其它项目可以读取,并且也可以写入,还可加: Context.MODE_WORLD_READABLE+Context.MODE_WORLD_WRITEABLE+Context.MODE_APPEND
4. 补充:
(1)SharedPreferences 本身是接口,创建实例只能通过 Context 提供的方法来获取:
getSharedPreferences(Stirng name, int mode)
(2)Context.MODE_APPEND追加模式在偏好设置里并没有意义,只要关键字不同,就会向存储内容的xml文件里写入数据.