Android_ application layer _SharedPreferences singleton fast storage means

package com.huawei.framework.utils;


import android.content.Context;
import android.content.SharedPreferences;
import android.content.SharedPreferences.Editor;


import com.huawei.se.BaseApplication;

//@author   zhanglong
public final class SharedPreferencesUtil {
private static SharedPreferencesUtil instance;
private SharedPreferences sharedPreferences = null;


private SharedPreferencesUtil() {
initSharedPreferences(BaseApplication.getAppContext());


}


public static SharedPreferencesUtil getInstance() {
if (null == instance) {
instance = new SharedPreferencesUtil();
}
return instance;
}


public void initSharedPreferences(Context context) {
sharedPreferences = context.getSharedPreferences("GCSharedPreferences", Context.MODE_MULTI_PROCESS);
}


public SharedPreferences getSharedPreferences() {


return sharedPreferences;
}


/**
* Save key

* @Param key
* @param value
*/
public void saveStringValue(String key, String value) {
if (sharedPreferences == null) {
return;
}


Editor edit = sharedPreferences.edit();
edit.putString(key, value);
edit.commit();
}


/**
* Get String Value

* @Param key
* @param defaultValue
* @return
*/
public String readStringValue(String key, String defaultValue) {
if (sharedPreferences == null) {
return defaultValue;
}
return sharedPreferences.getString(key, defaultValue);
}


/**
* Save key type Boolean

* @Param key
* @param value
*/
public void saveBooleanValue(String key, boolean value) {
if (sharedPreferences == null) {
return;
}


Editor edit = sharedPreferences.edit();
edit.putBoolean(key, value);
edit.commit();
}


/**
* Get the boolean value

* @Param key
* @param defaultValue
* @return
*/
public boolean readBooleanValue(String key, boolean defaultValue) {
if (sharedPreferences == null) {
return defaultValue;
}


return sharedPreferences.getBoolean(key, defaultValue);
}


/**
* Save key Int

* @Param key
* @param value
*/
public void saveIntValue(String key, int value) {
if (sharedPreferences == null) {
return;
}


Editor edit = sharedPreferences.edit();
edit.putInt(key, value);
edit.commit();
}


/**
* Get float value

* @Param key
* @param defaultValue
* @return
*/
public int readIntValue(String key, int defaultValue) {
if (sharedPreferences == null) {
return defaultValue;
}


return sharedPreferences.getInt(key, defaultValue);
}


/**
* Save key Float

* @Param key
* @param value
*/
public void saveFloatValue(String key, Float value) {
if (sharedPreferences == null) {
return;
}


Editor edit = sharedPreferences.edit();
edit.putFloat(key, value);
edit.commit();
}


/**
* Get Float value

* @Param key
* @param defaultValue
* @return
*/
public Float readFloatValue(String key, Float defaultValue) {
if (sharedPreferences == null) {
return defaultValue;
}


return sharedPreferences.getFloat(key, defaultValue);
}


/**
* Save key Long

* @Param key
* @param value
*/
public void saveLongValue(String key, Long value) {
if (sharedPreferences == null) {
return;
}


Editor edit = sharedPreferences.edit();
edit.putLong(key, value);
edit.commit();
}


/**
* Get Long value

* @Param key
* @param defaultValue
* @return
*/
public Long readLongValue(String key, Long defaultValue) {
if (sharedPreferences == null) {
return defaultValue;
}


return sharedPreferences.getLong(key, defaultValue);
}


/**
* Delete key

* @Param key

**/
public void deleteValue(String key) {


if (sharedPreferences.contains(key)) {
Editor edit = sharedPreferences.edit();
edit.remove(key);
edit.commit();
}
}


}

Singleton SP:

1 can store data more quickly and easily, conservation of resources;

2, using BaseApplication.getAppContext () SP avoid references context Activity, leading to memory leaks, global Context long life cycle, with the end of the main application process before release


Published 19 original articles · won praise 19 · views 30000 +

Guess you like

Origin blog.csdn.net/baidu_30084597/article/details/78917049