SharedPreferences

来源:互联网 发布:阿里云 专有网络 ftp 编辑:程序博客网 时间:2024/06/05 00:27


Android系统提供了几种数据存储方式:Preference(配置)、File、SQLite、ContentProvider、SD Card和网络。本文详细说下Preference。


   Preference主要用于数据较少的情况下,比如登陆账号和密码,一些属性值等。它以键值对的方式将数据保存到内部的XML配置文件中,我们可以在DDMS中的File Explorer中浏览文件夹,在data/data/<package name>/shared_prefs下能看到相应的XML文件。注意,只有打开Android模拟器后才能在File Explorer中看到内容。

   每个应用程序都有一个SharedPreferences对象,调用Context.getSharedPreferences(String name,int mode)方法来获取SharedPreferences对象,其中name是配置文件名,mode是操作模式(输入M之后按Alt+/,Eclipse会给出一些提示,我们可以看到有以下这些模式:

其中有一些已经被废弃,模式的含义从名字也可以才出来,主要是设置Preference的访问权限。


SharedPreferences常用方法方法描述edit()返回SharedPreferences内部接口SharedPreferences.Editorcontains(String key)判断是否包含该键值getAll()返回所有配置信息的MapgetBoolean(String key,boolean defValue)获得一个boolean值,若找不到key,则取默认值defValuegetFloat(String key,float defValue)类似getBoolean()getInt(String key,int defValue)类似getBoolean()getLong(String key,long defValue)类似getBoolean()getString(String key,String defValue)类似getBoolean()


SharedPreferences.Editor常用方法方法描述clear()清除所有值commit()保存getAll()返回所有配置信息的MapputBoolean(String key,boolean value)保存一个boolean值putFloat(String key,float value)保存一个float值putInt(String key,int value)保存一个int值putLong(String key,long value)保存一个long值putString(String key,String value)保存一个String值remove(String key)删除该键值对

下面通过代码看下SharedPreferences的读写步骤:

<span style="color:#009900;">//获取SharedPreferences对象,文件名为"myPreferences",模式为MODE_MULTI_PROCESS</span>SharedPreferences preferences=getSharedPreferences("myPreferences", MODE_MULTI_PROCESS);<span style="color:#009900;">//获取Editor</span>SharedPreferences.Editor editor = preferences.edit();<pre name="code" class="java"><span style="color:#009900;">//保存字符串</span>
String str="This is my string";
editor.putString("myString",str);
editor.commit();// 提交所有存入的数据

//读取字符串
String str1=preferences.getString("myString","默认值");




























0 0
原创粉丝点击