美文网首页
Android 开发SharedPreferences工具类

Android 开发SharedPreferences工具类

作者: 予你挚终_cc3a | 来源:发表于2017-12-20 23:54 被阅读0次

在我们的移动端项目开发中我想SharedPreferences用的也是比较多的吧所以这时就必须要有一个公共的工具类,所以今天就记录一个超好用的SP工具类话不多说直接上代码

首先创建一个名为SharedPreferencesUtils的工具类


public class SharedPreferencesUtils {
    private static final String FILE_NAME="share_data";
    
    public static void setParem(Context context,String key,Object object){
        String type = object.getClass().getSimpleName();
        SharedPreferences sp = context.getSharedPreferences(FILE_NAME,Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = sp.edit();
        if ("String".equals(type)){
            editor.putString(key,(String)object);
        }else if ("Boolean".equals(type)){
            editor.putBoolean(key,(Boolean)object);
        }else if ("Integer".equals(type)){
            editor.putInt(key,(Integer)object);
        }else if ("Float".equals(type)){
            editor.putFloat(key,(Float)object);
        }else if ("Long".equals(type)){
            editor.putLong(key,(Long)object);
        }
        editor.commit();
    }

    public static Object getParem(Context context,String key,Object defaultObject){
        String type = defaultObject.getClass().getSimpleName();
        SharedPreferences sp = context.getSharedPreferences(FILE_NAME,Context.MODE_PRIVATE);
        if ("String".equals(type)){
            sp.getString(key,(String)defaultObject);
        }else if ("Boolean".equals(type)){
            sp.getBoolean(key,(Boolean)defaultObject);
        }else if ("Integer".equals(type)){
            sp.getInt(key,(Integer)defaultObject);
        }else if ("Float".equals(type)){
            sp.getFloat(key,(Float)defaultObject);
        }else if ("Long".equals(type)){
            sp.getLong(key,(Long)defaultObject);
        }
        return null;
    }
}

那么我们究竟要怎么用这个工具类呢很简单,当我们要向里面存储数据的时候我们可以这样用。例如我这里是在LoginActivity.class中调用的所有就可以这样存储

SharedPreferencesUtils.setParem(LoginActivity.this,"key值String类型","123")
SharedPreferencesUtils.setParem(LoginActivity.this,"key值int类型",123)
SharedPreferencesUtils.setParem(LoginActivity.this,"key值Float类型","123.00")
SharedPreferencesUtils.setParem(LoginActivity.this,"key值Long类型","1230000000000000000000")
SharedPreferencesUtils.setParem(LoginActivity.this,"key值Boolean类型",true)

上面说的是向里面存值那么下面就说说怎么取值

String string = (String)SharedPreferencesUtils.getParem(LoginActivity.this,"key","");
Boolean boolean = (Boolean)SharedPreferencesUtils.getParem(LoginActivity.this,"key",false);
Float float = (Float)SharedPreferencesUtils.getParem(LoginActivity.this,"key",0.0);
int ints = (int)SharedPreferencesUtils.getParem(LoginActivity.this,"key",0);
Long long = (Long)SharedPreferencesUtils.getParem(LoginActivity.this,"key",123);

基本上这个工具类就算是大功告成了以上就是这个工具类的存取值的方法

相关文章

网友评论

      本文标题:Android 开发SharedPreferences工具类

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