频道栏目
首页 > 程序开发 > 移动开发 > Android > 正文
Android_应用层_SharedPreferences单例快速存储工具
2017-12-28 10:34:45      个评论    来源:baidu_30084597的博客  
收藏   我要投稿

Android_应用层_SharedPreferences单例快速存储工具。

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;

}

/**

* 保存键值

*

* @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();

}

/**

* 获取String值

*

* @param key

* @param defaultValue

* @return

*/

public String readStringValue(String key, String defaultValue) {

if (sharedPreferences == null) {

return defaultValue;

}

return sharedPreferences.getString(key, defaultValue);

}

/**

* 保存键值 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();

}

/**

* 获取boolean值

*

* @param key

* @param defaultValue

* @return

*/

public boolean readBooleanValue(String key, boolean defaultValue) {

if (sharedPreferences == null) {

return defaultValue;

}

return sharedPreferences.getBoolean(key, defaultValue);

}

/**

* 保存键值 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();

}

/**

* 获取float值

*

* @param key

* @param defaultValue

* @return

*/

public int readIntValue(String key, int defaultValue) {

if (sharedPreferences == null) {

return defaultValue;

}

return sharedPreferences.getInt(key, defaultValue);

}

/**

* 保存键值 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();

}

/**

* 获取Float值

*

* @param key

* @param defaultValue

* @return

*/

public Float readFloatValue(String key, Float defaultValue) {

if (sharedPreferences == null) {

return defaultValue;

}

return sharedPreferences.getFloat(key, defaultValue);

}

/**

* 保存键值 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();

}

/**

* 获取Long值

*

* @param key

* @param defaultValue

* @return

*/

public Long readLongValue(String key, Long defaultValue) {

if (sharedPreferences == null) {

return defaultValue;

}

return sharedPreferences.getLong(key, defaultValue);

}

/**

* 删除键值

*

* @param key

*

**/

public void deleteValue(String key) {

if (sharedPreferences.contains(key)) {

Editor edit = sharedPreferences.edit();

edit.remove(key);

edit.commit();

}

}

}

单例SP:

1能使存储数据是更加的快速和方便,节约资源;

2、采用BaseApplication.getAppContext()避免SP引用Activity的context,导致内存泄漏,全局的Context生命周期长,随着主应用进程的结束才释放。

点击复制链接 与好友分享!回本站首页
上一篇:Android_应用层_SQlite封装数据库工具
下一篇:Could not find com.android.tools.build:gradle:3.0.1
相关文章
图文推荐
点击排行

关于我们 | 联系我们 | 广告服务 | 投资合作 | 版权申明 | 在线帮助 | 网站地图 | 作品发布 | Vip技术培训 | 举报中心

版权所有: 红黑联盟--致力于做实用的IT技术学习网站