首页 > 代码库 > Android中数据存储之SharedPreferences

Android中数据存储之SharedPreferences

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

 

Android中数据存储之SharedPreferences