SharedPreferences的是什么,它是Android平台一个轻量级的存储类,用来保存应用的一些常用配置,应用场合例如QQ账号登陆时,用户可以选择
记住密码,自动登陆等功能,用来记录用户的一些配置信息,SharedPreferences也提供了java常规的Long、Int、String等类型数据的保存接口,方便开发者的使用。
首先说说操作模式:
Context.MODE_PRIVATE //为默认操作模式,代表该文件是私有数据,只能被应用本身访问,在该模式下,写入的内容会覆盖原文件的内容
Context.MODE_APPEND //模式会检查文件是否存在,存在就往文件追加内容,否则就创建新文件.
Context.MODE_WORLD_READABLE //表示当前文件可以被其他应用读取.
Context.MODE_WORLD_WRITEABLE //表示当前文件可以被其他应用写入
可以让其他应用进行访问,后两者是不安全的,所以一般使用SharedPreferences,都是使用默认的操作模式,即Context.MODE_PRIVATE。
下面说说用法,分为存和取,默认是以XML格式文件保存到APP的私有存储目录下的 shared_prefs中。
存:
Editor sharedata = getSharedPreferences("data", <span style="color: rgb(51, 51, 51); font-family: arial, 宋体, sans-serif; font-size: 14px; line-height: 24px; text-indent: 28px; white-space: pre;">Context.MODE_PRIVATE</span>).edit(); //需要通过<span style="font-family: arial, 宋体, sans-serif;">edit方法来获得一个Editor对象,</span><span style="font-family: arial, 宋体, sans-serif;">getSharedPreferences</span><span style="font-family: arial, 宋体, sans-serif;">方法中的参数1代表访问的文件名,参数2代表操作模式</span><span style="font-family: arial, 宋体, sans-serif;">
</span><span > </span>sharedata.putString("item","test data");//通过putString方法存数据,参数1代表属性名,参数2代表属性值
<span > </span>sharedata.commit();//通过commit方法进行提交保存
取:
SharedPreferences sharedata = getSharedPreferences("data", 0);//通过<span style="font-family: arial, 宋体, sans-serif;">getSharedPreferences方法获得配置文件data</span>
<span > </span>String data = sharedata.getString("item", null);//通过getString方法获得配置文件中的数据,保存到字符串类型 的data变量中
注意:
访问接口和优先修改数据,并由getSharedPreferences(String,int)返回数据,为了统一设置参数,有一个单例类供所有的客户端共享。修改参数必须通过一个SharedPreferences.Editor对象,在存储他们时,以确保参数值有统一的状态和控制。