本人也自作主张地做了个小小的项目,发现多次要使用到SharePreferences。每次都要用到new太麻烦了,而且代码会臃肿,所以想了一会,直接做成javaBean的模式。
首先定义两个构造函数,传进的参数就是getSharePreferences所需要用到的上下文,name的话,是class本身的final string,所以不用做参数传,第二个构造函数的就是多了个mode,设置sharepreferences的使用模式(不过大多数都是应用本身的,所以偶默认设置MODE_PRIVATE类型)。
为了演练,偶就定义个int和string类型 的set,get的方法,具体的代码如下:
public class My_sharedPreferences { public static final String SHARESPFERENCES_THEME = "SHARESPFERENCES_THEME"; public static final String THEME_CHECKITEMKEY = "THEME_CHECKITEMKEY"; private SharedPreferences sp; private SharedPreferences.Editor editor; public My_sharedPreferences(Context context) { sp = context.getSharedPreferences(SHARESPFERENCES_THEME, context.MODE_PRIVATE); } public My_sharedPreferences(Context context, int mode) { sp = context.getSharedPreferences(SHARESPFERENCES_THEME, mode); } public void setInt_sharepeferences(String key, int value) { editor = sp.edit(); editor.putInt(key, value); editor.commit(); } public void setString_sharepeferences(String key, String value) { editor = sp.edit(); editor.putString(key, value); editor.commit(); } public int getInt_sharepeferences(String key) { return sp.getInt(key, 0); } public String getString_sharepeferences(String key) { return sp.getString(key, ""); } }