Android基础之SharedPreferences

一.SharedPreferences简介

SharedPreferences是Android平台上一个轻量级的存储类,用来保存应用的一些常用配置,基于XML文件存储键值对数据。SharedPreferences对象本身只能获取数据,存储和修改需要通过Editor对象。存储位置为:data/data/包名/shared_prefs。

二.读写操作

1. 获取SharedPreferences的两种方式

1.1 调用Context对象的getSharedPreferences(String name,int mode)方法
该对象可以被同一应用程序下的其他组件共享,以方法中的name参数为名保存为xml文件。
1.1.1 参数
name:获得SharedPreferences之后,将会在应用程序的私有文件夹中保存着一个XML文件,name参数就是这个文件名字。
mode:XML文件的保存模式,默认为0,也就是MODE_PRIVATE
1.1.2 XML文件的四种保存模式
Context.MODE_PRIVATE:默认保存模式,文件是该应用程序私有数据,只能被应用本身访问,写入的内容会覆盖原文件的内容
Context.MODE_APPEND:检查文件是否存在,存在就往文件追加内容,否则就创建新的文件.
Context.MODE_WORLD_READABLE:表示当前文件可以被其他应用读取.
Context.MODE_WORLD_WRITEABLE:表示当前文件不可被其他应用读取.

1.2 调用Activity对象的getPreferences(int mode)方法
该对象只能在该Activity中使用,是该Activity私有的preference,以该Activity的名字为名保存为xml文件。
1.2.1 参数
mode:XML文件的保存模式,默认为0,也就是MODE_PRIVATE
1.2.2 XML文件的四种保存模式
Activity.MODE_PRIVATE:默认保存模式,文件是该应用程序私有数据,只能被应用本身访问,写入的内容会覆盖原文件的内容.
Activity.MODE_APPEND:检查文件是否存在,存在就往文件追加内容,否则就创建新的文件.
Activity.MODE_WORLD_READABLE:表示当前文件可以被其他应用读取.
Activity.MODE_WORLD_WRITEABLE:表示当前文件不可被其他应用读取.

2.向SharedPreferences写入数据

String name = "fzy"
String age = "20"
SharedPreferences preferences=getSharedPreferences("mypre",Context.MODE_PRIVATE);
Editor et=preferences.edit();
et.putString("name", name);
et.putString("age", age);
if(editor.commit()){   
//commit()方法用来提交数据,它返回的布尔值表示是否写入成功
System.out.println("数据已经写入完成");
}

3.从SharedPreferences读取数据

SharedPreferences preferences=getSharedPreferences("mypre",Context.MODE_PRIVATE);
String name=preferences.getString("name", "不存在");  //第一个参数为键名,第二个参数为该键不存在时的默认值
String age=preferences.getString("age", "0");
//第一个参数为键名,第二个参数为该键不存在时的默认值

你可能感兴趣的:(android,存储)