SharedPreferences工具类

SharedPreferences轻量存储的详细使用,以及工具类的编写 有没有想过QQ的保存密码功能、自动登录等功能是怎么做的?为什么APP第一次进入会有新手引导,第二次就没了?本文揭晓答案! 阅读详情
<pre name="code" class="java">/** 
 * SharedPreferences工具类,
 * 
 * @author yangzc
 *
 *2015-3-27 下午3:30:12
 */
public class SharedPreferencesUtils {  
	/**
	 * 保存在手机里的文件名
	 */
	public static final String FILE_NAME = "tianler_data";
	
	/**
	 * 保存数据
	 * @param context 上下文
	 * @param key key
	 * @param obj value
	 */
	public static void put(Context context,String key,Object obj){
		SharedPreferences sp = context.getSharedPreferences(FILE_NAME, context.MODE_PRIVATE);
		Editor editor = sp.edit();
		
		if(obj instanceof Boolean){
			editor.putBoolean(key, (Boolean)obj);
		}else if(obj instanceof Float){
			editor.putFloat(key, (Float)obj);
		}else if(obj instanceof Integer){
			editor.putInt(key, (Integer)obj);
		}else if(obj instanceof Long){
			editor.putLong(key, (Long)obj);
		}else{
			editor.putString(key, (String)obj);
		}
		editor.commit();
	}
	
	/**
	 * 获取指定的数据
	 * @param context
	 * @param key
	 * @param defaultObj
	 * @return
	 */
	public static Object get(Context context,String key,Object defaultObj){
		SharedPreferences sp = context.getSharedPreferences(FILE_NAME, context.MODE_PRIVATE);
		
		if(defaultObj instanceof Boolean){
			return sp.getBoolean(key, (Boolean)defaultObj);
		}else if(defaultObj instanceof Float){
			return sp.getFloat(key, (Float)defaultObj);
		}else if(defaultObj instanceof Integer){
			return sp.getInt(key, (Integer)defaultObj);
		}else if(defaultObj instanceof Long){
			return sp.getLong(key, (Long)defaultObj);
		}else if(defaultObj instanceof String){
			return sp.getString(key, (String)defaultObj);
		}
		return null;
	}
	
	/**
	 * 删除指定的数据
	 * @param key
	 */
	public static void remove(Context context,String key){
		SharedPreferences sp = context.getSharedPreferences(FILE_NAME, context.MODE_PRIVATE);
		Editor editor = sp.edit();
		editor.remove(key);
		editor.commit();
	}
	
	/**
	 * 返回所有的键值对
	 * @return
	 */
	public static Map<String,?> getAll(Context context){
		SharedPreferences sp = context.getSharedPreferences(FILE_NAME, context.MODE_PRIVATE);
		Map<String,?> map = sp.getAll();
		return map;
	}
	
	/**
	 * 清除所有数据
	 * @param context
	 */
	public static void clear(Context context){
		SharedPreferences sp = context.getSharedPreferences(FILE_NAME, context.MODE_PRIVATE);
		Editor editor = sp.edit();
		editor.clear();
		editor.commit();
	}
	
	/**
	 * 检查是否存在此key对应的数据
	 * @param context
	 * @param key
	 * @return
	 */
	public static boolean contains(Context context,String key){
		SharedPreferences sp = context.getSharedPreferences(FILE_NAME, context.MODE_PRIVATE);
		return sp.contains(key);
	}
	
	
	
}  
还可以吧sp存在一个config当中,方便跨Activity使用:
Activity1当中:
String newname = et_name.getText().toString().trim();
SharedPreferences sp = getSharedPreferences("config",
MODE_PRIVATE);
Editor editor = sp.edit();
editor.putString("newname", newname);
editor.commit();
Activity2当中:
String newname = sp.getString("newname", "");
if (!TextUtils.isEmpty(newname)) {
tv_homeitem_name.setText(newname);
}




        
Agent 操作系统:未来的 Harness 平台 在大模型技术爆发的当下,自主智能体(Agent)已经成为AI原生应用的核心载体,但当前Agent开发面临着碎片化严重、运维难度高、规模化落地难三大核心痛点,就像1970年代没有通用操作系统的裸机编程时代,开发者需要重复造轮子解决底层基础设施问题。本文将深度解析Agent操作系统(Agent OS)作为AI原生时代的底层基础设施的核心定位,以及下一代Harness平台如何将Agent OS与成熟的DevOps、CI/CD、可观测性、成本管理能力深度融合,成为AI原生应用全生命周期管理的统一平台。 阅读详情

相关推荐

5分钟搞懂MSDNet:用Transformer实现小样本语义分割的保姆级教程

本文详细介绍了MSDNet(Multi-Scale Decoder Network)如何利用Transformer架构实现小样本语义分割。通过多尺度解码器和空间Transformer解码器,MSDNet能够在仅有1-5张标注图像的情况下完成精确分割任务。文章提供了PyTorch代码实例和优化技巧,帮助开发者快速掌握这一前沿技术。

weixin_30832143的博客 506

kotlin——SharedPreferences的工具类、Room组件、Preferences DataStore

SharedPreferences的工具类 代码 class SharedPreferencesUtil// 构造方法 private constructor(context: Context) { init { mPreferences = context.getSharedPreferences(mTAG, Context.MODE_PRIVATE) ...

wy313622821的博客 2207

Duplicate Cleaner Pro 5.16 保姆级教程:如何用哈希值精准清理重复文件(附音频/视频模式详解)

本文详细介绍了Duplicate Cleaner Pro 5.16如何利用哈希值技术精准清理重复文件,特别针对音频、视频和图片等多媒体文件提供了专业解决方案。通过哈希算法比对和多媒体特征识别,帮助用户高效管理存储空间,提升文件整理效率。

weixin_27032989的博客 565

Android常用工具类3(SharedPreferences保存数据)

package zz; import android.content.Context; import android.content.SharedPreferences; /** * SharedPreferences的一个工具类,调用setParam就能保存String, Integer, Boolean, Float, Long类型的参数 * 同样调用getParam就能获取到保存在...

IT张的专栏 448

MATLAB实战:用Costas环和Gardner环搞定QPSK同步问题(附完整代码)

本文详细介绍了如何使用MATLAB实现Costas环和Gardner环联合解决QPSK同步问题,包括载波同步和定时同步的技术原理、MATLAB代码实现及性能分析。通过完整的仿真示例和工程实践建议,帮助读者掌握QPSK同步技术的核心要点,提升数字通信系统的解调性能。

agile9scrum的博客 690

第一章 初识SpringBoot

提供大量的自动配置Spring和第三方库,开发者可以根据项目需求选择相关的starters依赖,而无需手动配置大量的Spring配置文件,开箱即用,无需配置XML,无代码生成。Spring Boot与Spring Cloud等框架集成,为构建微服务提供了强大的支持,并通过Spring Cloud实现服务注册、负载均衡、熔断等功能。本质上讲,Spring Boot就是Spring,它做了那些本应我们去做的Spring Bean配置等工作。以上就是一个简单的Spring Boot应用的创建和运行过程。

Calvin的博客 1581

android sharedpreferences工具类

今天,简单讲讲如何写一个sharedpreferences的工具类。   很简单,把一些重复的操作封装在工具类里,其他地方调用就可以。在网上搜索了比较多的资料,找到一个比较好的工具类。 参考文章:https://blog.youkuaiyun.com/androidsj/article/details/79796194 import android.content.Context; import a...

谢岩的博客 5547

OpencvSharp学习笔记(一):图片的打开,保存灰度化,保存

近来萌生了学习OpenCv的想法,经过度娘得知老夫会的C#不能直接用OpenCv,只能用他的儿子OpenCvSharp与EmguCV,奈何奈何,这两玩意的资料少的出奇,只能慢慢的摸索了,EmguCV先不说,老夫找到了牛批的资料,先摸索OpencvSharp吧 首先打开VS通过Nuget安装 选择版本后点击安装就OK了. 安装完成后,引用里面就有以下的玩意儿了… 废话不多说了,在写程序前先 using OpenCvSharp 图片打开,灰度化,保存代码如下: static void Main(strin

猥琐de专注 7186

Android之SharedPreferences工具类

本工具类永久维护,永久更新,如果各位读者发现有bug或者不合理之处,请留言,博主将第一时间改正。 本工具类提供的功能有: 1.存储五种类型的数据; 2.读取五种类型的数据; 内容如下: import android.content.Context; import android.content.SharedPreferences; import android.conte

bear_huangzhen的专栏 6625

别再手动调参了!用MATLAB+改进PSO算法,5步搞定机械臂轨迹优化(附完整代码)

本文介绍如何利用MATLAB和改进PSO算法快速优化机械臂轨迹规划,仅需5步即可完成传统耗时的手动调参过程。通过混沌初始化、自适应权重等创新方法,改进PSO算法显著提升优化效率,实现全局最优解搜索,适用于工业自动化中的机械臂控制。文章包含完整MATLAB代码实现,帮助工程师轻松应用于实际生产场景。

weixin_29232121的博客 353

【考研高数-高等数学-基础】第一章 函数、极限、连续

第一章 函数、极限、连续 第二章 导数与微分 第三章 微分中值定理及导数应用 第四章 不定积分 第五章 定积分与反常积分 第六章 定积分的应用 第七章 微分方程 第八章 多元函数微分学 第九章 二重积分 第十章 无穷级数 第十一章 向量代数与空间解析几何及多元微分学在几何上的应用 第十二章 多元积分学及其应用 难题: 极限的递推 微分中值定理的证明题 定积分的不等式和等式的证明 重积分的不等式和等式的证明 线面积分的不等式和等...

刘鑫磊 2034

SharedPreferences 工具类

注册优快云帐号也有好久了,但是从来都没写过一片博文,原因无他,就是不知道怎么写。 今天闲来无事,就试着写了本博文。 学习安卓开发也有一段时间了,正巧前几天在hongyang的博客里看到了一些源码,自己又改了改,变成我自己的。 然后发到自己的博客。(博主是不是很机智?嘿嘿)

小妖森的专栏 833

Java高频面试基础问题与知识点整理

Java高频面试知识点总结:覆盖高频基础知识考点+高频集合知识点深入分析+高频多线程与并发编程面试题汇总+其他扩展考察等。

曾经“等你生日那天”都遥远得像未来,如今却可欢愉的挥手说“下个十年见” 172万+

android sharedpreferences 工具类,android sharedpreferences工具类

释放双眼,带上耳机,听听看~!今天,简单讲讲如何写一个sharedpreferences的工具类。很简单,把一些重复的操作封装在工具类里,其他地方调用就可以。在网上搜索了比较多的资料,找到一个比较好的工具类。import android.content.Context;import android.content.SharedPreferences;/*** 作者:Yzp on 2017-03-2...

weixin_42099530的博客 383

android 蓝牙通讯demo

android 下蓝牙通讯demo,实现了发现蓝牙,使能蓝牙,通过蓝牙发送消息。

efm32 入门.pdf

本PDF共计22页,介绍的是操作驱动API,下载与否自己斟酌。

Android SharedPreferences的工具类

我们平常保存一些数据,都会用到SharedPreferences,他是保存在手机里面的,具体路径是data/data/你的包名/shared_prefs/保存的文件名.xml, SharedPreferences的使用也很简单,我自己就写了一个SharedPreferences的工具类,然后就保存在这里,等自己以后需要保存数据直接从这里copy代码,哈哈 工具类如下 package c

a15838319826的博客 313

visio安装包

Microsoft Office Visio 是一款专业的制图软件。利用经过更新的形状、协作工具和数据链接图表,创建专业级图表以简化复杂的信息。

SharedPreferences的工具类

原创地址:SharedPreferences工具类 我们平常保存一些数据,都会用到SharedPreferences,他是保存在手机里面的,具体路径是data/data/你的包名/shared_prefs/保存的文件名.xml, SharedPreferences的使用也很简单,我自己就写了一个SharedPreferences的工具类,然后就保存在这里,等自己以后需要保存数据直接从这里co

松一160 815

ET2012新版免狗免安装绿色软件

ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,

android sharedpreferences 工具类,Android 开发SharedPreferences工具类

在我们的移动端项目开发中我想SharedPreferences用的也是比较多的吧所以这时就必须要有一个公共的工具类,所以今天就记录一个超好用的SP工具类话不多说直接上代码首先创建一个名为SharedPreferencesUtils的工具类public class SharedPreferencesUtils {private static final String FILE_NAME="share...

weixin_39609071的博客 327

24SharedPreferences的工具类的编写

SharedPreferences的工具类主要用来保存用户的偏好设置的数据: package com.dystu.impro.utils; import android.content.Context; import android.content.SharedPreferences; /** * SharedPreferences的工具类,本例为单例类 * * 主要用来保存用户的偏

chenfuduo_loveit的专栏 580

Android 分享一个SharedPreferences的工具类,方便保存数据

我们平常保存一些数据,都会用到SharedPreferences,他是保存在手机里面的,具体路径是data/data/你的包名/shared_prefs/保存的文件名.xml, SharedPreferences的使用也很简单,我自己就写了一个SharedPreferences的工具类,然后就保存在这里,等自己以后需要保存数据直接从这里copy代码,哈哈 工具类如下 package com.e

Mobile Internet developer 4万+
下一篇: 当子线程执行完,提交到主线程执行代码(UIUtils)
yang0range
博客等级 码龄12年 15粉丝 28原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值