SharedPreferences详解

咱们在开发软件的时候,常须要向用户提供软件参数设置功能,例如咱们经常使用的微信,用户能够设置是否容许陌生人添加本身为好友.对于软件配置参数的保存,若是是在window下一般咱们会采用ini文件进行保存.若是是J2EE下面,咱们会采用properties属性文件或者xml进行保存.在咱们的Android应用中又适合采用什么方式保存软件配置参数呢?Android平台给咱们提供了一个SharedPreferences类,它是一个轻量级应用程序内部轻量级的存储方案,特别适合用于保存软件配置参数,好比boolean,int,float,long,String等数据.使用SharedPreferences保存数据,其实质是采用了xml文件存放数据,路径为:/data/data/<package name>/shared_prefs.web

获取SharedPreferences的两种方式:微信

1 调用Context对象的getSharedPreferences()方法spa

2 调用Activity对象的getPreferences()方法orm

两种方式的区别:xml

调用Context对象的getSharedPreferences()方法得到的SharedPreferences对象能够被同一应用程序下的其余组件共享.对象

调用Activity对象的getPreferences()方法得到的SharedPreferences对象只能在该Activity中使用.开发

 

SharedPreferences的四种操做模式:get

Context.MODE_PRIVATEit

Context.MODE_APPENDimport

Context.MODE_WORLD_READABLE

Context.MODE_WORLD_WRITEABLE

 

Context.MODE_PRIVATE:为默认操做模式,表明该文件是私有数据,只能被应用自己访问,在该模式下,写入的内容会覆盖原文件的内容

Context.MODE_APPEND:模式会检查文件是否存在,存在就往文件追加内容,不然就建立新文件.

Context.MODE_WORLD_READABLE和Context.MODE_WORLD_WRITEABLE用来控制其余应用是否有权限读写该文件.

MODE_WORLD_READABLE:表示当前文件能够被其余应用读取.

MODE_WORLD_WRITEABLE:表示当前文件能够被其余应用写入.

将数据保存至SharedPreferences:

SharedPreferences preferences=getSharedPreferences("user",Context.MODE_PRIVATE);

Editor editor=preferences.edit();

String name="xixi";

String age="22";

editor.putString("name", name);

editor.putString("age", age);

editor.commit();

 

从SharedPreferences获取数据:

SharedPreferences preferences=getSharedPreferences("user", Context.MODE_PRIVATE);

String name=preferences.getString("name", "defaultname");

String age=preferences.getString("age", "0");

相关文章
相关标签/搜索