安卓SharedPreferences

来源:互联网 发布:淘宝双十一抢红包 编辑:程序博客网 时间:2024/04/28 15:26

android:SharedPreferences  

在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);

原创粉丝点击