【Android】通用系列 —— 数据持久化(通用的SharedPreference封装)
来源:互联网 发布:java设计模式工厂模式 编辑:程序博客网 时间:2024/06/06 09:25
关键字
SharedPreference
通用系列
数据存储
摘要:
主要内容:
本文介绍了封装后的SharedPreference,以便快速开发;
只保留必要的定制,重复的代码封装到一个通用类中;
说明
- 具体用法参照
UspDemo.java
文件; - 通用源文件为
Usp.java
代码
【用法】
//: TestUsp.javaString KEY_FIRST = "FIRST";Ulog.d("Before First:"+Usp.init(this).getInt(KEY_FIRST, 22));Usp.init(this).putInt(KEY_FIRST, 101).commit();Ulog.d("After First:"+Usp.init(this).getInt(KEY_FIRST, 23));//~ first time you get: 22 and 101; second time you get: 101 and 101;
【通用源码】
//: Usp.javapackage com.lyloou.lou.util;import android.content.Context;import android.content.SharedPreferences;import android.support.annotation.Nullable;import android.text.TextUtils;import java.util.Set;/** * 类描述:SharedPreference 工具类; * 创建人: Lou * 创建时间: 2016/7/7 14:38 * 修改人: Lou * 修改时间:2016/7/7 14:38 * 修改备注: */public final class Usp { /////////////////////////////////////////////////////////////////////////// // 对外提供接口 /////////////////////////////////////////////////////////////////////////// private static Usp INSTANCE; private static SharedPreferences.Editor sEditor; public static Usp init(Context context, String spName) { if (INSTANCE == null) INSTANCE = new Usp(context, spName); if (sEditor == null) sEditor = INSTANCE.mSharedPreferences.edit(); return INSTANCE; } public static Usp init(Context context) { return init(context, null); } public void commit() { sEditor.commit(); } public Usp clear() { sEditor.clear().apply(); return INSTANCE; } public Usp putString(String var1, String var2) { sEditor.putString(var1, var2).apply(); return INSTANCE; } public Usp putString(String var1, Set<String> var2) { sEditor.putStringSet(var1, var2).apply(); return INSTANCE; } public Usp putInt(String var1, int var2) { sEditor.putInt(var1, var2).apply(); return INSTANCE; } public Usp putLong(String var1, long var2) { sEditor.putLong(var1, var2).apply(); return INSTANCE; } public Usp putFloat(String var1, float var2) { sEditor.putFloat(var1, var2).apply(); return INSTANCE; } public Usp putBoolean(String var1, boolean var2) { sEditor.putBoolean(var1, var2).apply(); return INSTANCE; } public Usp remove(String var1) { sEditor.remove(var1).apply(); return INSTANCE; } public String getString(String var1, String var2) { return INSTANCE.mSharedPreferences.getString(var1, var2); } public Set<String> getStringSet(String var1, Set<String> var2) { return INSTANCE.mSharedPreferences.getStringSet(var1, var2); } public int getInt(String var1, int var2) { return INSTANCE.mSharedPreferences.getInt(var1, var2); } public long getLong(String var1, long var2) { return INSTANCE.mSharedPreferences.getLong(var1, var2); } public float getFloat(String var1, float var2) { return INSTANCE.mSharedPreferences.getFloat(var1, var2); } public boolean getBoolean(String var1, boolean var2) { return INSTANCE.mSharedPreferences.getBoolean(var1, var2); } public boolean contains(String var1) { return INSTANCE.mSharedPreferences.contains(var1); } /////////////////////////////////////////////////////////////////////////// // Self /////////////////////////////////////////////////////////////////////////// private final SharedPreferences mSharedPreferences; private Usp(Context context, @Nullable String spName) { if (TextUtils.isEmpty(spName)) { // 默认的包名使用「包名_SP」 spName = context.getApplicationContext().getPackageName() + "_SP"; } mSharedPreferences = context.getApplicationContext().getSharedPreferences(spName, Context.MODE_PRIVATE); }}
0 0
- 【Android】通用系列 —— 数据持久化(通用的SharedPreference封装)
- 【Android】通用系列 —— 数据持久化(通用的SQLite封装)
- River的Android学习笔记——数据持久化技术(SharedPreference存储)
- 通用封装系列——OkHttp
- 通用封装系列——Tomcat下的Servlet配置
- android通用适配器的封装
- 数据持久化之sharedpreference的使用
- 【Android】通用系列 —— 用简单通用的方式操作ListView
- Android自定义系列——通用的自定义Dialog
- 【Android】通用系列 —— AbsListView适配器
- 【Android】通用系列 —— 对话框
- android 通用view封装
- Android 通用Adapter封装
- Android 封装一个通用的PopupWindow
- Android 封装一个通用的PopupWindow
- Android 自定义通用Dialog的封装
- android数据存储—SharedPreference
- 数据持久层(DAO)通用API的实现
- PATL2-007. 家庭房产详解(并查集)
- Java多线程 之 生产者、消费者(十三)
- iOS 文件的三种储存方式
- unity3d培训_001
- 使用phpize建立php扩展 Cannot find config.m4.
- 【Android】通用系列 —— 数据持久化(通用的SharedPreference封装)
- 样式,表现分离--微博发言三种方式
- RecyclerView实现自定义布局.一
- 浅谈Base64编码
- (6) ebj学习:ejb使用jpa注解
- SSH集成CXF项目启动时出现告警日志
- ubuntu中apt-get安装与默认路径
- PHP第七课 类和对象
- 一个python学习的好地方