SharedPreferences 用法总结

本文详细介绍了Android中的SharedPreferences,包括其简介、常用方法以及Editor接口的操作,是Android开发中存储简单数据的重要工具。

SharedPreferences 简介

当我们的应用想要保存用户的一些偏好参数,比如是否自动登录,是否记住账号密码,是否在WIFI下才能联网等相关信息时,可以采用SharedPreferences来保存数据。它的保存数据主要是简单的键值对(key-value),且保存的是一个XML文件。

SharedPreferences 常用方法

public abstract boolean contains (String key)
// 功能:判断SharedPreferences是否包含特定key的数据

public abstract SharedPreferences.Editor edit ()
// 功能:返回一个Edit对象用于操作SharedPreferences

public abstract Map<String, ?> getAll ()
// 功能:获取SharedPreferences数据里全部的key-value对

getXXX(String key,XXX defvlaue)
// 功能:获取SharedPreferences数据指定key所对应的value,如果该key不存在,返回默认值defValue。其中XXX可以是boolean、float、int、long、String等基本类型的值

由于SharedPreference是一个接口,而且在这个接口里并没有提供写入数据和读取数据的能力。但是在其内部有一个Editor内部的接口,Edit这个接口有一系列的方法用于操作SharedPreference。

Editor接口的常用方法

public abstract SharedPreferences.Editor clear ()
// 功能:清空SharedPreferences里所有的数据

public abstract boolean commit ()
// 功能:当Editor编辑完成后,调用该方法可以提交修改,而且必须要调用这个数据才修改

public abstract SharedPreferences.Editor putXXX (String key, boolean XXX)
// 功能:向SharedPreferences存入指定的key对应的数据,其中XXX可以是boolean、float、int、long、String等基本类型的值

public abstract SharedPreferences.Editor remove (String key)
// 功能:删除SharedPreferences里指定key对应的数据项

SharedPreferences是一个接口,程序是无法创建SharedPreferences实例的,可通过下列方法进行创建:

Context.getSharedPreferences(String name.int mode)
// name:是指文件名称,不需要加后缀.xml,系统会自动为我们添加上。一般这个文件存储在/data/data/<package name>/shared_prefs下
// mode:是指定读写方式,其值有三种,分别为:
// Context.MODE_PRIVATE:指定该SharedPreferences数据只能被本应用程序读、写
// Context.MODE_WORLD_READABLE:指定该SharedPreferences数据能被其他应用程序读,但不能写
// Context.MODE_WORLD_WRITEABLE:指定该SharedPreferences数据能被其他应用程序读写。

下面提供一个通用的ShareHelper类:

public class SharedHelper {
    private Context mContext;
    public SharedHelper() {
    }
    public SharedHelper(Context mContext) {
        this.mContext = mContext;
    }
   // 保存数据
   public void save(String key, String value) {
        // 获取SharedPreferences对象
        SharedPreferences sp = mContext.getSharedPreferences("mysp", Context.MODE_PRIVATE);
        // 获取Editor 对象
        SharedPreferences.Editor editor = sp.edit();
        editor.putString(key, value);
        editor.commit();
    }
    // 取出数据
    public String get(String key) {
        String value = "";
        SharedPreferences sp = mContext.getSharedPreferences("mysp", Context.MODE_PRIVATE);
        value = sp.getString("key", "");
        return value;
    }
}



参考资料: 数据存储与访问之——SharedPreferences保存用户偏好参数








评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值