美文网首页Android知识Android开发经验谈Android开发
Android数据存储与访问之SharedPreferences

Android数据存储与访问之SharedPreferences

作者: Courage_SC | 来源:发表于2017-07-20 11:37 被阅读35次

    使用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 <T> 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

        本文链接:https://www.haomeiwen.com/subject/okjlkxtx.html