import android.content.Context; import android.content.SharedPreferences; import android.content.SharedPreferences.Editor; /** * SharedPreferences是一种轻型的数据存储方式,它的本质是基于XML文件存储Key-Value键值对数据,<br/> * 通常用来存储一些简单的配置信息。其存储位置在/data/data/<包名>/shared_prefs目录下。<br/> * SharedPreferences对象本身只能获取数据而不支持存储和修改,存储修改是通过Editor对象实现。<br/> * SharedPreferences对象与SQLite数据库相比,免去了创建数据库、创建表、写SQL语句等操作,更加易用。<br/> * 但是SharedPreferences仅支持以下数据类型:<br/> * boolean<br/> * int<br/> * float<br/> * long<br/> * String<br/> * 但是无法进行条件查询等,所以不论SharedPreferences的数据存储操作是如何简单,<br/> * 它只能是存储方式的一种补充,而无法完全替代如SQLite数据库等其他数据存储方式。<br/> * * @author wangzhu * @date 2014年11月22日 上午10:17:49 */ public class SharedPreferencesUtils { /** * 将内容写入SharedPrefrences中 * * @param context * 上下文对象 * @param fileName * 文件名 * @param key * 标记 * @param value * 值 */ public static void write(Context context, String fileName, String key, boolean value) { SharedPreferences preferences = context.getSharedPreferences(fileName, Context.MODE_PRIVATE); Editor editor = preferences.edit(); editor.putBoolean(key, value); editor.commit(); } /** * 读取SharedPreferences中标记所对应的值 * * @param context * 上下文对象 * @param fileName * 文件名 * @param key * 标记 * @param defValue * 默认值 * @return */ public static boolean readBoolean(Context context, String fileName, String key, boolean defValue) { SharedPreferences preferences = context.getSharedPreferences(fileName, Context.MODE_PRIVATE); return preferences.getBoolean(key, defValue); } /** * 将内容写入SharedPrefrences中 * * @param context * 上下文对象 * @param fileName * 文件名 * @param key * 标记 * @param value * 值 */ public static void write(Context context, String fileName, String key, int value) { SharedPreferences preferences = context.getSharedPreferences(fileName, Context.MODE_PRIVATE); Editor editor = preferences.edit(); editor.putInt(key, value); editor.commit(); } /** * 读取SharedPreferences中标记所对应的值 * * @param context * 上下文对象 * @param fileName * 文件名 * @param key * 标记 * @param defValue * 默认值 * @return */ public static int readInt(Context context, String fileName, String key, int defValue) { SharedPreferences preferences = context.getSharedPreferences(fileName, Context.MODE_PRIVATE); return preferences.getInt(key, defValue); } /** * 将内容写入SharedPrefrences中 * * @param context * 上下文对象 * @param fileName * 文件名 * @param key * 标记 * @param value * 值 */ public static void write(Context context, String fileName, String key, long value) { SharedPreferences preferences = context.getSharedPreferences(fileName, Context.MODE_PRIVATE); Editor editor = preferences.edit(); editor.putLong(key, value); editor.commit(); } /** * 读取SharedPreferences中标记所对应的值 * * @param context * 上下文对象 * @param fileName * 文件名 * @param key * 标记 * @param defValue * 默认值 * @return */ public static long readLong(Context context, String fileName, String key, long defValue) { SharedPreferences preferences = context.getSharedPreferences(fileName, Context.MODE_PRIVATE); return preferences.getLong(key, defValue); } /** * 将内容写入SharedPrefrences中 * * @param context * 上下文对象 * @param fileName * 文件名 * @param key * 标记 * @param value * 值 */ public static void write(Context context, String fileName, String key, float value) { SharedPreferences preferences = context.getSharedPreferences(fileName, Context.MODE_PRIVATE); Editor editor = preferences.edit(); editor.putFloat(key, value); editor.commit(); } /** * 读取SharedPreferences中标记所对应的值 * * @param context * 上下文对象 * @param fileName * 文件名 * @param key * 标记 * @param defValue * 默认值 * @return */ public static float readFloat(Context context, String fileName, String key, float defValue) { SharedPreferences preferences = context.getSharedPreferences(fileName, Context.MODE_PRIVATE); return preferences.getFloat(key, defValue); } /** * 将内容写入SharedPrefrences中 * * @param context * 上下文对象 * @param fileName * 文件名 * @param key * 标记 * @param value * 值 */ public static void write(Context context, String fileName, String key, String value) { SharedPreferences preferences = context.getSharedPreferences(fileName, Context.MODE_PRIVATE); Editor editor = preferences.edit(); editor.putString(key, value); editor.commit(); } /** * 读取SharedPreferences中标记所对应的值 * * @param context * 上下文对象 * @param fileName * 文件名 * @param key * 标记 * @param defValue * 默认值 * @return */ public static String readString(Context context, String fileName, String key, String defValue) { SharedPreferences preferences = context.getSharedPreferences(fileName, Context.MODE_PRIVATE); return preferences.getString(key, defValue); } /** * 删除SharedPreferences中Key对应的值 * * @param context * 上下文对象 * @param fileName * 文件名 * @param key * 标记 */ public static void remove(Context context, String fileName, String key) { SharedPreferences preferences = context.getSharedPreferences(fileName, Context.MODE_PRIVATE); Editor editor = preferences.edit(); editor.remove(key); editor.commit(); } /** * 清除SharedPreferences中对应文件的所有内容 * * @param context * 上下文对象 * @param fileName * 文件名 */ public static void clear(Context context, String fileName) { SharedPreferences preferences = context.getSharedPreferences(fileName, Context.MODE_PRIVATE); Editor editor = preferences.edit(); editor.clear(); editor.commit(); } }