• 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();
        }
    }
  • 相关阅读:
    关于分布式的一些理解和认识
    Git使用详细教程
    Kettle 7启动 Spoon.bat 时报错“A Java Exception has occurred.”的解决方法
    postgresql 9源码安装
    intel笔记本cpu型号后缀详解(M,U,QM,MQ,HQ,XM)
    LAMP部署流水
    四种mysql存储引擎
    MySQL日志
    MySQL存储引擎总结
    MySQL存储引擎中的MyISAM和InnoDB
  • 原文地址:https://www.cnblogs.com/xiaoxian1369/p/4114959.html
Copyright © 2020-2023  润新知