SharedPreferences详解
来源:互联网 发布:如何设计淘宝海报 编辑:程序博客网 时间:2024/06/11 20:03
- SharedPreferences详解
- 我们在开发软件的时候,常需要向用户提供软件参数设置功能,例如我们常用的微信,用户可以设置是否允许陌生人添加自己为好友.对于软件配置参数的保存,如果是在window下通常我们会采用ini文件进行保存.如果是J2EE下面,我们会采用properties属性文件或者xml进行保存.在我们的Android应用中又适合采用什么方式保存软件配置参数呢?Android平台给我们提供了一个SharedPreferences类,它是一个轻量级应用程序内部轻量级的存储方案,特别适合用于保存软件配置参数,比如boolean,int,float,long,String等数据.使用SharedPreferences保存数据,其实质是采用了xml文件存放数据,路径为:/data/data/<package name>/shared_prefs.获取SharedPreferences的两种方式:1 调用Context对象的getSharedPreferences()方法2 调用Activity对象的getPreferences()方法两种方式的区别:调用Context对象的getSharedPreferences()方法获得的SharedPreferences对象可以被同一应用程序下的其他组件共享.调用Activity对象的getPreferences()方法获得的SharedPreferences对象只能在该Activity中使用.SharedPreferences的四种操作模式:Context.MODE_PRIVATEContext.MODE_APPENDContext.MODE_WORLD_READABLEContext.MODE_WORLD_WRITEABLEContext.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");
Android应用开发SharedPreferences存储数据的使用方法
作者: 字体:[增加减小] 类型:转载SharedPreferences是Android中最容易理解的数据存储技术,实际上SharedPreferences处理的就是一个key-value(键值对)SharedPreferences常用来存储一些轻量级的数据SharedPreferences是Android中最容易理解的数据存储技术,实际上SharedPreferences处理的就是一个key-value(键值对)。SharedPreferences常用来存储一些轻量级的数据.复制代码 代码如下:
//实例化SharedPreferences对象(第一步)
SharedPreferences mySharedPreferences= getSharedPreferences("test",
Activity.MODE_PRIVATE);
//实例化SharedPreferences.Editor对象(第二步)
SharedPreferences.Editor editor = mySharedPreferences.edit();
//用putString的方法保存数据
editor.putString("name", "Karl");
editor.putString("habit", "sleep");
//提交当前数据
editor.commit();
//使用toast信息提示框提示成功写入数据
Toast.makeText(this, "数据成功写入SharedPreferences!" ,
Toast.LENGTH_LONG).show();
执行以上代码,SharedPreferences将会把这些数据保存在test.xml文件中,可以在File Explorer的data/data下导出该文件,并查看。
那么已经保存好的数据如何读取出来呢。我们来看:复制代码 代码如下:
[code]
//同样,在读取SharedPreferences数据前要实例化出一个SharedPreferences对象
SharedPreferencessharedPreferences= getSharedPreferences("test",
Activity.MODE_PRIVATE);
// 使用getString方法获得value,注意第2个参数是value的默认值
String name =sharedPreferences.getString("name", "");
String habit =sharedPreferences.getString("habit", "");
//使用toast信息提示框显示信息
Toast.makeText(this, "读取数据如下:"+"\n"+"name:" + name + "\n" + "habit:" + habit,
Toast.LENGTH_LONG).show();
源代码如下:复制代码 代码如下:
public class Main extends Activity
{
@Override
public void onCreate(Bundle savedInstanceState)
{
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
}
public void onClick_WriteData(View view)
{
SharedPreferences mySharedPreferences = getSharedPreferences("test",
Activity.MODE_PRIVATE);
SharedPreferences.Editor editor = mySharedPreferences.edit();
editor.putString("name", "karl");
editor.putString("habit", "sleep");
editor.commit();
Toast.makeText(this, "数据成功写入SharedPreferences!" ,
Toast.LENGTH_LONG).show();
}
public void onClick_ReadData(View view)
{
SharedPreferences sharedPreferences = getSharedPreferences("test",
Activity.MODE_PRIVATE);
String name = sharedPreferences.getString("name", "");
String habit = sharedPreferences.getString("habit", "");
Toast.makeText(this, "读取数据如下:"+"\n"+"name:" + name + "\n" + "habit:" + habit,
Toast.LENGTH_LONG).show();
}
}
0 0
- SharedPreferences 详解
- SharedPreferences详解
- SharedPreferences详解
- SharedPreferences详解
- SharedPreferences详解
- SharedPreferences详解
- SharedPreferences详解
- SharedPreferences详解
- SharedPreferences详解
- SharedPreferences详解
- SharedPreferences详解
- SharedPreferences详解
- SharedPreferences详解
- SharedPreferences详解
- SharedPreferences详解
- SharedPreferences详解
- SharedPreferences详解
- SharedPreferences详解
- XCode6正式版高速网盘下载
- 高精度减法模板
- android 项目编码修改, GBK 变UTF-8
- Unity3d+NGUI多分辨率适配
- 指针数组与数组指针
- SharedPreferences详解
- Greatest Common Increasing Subsequence poj 2127
- ORACLE 中的lock 机制
- 遗传算法入门
- java 类加载顺序
- Notifications and the Notification Area
- oracle 11.2.0.3全表扫描COST计算(工作量模式)
- 美丽说否认“小淘宝”说法,称拒绝货架陈列式卖家
- J2EE设计模式-Dao(Data Access Object)模式