Android SharedPreferences 简单封装

    xiaoxiao2022-06-30  54

    转载请标明出处:http://blog.csdn.net/u010886975/article/details/52538625

    1.说明

    1.1在Android开发中,经常使用SharedPreferences来存储一些简单的数据。在同一个项目里面,使用的时候总是去获取对象,感觉比较麻烦,自己对它进行一个简单的封装。不过没考虑效率问题。大家有觉得不对的地方,请指教。

    2.封装使用

    2.1有很多人一般都是直接获取haredPreferences对象进行使用,特别是接触android不久的人,就像下面这样。 储存: SharedPreferences sharedPreferences = getSharedPreferences(context.getPackageName(), Context.MODE_PRIVATE); Editor editor = sharedPreferences.edit(); editor.putString("username", "Tom"); editor.putInt("password", 123456); editor.commit(); 获取: SharedPreferences sharedPreferences = getSharedPreferences(context.getPackageName(), Context.MODE_PRIVATE); String username = sharedPreferences.getString("username", ""); int password = sharedPreferences.getInt("password", 0);   虽然代码也没有多少,但每次都去这样做,觉得还是很麻烦。        2..2所以就简单封装如下: 储存: public void putSharedPreference(Context context, String key, Object object) { SharedPreferences sp = context.getSharedPreferences(context.getPackageName(), Context.MODE_PRIVATE); SharedPreferences.Editor editor = sp.edit(); if (object instanceof String) { editor.putString(key, (String) object); } else if (object instanceof Integer) { editor.putInt(key, (Integer) object); } else if (object instanceof Boolean) { editor.putBoolean(key, (Boolean) object); } else if (object instanceof Float) { editor.putFloat(key, (Float) object); } else if (object instanceof Long) { editor.putLong(key, (Long) object); } else { editor.putString(key, object.toString()); } editor.commit(); } 获取: public Object getSharedPreference(Context context, String key, Object defaultObject) { SharedPreferences sp = context.getSharedPreferences(context.getPackageName(), Context.MODE_PRIVATE); if (defaultObject instanceof String) { return sp.getString(key, (String) defaultObject); } else if (defaultObject instanceof Integer) { return sp.getInt(key, (Integer) defaultObject); } else if (defaultObject instanceof Boolean) { return sp.getBoolean(key, (Boolean) defaultObject); } else if (defaultObject instanceof Float) { return sp.getFloat(key, (Float) defaultObject); } else if (defaultObject instanceof Long) { return sp.getLong(key, (Long) defaultObject); } return null; }        3.总结              3.1个人感觉还不错,使用的时候只需要传入上下文,key值,和对应的value就行了。可以将这两个方法放到baseActivity中,或者放在baseFragment中,或者放置于Application中。
    转载请注明原文地址: https://ju.6miu.com/read-1125768.html

    最新回复(0)