Android 数据存储之SharedPreferences的使用

SharedPreferences介绍

SharedPreferences是android 的一种数据存储方式 以key-value的键值对的方式 xml的格式存储在内存当中 文件存放在/data/data//shared_prefs目录下。SharedPreferences
初始化

getSharedPreferences(name,mode)
name 和 mode 连个参数分别代表 内存空间命名 和 访问权限模式
name 内存空间命名 也就是在内存中开辟出属于你app 的存储空间
mode 访问权限
MODE_APPEND: 追加方式存储
MODE_PRIVATE: 私有方式存储
MODE_WORLD_READABLE开放存储方式 其他app可读
MODE_WORLD_WRITEABLE 开放存储方式 其他app可写获得编辑对象

常用方法
SharedPreferences.Editor edit = sp.edit();
edit.clear();//清除数据
edit.putString();//存入string
edit.putInt(); //存入 int
edit.putLong(); //存入 long
edit.putBoolean(); // 存入boolean
edit.putFloat(); //存入 float
edit.putStringSet();// 存入集合
sp.getString(); // 取string
sp.getInt(); // 取int
sp.getBoolean();//取boolean
sp.getLong(); //取long
sp.getAll(); // 取map

本人封装的sp 管理工具
    public class SPUtils {
    /**
     * sq 构造 持有context 对象
     * @param context
     */
    public static SharedPreferences sp;
    public static Context context;


    public  SPUtils(Context context) {
        this.context = context;
        if (sp==null){
            sp = context.getSharedPreferences(Constant.SPKEY, Context.MODE_PRIVATE);
        }
    }


    /**
     * getString/char
      * @param key 字段名
     * @return value 返回值
     */
    public static String getString(String key){
        String value = sp.getString(key, "");
        if (!TextUtils.isEmpty(value)){
            return value;
        }else {
            return Constant.BACKERROR+"";
        }
    }

    /**
     * getInt方法
     * @param key 字段名
     *
     * @return value int返回值
     */
    public static int getInt(String key){
        int value = sp.getInt(key, 0);
        if (value!=0){
            return value;
        }else {
            return Constant.BACKERROR;
        }
    }

    /**
     * getLong 方法
     *
     * @param key 字段名
     * @return Long返回值
     */
    public static Long getLong(String key){
        Long value = sp.getLong(key, 0);
        if (value!=0){
            return value;
        }else {
            return Long.valueOf(Constant.BACKERROR);
        }
    }
    /**
     *  putString 方法
     *
     * @param key 字段名
     * @param value 字段值
     */
    public static void putString(String key,String value){
        sp.edit().putString(key,value).commit();

    }
    /**
     *  putInt 方法
     *
     * @param key 字段名
     * @param value 字段值
     */
    public static void putInt(String key,int value){
        sp.edit().putInt(key,value).commit();

    }
    /**
     *  putLong 方法
     *
     * @param key 字段名
     * @param value 字段值
     */
    public static void putLong(String key,Long value){
        sp.edit().putLong(key,value).commit();

    }
        // 清除数据
    public static void clearSpSpace(){
        sp.edit().clear().commit();
    }

}

猜你喜欢

转载自blog.csdn.net/naide_s/article/details/79974617