SharedPreferences封装与全局使用

来源:互联网 发布:浙江软件考试网 编辑:程序博客网 时间:2024/06/03 09:25

创建一个类

public class sp {    //存储的sharedpreferences文件名    private static final String FILE_NAME = "save_file_name";    /**     * 保存数据到文件     * @param context     * @param key     * @param data     */    public static void saveData(Context context, String key, Object data){        String type = data.getClass().getSimpleName();        SharedPreferences sharedPreferences = context                .getSharedPreferences(FILE_NAME, Context.MODE_PRIVATE);        SharedPreferences.Editor editor = sharedPreferences.edit();        if ("Integer".equals(type)){            editor.putInt(key, (Integer)data);        }else if ("Boolean".equals(type)){            editor.putBoolean(key, (Boolean)data);        }else if ("String".equals(type)){            editor.putString(key, (String)data);        }else if ("Float".equals(type)){            editor.putFloat(key, (Float)data);        }else if ("Long".equals(type)){            editor.putLong(key, (Long)data);        }        editor.commit();    }    /**     * 从文件中读取数据     * @param context     * @param key     * @param defValue     * @return     */    public static Object getData(Context context, String key, Object defValue){        String type = defValue.getClass().getSimpleName();        SharedPreferences sharedPreferences = context.getSharedPreferences                (FILE_NAME, Context.MODE_PRIVATE);        //defValue为为默认值,如果当前获取不到数据就返回它        if ("Integer".equals(type)){            return sharedPreferences.getInt(key, (Integer)defValue);        }else if ("Boolean".equals(type)){            return sharedPreferences.getBoolean(key, (Boolean)defValue);        }else if ("String".equals(type)){            return sharedPreferences.getString(key, (String)defValue);        }else if ("Float".equals(type)){            return sharedPreferences.getFloat(key, (Float)defValue);        }else if ("Long".equals(type)){            return sharedPreferences.getLong(key, (Long)defValue);        }        return null;    }}

使用:

Object color = sp.getData(Main2Activity.this, "color", R.color.kxb);//使用========================================================================
sp.saveData(Main2Activity.this,"color",bean.getColor());//保存


原创粉丝点击