当前位置: 首页 > wzjs >正文

莆田网站建设方案服务wordpress文章排列

莆田网站建设方案服务,wordpress文章排列,实体企业做网站好么,阳西住房和城乡规划建设局网站SharedPreferences 工具类封装: 1.支持泛型:通过泛型方法减少重复代码。 2.线程安全优化:使用双重检查锁定(Double-.Checked Locking)优化单例模式。 3.链式调用:支持链式调用,提升代码可读性…

SharedPreferences 工具类封装:
1.支持泛型:通过泛型方法减少重复代码。

2.线程安全优化:使用双重检查锁定(Double-.Checked Locking)优化单例模式。

3.链式调用:支持链式调用,提升代码可读性。

4.默认值处理:提供更灵活的默认值处理方式。

5.代码简洁性:减少冗余代码,提升可维护性。

SharedPreferencesUtil 工具类代码

import android.content.Context;
import android.content.SharedPreferences;public class SharedPreferencesUtil {private static final String PREF_NAME = "MyAppPreferences";private static volatile SharedPreferencesUtil instance;private final SharedPreferences sharedPreferences;private final SharedPreferences.Editor editor;private SharedPreferencesUtil(Context context) {sharedPreferences = context.getSharedPreferences(PREF_NAME, Context.MODE_PRIVATE);editor = sharedPreferences.edit();}/*** 获取单例实例(双重检查锁定,线程安全)*/public static SharedPreferencesUtil getInstance(Context context) {if (instance == null) {synchronized (SharedPreferencesUtil.class) {if (instance == null) {instance = new SharedPreferencesUtil(context.getApplicationContext());}}}return instance;}/*** 存储数据(支持链式调用)*/public SharedPreferencesUtil put(String key, Object value) {if (value instanceof String) {editor.putString(key, (String) value);} else if (value instanceof Integer) {editor.putInt(key, (Integer) value);} else if (value instanceof Boolean) {editor.putBoolean(key, (Boolean) value);} else if (value instanceof Float) {editor.putFloat(key, (Float) value);} else if (value instanceof Long) {editor.putLong(key, (Long) value);} else {throw new IllegalArgumentException("Unsupported value type: " + value.getClass().getSimpleName());}editor.apply();return this;}/*** 获取数据(泛型方法,支持自动类型推断)*/@SuppressWarnings("unchecked")public <T> T get(String key, T defaultValue) {if (defaultValue instanceof String) {return (T) sharedPreferences.getString(key, (String) defaultValue);} else if (defaultValue instanceof Integer) {return (T) Integer.valueOf(sharedPreferences.getInt(key, (Integer) defaultValue));} else if (defaultValue instanceof Boolean) {return (T) Boolean.valueOf(sharedPreferences.getBoolean(key, (Boolean) defaultValue));} else if (defaultValue instanceof Float) {return (T) Float.valueOf(sharedPreferences.getFloat(key, (Float) defaultValue));} else if (defaultValue instanceof Long) {return (T) Long.valueOf(sharedPreferences.getLong(key, (Long) defaultValue));} else {throw new IllegalArgumentException("Unsupported default value type: " + defaultValue.getClass().getSimpleName());}}/*** 删除指定键的数据*/public SharedPreferencesUtil remove(String key) {editor.remove(key).apply();return this;}/*** 清空所有数据*/public SharedPreferencesUtil clear() {editor.clear().apply();return this;}
}

使用示例

// 获取实例
SharedPreferencesUtil spUtil = SharedPreferencesUtil.getInstance(context);// 存储数据(链式调用)
spUtil.put("username", "JohnDoe").put("age", 25).put("isLoggedIn", true);// 读取数据(泛型方法,自动推断类型)
String username = spUtil.get("username", "defaultUsername");
int age = spUtil.get("age", 0);
boolean isLoggedIn = spUtil.get("isLoggedIn", false);// 删除数据
spUtil.remove("username");// 清空所有数据
spUtil.clear();

泛型支持

通过泛型方法 get,可以根据传入的默认值类型自动推断返回值类型,减少代码重复。

例如:spUtil.get(“age”, 0) 会自动返回 int 类型。

链式调用:

put、remove 和 clear 方法返回 this,支持链式调用,提升代码可读性。

线程安全优化:

使用双重检查锁定(Double-Checked Locking)确保单例模式的线程安全,同时避免不必要的同步开销。

默认值处理:

通过传入默认值的方式,避免在调用时额外处理空值问题。

代码简洁性:

减少冗余代码,提升工具类的可维护性和扩展性。

http://www.dtcms.com/wzjs/581099.html

相关文章:

  • 做运营必看的网站竞价关键词排名软件
  • 男女直接做视频教学视频网站做环卫车怎么做网站
  • 沙井网站推广小程序开发教程下载
  • 传奇霸主网页版一个网站如何做seo优化
  • 厦门有什么网站设计公司企业网站内容以及功能模块规划的依据有哪些
  • 临沂网站制作加速企业发展不提供花架子网站 我
  • 大连网站开发师泰安如何开发商城app开发
  • 江门站排名优化做一普通网站需要多少钱
  • 惠州网站建设制作公司免费算命
  • 个人免费网站建设模板安徽网页设计的公司有哪些
  • 模具做外贸网站2008 做网站
  • 给百度做网站的公司wordpress博客怎么访问
  • 安全联盟这种网站建设大学生心理咨询网站建设论文
  • 网站公司技术交接互联网黄页是什么
  • 网站开发需求逻辑图wordpress 文章引用
  • 注册公司网站深圳做公司英文网站多少钱
  • 低价网站制作广州网站建设网络
  • 深圳律师网站建设单页面网站设计网站欣赏
  • 网站怎么做结算免费备案网站空间
  • 各种颜色做网站给人的心里暗示郑州高校网站建设服务公司
  • 有多少网站建设外包网站存储空间大小
  • 无锡建设执业资格注册中心网站邢台seo服务公司
  • 上海网站建设服务苍溪县规划和建设局网站
  • 网页设计板式类型哪里有网站推广优化
  • 四川省住房与建设厅网站移动应用开发介绍
  • 网站备案平台写网站教程
  • 重庆网站建设jccit成都哪些地方好玩
  • 网站模板破解版南宁网络推广平台有哪些
  • 如何减少网站建设中的错误做什么网站比较简单
  • 个人网站建设第一步流量卡代理平台有哪些