SharedPreferences是Android平台上一个轻量级的存储类,主要用于保存一些常用的配置参数,采用XML文件存放数据,文件存放在/data/data<package name>/shared_prefs目录下。
SharedPreferences是一个接口,在这个接口里没有提供写入数据和读取数据的能力,它通过其Editor接口中的一些方法来操作SharedPreference,用法如下。
(1)应用Context.getSharedPreferences(String name,intmode)得到一个SharedPrefer-ences实例。其中参数含义如下。
name:指文件名称,不需要加后缀.xml,系统会自动添加。
mode:用于指定读写方式,其值有如下四种。
Context.MODE_PRIVATE:为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容,如果想把新写入的内容追加到原文件中,可以使用Context.MODE_AppEND。
Context.MODE_APPEND:模式会检查文件是否存在,若存在,则往文件追加内容,否则创建新文件。
Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE:用来控制其他应用是否有权限读写该文件,从API17开始已经过期。
(2)调用SharedPreferences对象的edit()方法获取一个SharedPreferences.Editor对象。
(3)向SharedPreferences.Editor对象中添加数据,比如使用putBoolean方法添加一个布尔型数据,使用putString()方法添加一个字符串,以此类推。
(4)调用commit()方法将添加的数据提交,从而完成数据存储操作。
SharedPreferences接口非常适合用来存储零散的数据,这里用来实现记录用户名和密码的功能。也可以使用IO流来实现记住密码的功能,使用SharedPreferences接口会比用IO流更加方便,代码更加简洁,也更高效。
下面是LsitView控件高级应用实例,实现SharedPreferences记住用户名和密码。
(1)在Android 2.3中创建应用项目:SharedPreferences_Demo。其布局文件有3个,即主Activity对应的布局文件login.xml、登录界面logo.xml和登录成功界面welcome.xml,如图6-1所示。
(www.xing528.com)
图6-1 项目的3个布局文件
(2)主界面的Activity文件LoginActivity.java的代码如下。
(3)登录界面对应的Activity的文件LogoActivity.java的代码如下。
(4)登录成功界面对应的Activity的文件WelcomeAvtivity.java的代码如下。
(5)运行结果如图6-2所示。
图6-2 SharedPreferences项目的运行结果
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。