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