分享

android:SharedPreferences

 aaie_ 2012-09-03

在android当中,SharedPreferences是一种轻量级数据存储,以键值对形式操作。

SharedPreferences文件保存在/data/data/<packagename>/shared_prefs目录下,即一个xml文件。


支持3种访问模式

MODE_PRIVATE 私有、新内容覆盖原内容

●MODE_APPEND 新内容追加到原内容

MODE_WORLD_READABLE 全局读、允许其他应用程序读取

MODE_WORLD_WRITEABLE 全局写、允许其他应用程序写入,会覆盖原数据 这点没验证通过,其他程序不能修改,只能读


定义SharedPreferences

Java代码 

SharedPreferences sharedPreferences = getSharedPreferences(PREFERENCE_NAME,MODE); //PREFERENCE_NAME与Android系统中保存的文件名相同

If a preferences file by this name does not exist, it will be created when you retrieve an editor (SharedPreferences.edit()) and then commit changes (Editor.commit()). 第一次调用该函数并不会立即在系统创建xml文件,当获取editor并commit时,xml创建。


SharedPreferences修改

Java代码 
SharedPreferences.Editor editor=sharedPreferences.edit();  //通过SharedPreferences.Edior类修改

editor.putString("Name","Tom");  

editor.putInt("Age",20);  

editor.putFloat("Height",);  

editor.commit();  //调用Commit()函数保存修改内容



获取SharedPreferences内容

SharedPreferences sharedPreferences=getSharedPreferences(PREFERENCE_NAME,MODE);//通过getSaredPerencesSharedPreferences

String name=sharedPreferences.getString("Name","Default Name"); //第二个参数为无法获取时的缺省值

int age=sharedPreferences.getInt("Age",20); 

float height=sharedPreferences.getFloat("Height",);



访问其他应用程序的SharedPreferences需要的3个条件

访问模式为全局读或全局写

需要知道共享者的包名和SharedPreferences名称,通过Context获取对象

需要知道每个数据的名称和数据类型以读取数据

 

Java代码 
Context c=null;

try{  

     c=this.createPackageContext(PREFERENCE_PACKAGE,Context.CONTXT_IGNORE_SECURITY);  

}catch(NameNotFoundException e){  

     e.printStackTrace();  

SharedPreferences sharedPreferences=c.getSharedPreferences(PREFERENCE_NAME,MODE); 

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多