android sharedpreferences工具类

SharedPreferences轻量存储的详细使用,以及工具类的编写 有没有想过QQ的保存密码功能、自动登录等功能是怎么做的?为什么APP第一次进入会有新手引导,第二次就没了?本文揭晓答案! 阅读详情
package com.xt.deeptest5g.Utils;

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

/**
 * author : ZJS
 * e-mail : 
 * date   : 20-7-30下午7:46
 * desc   : 用户账户信息保存工具类
 * version : 1.0
 */
public class SharedPreferencesUtils {
    /**
     * 保存在手机里面的文件名
     */
    private static final String FILE_NAME = "share_date";

    /**
     * 保存数据的方法,我们需要拿到保存数据的具体类型,然后根据类型调用不同的保存方法
     *
     * @param context
     * @param key
     * @param object
     */
    public static void setParam(Context context, String key, Object object) {
        String type = object.getClass().getSimpleName();
        SharedPreferences sp = context.getSharedPreferences(FILE_NAME, Context.MODE_PRIVATE);
        SharedPreferences.Editor edit = sp.edit();
        if ("String".equals(type)) {
            edit.putString(key, ((String) object));
        }
        if ("Integer".equals(type)) {
            edit.putInt(key, ((Integer) object));
        }
        if ("Boolean".equals(type)) {
            edit.putBoolean(key, ((Boolean) object));
        }
        if ("Float".equals(type)) {
            edit.putFloat(key, ((Float) object));
        }
        if ("Long".equals(type)) {
            edit.putLong(key, ((Long) object));
        }
        edit.commit();
    }

    /**
     * 得到保存数据的方法,我们根据默认值得到保存的数据的具体类型,然后调用相对于的方法获取值
     *
     * @param context
     * @param key
     * @param defaultObject
     * @return
     */
    public static Object getParam(Context context, String key, Object defaultObject) {
        String type = defaultObject.getClass().getSimpleName();
        SharedPreferences sp = context.getSharedPreferences(FILE_NAME, Context.MODE_PRIVATE);
        if ("String".equals(type)) {
            return sp.getString(key, ((String) defaultObject));
        }
        if ("Integer".equals(type)) {
            return sp.getInt(key, (Integer) defaultObject);
        }
        if ("Boolean".equals(type)) {
            return sp.getBoolean(key, (Boolean) defaultObject);
        }
        if ("Float".equals(type)) {
            return sp.getFloat(key, (Float) defaultObject);
        }
        if ("Long".equals(type)) {
            return sp.getLong(key, (Long) defaultObject);
        }
        return null;
    }

    /**
     * 清除所有数据
     *
     * @param context
     */
    public static void clear(Context context) {
        SharedPreferences sp = context.getSharedPreferences(FILE_NAME,
                Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = sp.edit();
        editor.clear().commit();
    }

    /**
     * 清除指定数据
     *
     * @param context
     */
    public static void clearAll(Context context, String key) {
        SharedPreferences sp = context.getSharedPreferences(FILE_NAME,
                Context.MODE_PRIVATE);
        SharedPreferences.Editor editor = sp.edit();
        editor.remove(key);
        editor.commit();
    }
}

登录Activity:包含两个editext,一个button:
调用:

 case R.id.btn_login:
                phone = etPhone.getText().toString();
                pass = etPass.getText().toString();
                SharedPreferencesUtils.setParam(this, "phone", phone);
                SharedPreferencesUtils.setParam(this, "pass", pass);
                startActivity(new Intent(this, MainActivity.class));
                break;

mainActivity:
显示

 public void initDate() {
        String phone1 = (String) SharedPreferencesUtils.getParam(this, "phone", "15564770");
        String pass1 = (String) SharedPreferencesUtils.getParam(this, "pass", "123456");
        phone.setText(phone1);
        pass.setText(pass1);
    }

没有问题!

极具性价比的步进电机驱动芯片-TMC2226/TMC2209使用小结 TMC2226/2209相对于TMC2660C、TMC5160来说,价格低了很多,同时功能并没有太多阉割。对比TMC5160,少了内部加减速曲线,电流足够(Ipeak = 2.8A),相对5160而言功能也很足够,所以毫无疑问TMC2226是极具性价比的步进驱动芯片。 阅读详情

相关推荐

SRAM vs RRAM:存算一体芯片选型指南(含最新技术对比)

本文深入对比了SRAM与RRAM在存算一体芯片设计中的核心差异,为硬件工程师和架构师提供实战选型指南。文章从技术本质、性能、功耗、成本及设计风险等多维度剖析,指出SRAM基于成熟CMOS工艺,适合高精度、低延迟场景;而RRAM凭借非易失性和高密度潜力,在超低功耗、固定模型应用中优势明显。决策需综合项目预算、上市时间及技术储备。

e4f5g6h的博客 942

SharedPreferences工具类

对SharedPreferences封装的工具类

zhang106209的博客 1339

粒子滤波在基于误差状态量的INS/GNSS组合导航中的使用技巧-On Particle Filter based Error-State INS/GNSS Intergrated Navigation

本文面向以15维惯导(INS)误差为状态量,3维位置误差为量测量的INS/GNSS组合导航系统,​在西工大严恭敏老师的开源工具箱中PF相关库函数基础上实现基于粒子滤波(PF)的惯导误差状态量的递推估计,设计了粒子重置环节并强调了其在本特定场景下的重要性。

I33D33I的博客 1744

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

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

wy313622821的博客 2207

Facebook登录协议逆向实战:从加密参数到完整流程解析(附Python代码)

本文深入解析Facebook登录协议的逆向工程,重点拆解`lgndim`和`encpass`等加密参数的生成逻辑,并提供完整的Python实现代码。通过Base64解码和RSA加密技术,帮助开发者理解并实现Facebook登录流程,同时涵盖工程优化与安全实践。

weixin_30687051的博客 478

避坑指南:将大华官方Java SDK无缝迁移到SpringBoot 2.x项目的完整流程

本文详细介绍了如何将大华官方Java SDK无缝迁移到SpringBoot 2.x项目,重点解决内存管理、连接池设计和异步处理等核心问题。通过设备连接池化、异步非阻塞接口改造和内存管理优化,实现刷卡、刷脸等认证功能的高效整合,提升Web服务的稳定性和性能。

weixin_42557830的博客 418

Android SharedPreferences数据存储工具类。需要用到Application类,这个是全局启动类。

Android SharedPreferences数据存储工具类。需要用到Application类,这个是全局启动类。

qq_36570506的博客 522

智能车赛道识别:八邻域算法的实战解析与优化

本文深入解析了智能车赛道识别中八邻域算法的核心原理与实战优化。作为兼顾性能与稳定性的经典方案,该算法通过模拟探险家环顾八方的策略,能精准追踪弯道与直道边界。文章详细拆解了代码逻辑,并提供了边界平滑、异常处理及应对十字路口、环岛等复杂场景的关键优化策略,助力开发者提升智能车视觉系统的鲁棒性与实时性。

weixin_29228781的博客 263

Android SharedPreferences工具类

SharedPreferences工具类一、直接上代码二、注意事项 一、直接上代码 public class SpUtils { private static final String SP_NAME = "Config"; // 声明SharedPreferences对象 private SharedPreferences sp; // 声明SharedPreferences编辑器,用于用于修改SharedReferences对象中值的接口 private Sha

notthin的博客 898

Android开发工程师面试问题与参考答案

这是一份Android开发工程师职位面试指南,主要针对自研OS开发岗位。岗位要求3年以上独立开发经验,熟悉Android平台UI设计、四大组件和Java基础。面试问题覆盖五大核心领域:基础知识、开发经验、技术深度、问题解决和性能优化。文章提供了典型面试问题及专业参考答案,帮助应聘者准备关键技术点,如多线程处理、HashMap与ConcurrentHashMap区别、Handler机制等。同时建议应聘者结合项目经验展示优化能力,并注意公司提供完善的薪酬福利和团队文化。

郑伟强dev的专栏 896

CATIA二次开发——遍历几何图形集下的轴系及控制轴系生成位置

CATIA二次开发——轴系相关问题1.遍历几何图形集下的轴系2.解决轴系生成位置的问题 1.遍历几何图形集下的轴系 近期遇到的问题:遍历轴系的时候发现,AxisSystem属性的轴系只有放在轴系集合下,才能被找到,放在几何图形集或其他位置均不能被找到。本来想遍历几何图形集下的轴系元素,但是发现没有对应的属性,只能查找 几何图形集、几何元素、草图等元素,无法直接遍历轴系。 解决办法:(加入选择集,在选择集中筛选轴系类型) HybridBody axisHB = activePart.HybridBodies

WorkMan的博客 2731

android sharedpreferences 工具类,android sharedpreferences工具类

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

weixin_42099530的博客 384

实现端到端加密的WebRTC视频会议终端

需要注意的是,上述示例代码中没有涉及到具体的加密算法和密钥交换过程,而是通过WebRTC API自动处理了加密和密钥交换的细节。然后,我们通过信令服务器将本地SDP发送给对方,并接收对方的SDP。最后,我们将对方的SDP设置为远程描述,并将最终的连接建立起来。最后,我们将对方的SDP设置为远程描述,并建立最终的连接。在本文中,我们将探讨如何使用WebRTC构建一个加密的视频会议终端,并提供相应的源代码。在本文中,我们将探讨如何使用WebRTC构建一个加密的视频会议终端,并提供相应的源代码。

WaJulia的博客 434

Android之SharedPreferences工具类

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

bear_huangzhen的专栏 6625

假人有限元模型

假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用

怀旧版电脑GBC模拟器

再现原版GBC掌机的界面,电脑运行连游戏界面都一样大小,很怀旧,很真实,(英文版)强烈推荐,很小的文件,很难才找到的。

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

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

weixin_39609071的博客 327

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

android SharedPreferences 使用工具类

实际就是对SharedPreferences 做了简单的封装取值以及存值的时候使用起来方便一点 public class SPUtil { public static final String APPNAME = "SharedPreferences名字"; public static void putString(Context context, String key, String s) { SharedPreferences sp = context.getS.

qq_35491100的博客 443

Statistics and Machine Learning Toolbox

Statistics and Machine Learning Toolbox(带书签),MATLAB统计学习工具

2-2.Android 存储之 SharedPreferences 编码模板(工具类编码)

SharedPreferences 是 Android 的一个轻量级存储工具,它采用 `key - value` 的键值对方式进行存储

weixin_52173250的博客 1039

马德拉酒:一瓶耐造到反常的加强酒,从酿造到配餐全解析

葡萄酒世界里有一类通过添加烈酒而制成的"加强酒",以波特、雪莉为典型代表。其中,马德拉酒是一种更小众却格外"耐造"的类型,其核心工艺"马德拉化"利用高温、氧化与时间的三重作用,让酒在酿造阶段就主动经历其他葡萄酒极力避免的氧化过程,从而获得焦糖、坚果等复杂香气,开瓶后依然能长期保持稳定。理解马德拉酒,需要从葡萄品种、甜度分级、陈年标识入手,同时掌握适用的保存与配餐方法。无论是作为开胃酒、佐餐酒还是餐后酒,马德拉都展现出极强的场景适配性。从酿造原理到酒标解读,从选购技巧到开瓶后的保存指南,马德拉酒以"耐造"为根

weixin_34396902的博客 401

Android 封装使用SharedPreferences工具类 添加 获取 删除全部(工具类总结二)

public class SpUtil { public static final String SP_NAME = "config"; private static SharedPreferences sp; // 存储用户id 把key写在这里 使用的时候调用就行 public static final String USER_RUN_NICKNAME = "u...

louyulin的博客 305

Android SharedPreferences 最通用详细齐全工具类

Android SharedPreferences 最通用详细齐全工具类 网上有各种各样的SharedPreferences的工具类,无非就是那么几个,简单封装然后调用每一个封装方法,相当于每次新加一个要存储的key-value都需要去增加新的方法。 本工具,解决了需要一直增加方法的这个痛点问题。 List 新建接口IPreferences 为了统一调用初始化 import org.json....

Schema 945

【工具类】Android数据存储sharedpreferences加密

//配合上一篇【工具类】AES加密和解密,实现sharedpreferences保存数据进行AES加密; import java.util.List; import java.util.Map; import android.content.Context; import android.content.SharedPreferences; /** * 存储配置信息的工具

优快云博客 2705

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

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

ytfghytf的博客 242

Android:SharedPreferences操作工具类

package com.example.customlib.util; import java.lang.reflect.InvocationTargetException; import java.lang.reflect.Method; import java.util.Map; import android.content.Context; import android.content.

阿东 986

Android封装SharedPreferences工具类

工具类基本功能说明: 1、保存基本数据类型数据; 2、读取基本数据类型数据; 3、依据key删除对应value; 4、清除SharedPreferences缓存数据静态方法;

ChinglimCHAN 1164

Android社交App开发之SharedPreferences工具类

package com.hongx.framework.utils; import android.content.Context; import android.content.SharedPreferences; import com.hongx.framework.BuildConfig; /** * FileName: SpUtils * SharedPreferences工具类...

hongxue8888的博客 362
上一篇: Android10创建文件Permission denied 失败
下一篇: dp与px相互转换
JSON_ZJS
博客等级 码龄9年 30粉丝 159原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值