Android数据存储与访问之SharedPreferences

使用SharedPreferences(保存用户偏好参数)保存数据, 当我们的应用想要保存用户的一些偏好参数,比如是否自动登陆,是否记住账号密码,是否在Wifi下才能 联网等相关信息,如果使用数据库的话,显得有点大材小用了!我们把上面这些配置信息称为用户的偏好 设置,就是用户偏好的设置,而这些配置信息通常是保存在特定的文件中!而在Android中我们通常使用 一个轻量级的存储类——SharedPreferences来保存用户偏好的参数!SharedPreferences也是使用xml文件, 使用键-值的形式来存储数据;我们只需要调用SharedPreferences的getXxx(name), 就可以根据键获得对应的值!使用起来很方便!

封装工具类,代码如下:

public class ShaPreUtil {

    private SharedPreferences preferences;

    public ShaPreUtil(Context context) {
        preferences = context.getSharedPreferences("app", Context.MODE_PRIVATE);

    }
    //保存数据
    public  void  set(String key, T value) {
        SharedPreferences.Editor editor = preferences.edit();
        if (value instanceof String) {
            editor.putString(key, String.valueOf(value));
        }
        if (value instanceof Boolean) {
            editor.putBoolean(key, (Boolean) value);
        }
        if (value instanceof Integer) {
            editor.putInt(key, (Integer) value);
        }
        editor.apply();
    }

    //取数据
    public String getString(String key) {
       return preferences.getString(key, "-1");
    }

    public boolean getBoolean(String key) {
        return preferences.getBoolean(key, true);
    }

    public int getInt(String key) {
        return preferences.getInt(key, -1);
    }

    public void remove(String key) {
        SharedPreferences.Editor editor = preferences.edit();
        editor.remove(key);
        editor.apply();
    }
}

工具类使用

  //初始化shaPreUtil
        ShaPreUtil shaPreUtil = new ShaPreUtil(getActivity());
        //存数据
        shaPreUtil.set("name", "sc");
        shaPreUtil.set("password", "123456");
        //取数据
        String name = shaPreUtil.getString("name");
        Toast.makeText(getActivity(), "信息已写入SharedPreference中" + name, Toast.LENGTH_SHORT).show();

你可能感兴趣的:(Android数据存储与访问之SharedPreferences)