本文主要是介绍SharedPreferences的四种模式,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!
开发应用需要保存一些配置参数,如果是window软件通常我们会采用ini文件进行保存,如果是j2se应用,我们会采用properties属性文件进行保存。如果是Android应用,我们最适合采用SharedPreferences保存数据,它是一个轻量级的存储类,特别适合用于保存软件配置参数。
有两种方法可以获得SharedPreferences对象:
getSharedPreferences();
使用SharedPreferences保存数据,其背后是用xml文件存放数据,文件存放在/data/data/<packagename>/shared_prefs目录下。例如:
SharedPreferences sharedPreferences =getSharedPreferences("11", Context.MODE_PRIVATE);Editor editor = sharedPreferences.edit();//获取编辑器
editor.putString("name", "Recherar cheng");
editor.putInt("age", 24);
editor.commit();//提交修改
生成的11.xml文件内容如下:
<?xml version='1.0' encoding='utf-8'standalone='yes' ?>
<map>
<stringname="name">Recherar cheng</string>
<int name="age" value="24" />
</map>
因为SharedPreferences背后是使用xml文件保存数据,getSharedPreferences(name,mode)方法的第一个参数用于指定该文件的名称,名称不用带后缀,后缀会由Android自动加上。方法的第二个参数指定文件的操作模式,共有四种操作模式,
这四种模式代表的含义为:
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:表示当前文件可以被其他应用写入。
其基本步骤如下:
调用getSharedPreferences类的edit()方法获得SharedPreferences.Editor对象。
调用如:putBoolean().putString()等方法增加值。
使用commit()方法提交新值。
注解:SharedPreferences是个接口,其源码是这样的:
public interface SharedPreferences {/**}
getSharedPreferences()是一个方法,该方法返回的是
SharedPreferences的对象。其源码定义如下:
@Overridepublic SharedPreferences getSharedPreferences(String name, int mode) {return mBase.getSharedPreferences(name, mode);}
getPreference():
如果Activity仅需要一个共享文件,则可以使用该方法。这个方法默认使用当前类不带包名的类名作为文件的名称。
这篇关于SharedPreferences的四种模式的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!