在项目中经常会用到SharedPreferences储存一些临时文件,如登录账号.密码 ,ip等 ,有时候想起来就写一个,弄的项目很乱,在此封装好了一个类,代码如下:
public class mySharePreferences {
public static final String SERVER_IP = "mServerIP";
public static final String SERVER_PORT = "mServerPort";
public static final String SERVER_NAME = "mServerName";
SharedPreferences sharedPreferences;
Editor editor;
private mySharePreferences() {
};
public static mySharePreferences getIntanse() {
return Nested.mV2SharePreferences;
}
static class Nested {
private static mySharePreferences mV2SharePreferences = new mySharePreferences();
}
public SharedPreferences.Editor getEditor() {
if (editor == null || sharedPreferences == null) {
editor = getSharePreferences().edit();
}
return editor;
}
public SharedPreferences getSharePreferences() {
if (sharedPreferences == null) {
sharedPreferences = PreferenceManager
.getDefaultSharedPreferences(V2Application.getContext());
}
return sharedPreferences;
}
public void putStringValue(String key, String value) {
getEditor().putString(key, value);
getEditor().commit();
}
public String getStringValue(String key, String defaultValue) {
return getSharePreferences().getString(key, defaultValue);
}
public void putBooleanValue(String key, boolean value) {
getEditor().putBoolean(key, value);
getEditor().commit();
}
public boolean getBooleanValue(String key, boolean defaultValue) {
return getSharePreferences().getBoolean(key, defaultValue);
}
调用的时候非常方便 如果要储存数据直接调用mySharePreferences.getintanse().putStringValue(string key,string value);
获取数据的时候用mySharePreferences.getintanse().getStringValue(string key,string defaultValue);是不是感觉非常的方便