一、介绍:
基于XML文件以键值对形式保存数据,且这些数据的格式非常简单:字符串型、基本类型的值。
二、应用场景:
存储应用程序的各种配置信息。
三、存储步骤:
1.通过上下文Context提供的getSharedPreferences(String name, int mode)函数获取SharedPreferences的实例,第一个参数name是XML文件名,第二个参数具体如下:
Context.MODE_PRIVATE: 指定该SharedPreferences数据只能被本应用程序读、写;
Context.MODE_WORLD_READABLE: 指定该SharedPreferences数据能被其他应用程序读,但不能写;
Context.MODE_WORLD_WRITEABLE: 指定该SharedPreferences数据能被其他应用程序读,写。
2.调用SharedPreferences的edit()函数获取Editor对象。
3.通过Editor对象来存储key-value键值对数据。
4.通过apply()方法提交数据。
四、示例代码:
package com.example.storagedemo;
import android.content.Context;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;
public class SharePreferenceUtil {
private static final String SP_NAME = "MSG";
//添加数据
public static void insert(Context context, String key,String msg) {
SharedPreferences mSharedPreferences = context
.getSharedPreferences(SP_NAME, Context.MODE_PRIVATE);
Editor editor = mSharedPreferences.edit();
editor.putString(key, msg);
editor.apply();
}
//删除数据
public static void delete(Context context, String key) {
SharedPreferences mSharedPreferences = context
.getSharedPreferences(SP_NAME, Context.MODE_PRIVATE);
Editor editor = mSharedPreferences.edit();
editor.remove(key);
editor.apply();
}
//查询数据
public static String query(Context context) {
SharedPreferences mSharedPreferences = context
.getSharedPreferences(SP_NAME, Context.MODE_PRIVATE);
String result = mSharedPreferences.getString("msg", "");
return result;
}
//清空SharedPreference里所有数据
public static void clear(Context context) {
SharedPreferences sp = context.getSharedPreferences(SP_NAME, Context.MODE_PRIVATE);
Editor editor = sp.edit();
editor.clear();
editor.apply();
}
}