您的位置:首页 > Web前端

数据存储之SharedPreferences

2016-06-01 13:44 525 查看

Android中有四种数据存储方式:

SharedPreferences

SQLite

Content Provider

File

SharedPreferences简介

1、是一种轻型的数据存储方式

2、本质是基于XML文件存储key-value键值对数据

3、通常用来存储一些简单的配置信息

4、数据保存在手机中 data/data/当前包名/shared_prefs

SharedPreferences对象本身只能获取数据而不支持存储和修改,存储修改是通过Editor对象实现

实现SharedPreferences存储的步骤:

/**
* 1) 获得SharedPreferences对象
*/
//通过PreferenceManager获得默认的SharedPreferences对象
//SharedPreferences pref = PreferenceManager.getDefaultSharedPreferences(MainActivity.this);
//也可以自定义SharedPreferences对象;第一个参数为文件的名字,第二个参数为文件的权限
SharedPreferences pref = getSharedPreferences("myPref",MODE_PRIVATE);

/**
* 2) 获得SharedPreferences.Editor对象,编辑器
* /
Editor editor = pref.edit();

/**
* 3) 通过Editor接口的putXxx方法保存key-values对,其中Xxx表示不同的数据类型
* /
editor.putString("name", "张三");
editor.putInt("age", 23);
editor.putBoolean("marry", false);
editor.putLong("time", System.currentTimeMillis());

/**
* 4) 通过Editor接口的commit方法提交保存key-value对
* /
editor.commit();

/**
* 5) 可以通过Editor接口的remove方法删除不想要的多余属性;执行一次操作后必须提交才会生效
* /
editor.remove("marry");
editor.commit();

/**
* 6) 可通过SahredPreferences对象的getXxx方法获取信息;
//第一个参数为键名,与前面添加的键名保持一致,第二个参数为默认值,如果找不到则显示默认值
String name = pref.getString("name", "姓名");
Log.i("info", "姓名:"+name);
int age = pref.getInt("age", 0);
Log.i("info", "年龄:"+age);
boolean marry = pref.getBoolean("marry", false);
Log.i("info", "婚否:"+marry);
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息