Android中得到SharedPreference全面总结

Android性能优化之SharedPreferences Android 存储优化系列专题 SharedPreferences 系列 《Android 之不要滥用 SharedPreferences》 《Android 之不要滥用 SharedPreferences(2)— 数据丢失》 ContentProvider 系列(待更) 《Android 存储选项之 ContentProvider 启动过程源码分析》 《Android 存储选项之 ContentProvider 深入分析》 对象序列化系列 《Android 对象序列化之你不知道的 Serializab. 阅读详情
本文章为原创,转载请保留出处:http://www.eyeandroid.com/thread-10633-1-1.html

Android中得到SharedPreference的方式有四种:
  • ContextWrapper.getSharedPreferences(String name, int mode)
  • Activity.getPreferences(int mode)
  • PreferenceManager.getSharedPreferences()
  • PreferenceManager.getDefaultSharedPreferences(Context context)
下面我们一起来跟踪下它们的源码:
1.ContextWrapper.getSharedPreferences(String name,int mode)
ContextWrapper.getSharedPreferences.jpg 
可以看出,我们可以自己设置SharedPreference的名字与模式

2.Activity.getPreferences(int mode)
Activity.getPreferences.jpg 
这种方式下,name是通过getLocalClassName()得到的,不能让我们自己设置,而且最终会调到ContextWrapper的getSharedPreferences(),getLocalClassName()定义如下:
Activity.getLocalClassName.jpg 

3.PreferenceManager.getSharedPreferences()
PrefrencesManager.getSharedPreferences.jpg 
这种方式我们是让PreferenceManager给我们维护一个SharedPreference,当然我们可以调用PreferenceManager的API来设置name和mode,并且最终也是调用到ContextWrapper的getSharedPreferences
4.PreferenceManager.getDefaultSharedPreferences(Context context)
PrefrencesManager.getDefaultSharedPreferences.jpg 
这种方式得到的SharedPreference是某个包名下共享的,并且是私有的,不能让其他的包访问,而且Name和mode不能设置。最终也会调用到ContextWrapper的getSharedPreferences
Android SharedPreference使用及原理分析 ** 一、SharedPreference简单使用 ** 问题: 1.如果两个activity都使用同一个sharedpreference,但是第一个activity没有提交,第二个activity提交了,那么会出现什么结果。 2.不同的进程是否可以共享同一个sharedpreference mode: Context.MODE_PRIVATE:只被本地程序读写 ... 阅读详情

相关推荐

Android数据存储————SharedPreference使用及封装

本文主要介绍sharedpreference的基本特征和使用方式,然后将其数据存取方式封装到一个工具类SharedPreferenceUtil中,便于调用。 实例:首次启动欢迎页 存储特点 sharedPreferences是一种轻型的数据存储方式,它的本质是基于xml文件存储key-value键值对数据,通常用来存储一些简单的配置信息。 数据存储方式 存储位置 其存储位置在/data/data...

LuckyDucky的博客 2657

面试:SharedPreference原理及多进程

1、SharedPreference跨进程的使用方式: 在API Level>=11即Android 3.0可以通过Context.MODE_MULTI_PROCESS属性来实现SharedPreferences多进程共享,具体使用方式如下: public class PreferencesUtils { public static String PREFERENCE_NAME = "SharedPreferencesDemo"; private PreferencesUtils(){

王温暖的博客 3564

基于立创EDA的IP5389BZ+IP6829 100W有线15W无线带屏充电宝DIY全流程解析

本文详细解析了基于立创EDA平台,采用IP5389BZ和IP6829芯片DIY一款100W有线快充、15W无线充电并带显示屏的移动电源的全过程。内容涵盖核心功能规划、硬件选型、电路设计、PCB布局、焊接组装、分步调试以及软件逻辑,为电子爱好者提供了一份从原理到实践的完整指南,并重点强调了电池安全与IP6829供电电压等关键注意事项。

weixin_34374684的博客 307

学习笔记(四)SharedPreferences与文件管理

Android系统提供了三种方式来实现数据持久化,即android设备在关机的情况的下,这些数据仍然不会丢失。分别为:文件存储,SharedPreference存储以及数据库存储。先说前两个吧:SharedPreference存储SharedPreference是使用键值对的方式来存储数据,就是当保存一条数据时,需要给数据提供一个对应的键,这样在读取数据的时候可以通过键把相应的值取出来。将数据存储到

BistuSim的博客 842

Ansys Zemax与Speos协同设计:从HUD光学优化到驾驶环境可视化全流程解析

本文深入解析了如何利用Ansys Zemax与Speos进行协同设计,实现从HUD光学系统核心优化到驾驶环境可视化验证的全流程。文章强调了HUD设计是光学性能与视觉感知的深度耦合,通过Zemax进行精密光学设计,再利用Speos进行系统级仿真与感知模拟,最终完成从虚拟到现实的闭环验证,有效提升HUD产品的开发效率与可靠性。

weixin_29199873的博客 251

python爬取巨潮资讯网所有股票年报数据

爬虫获取巨潮资讯网数据

qq_42752524的博客 6119

Android sharepreference槽点及改进方案

1 概述简介 1.1 简介 众所周知,SharedPreferences是一种轻型的Android数据存储方式,它的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息。它的存储位置是在/data/data/<包名>/shared_prefs目录下。SharedPreferences对象本身只能获取数据而不支持存储和修改,存储修改是通过Editor对象实现。比较经典的使用方式例如用户输入框对过往登录账户的存储。 1.2 使用方式 实现SharedPrefe

lzq520210的博客 3796

CTF---Web---文件包含---01

文章目录前言一、题目描述二、解题步骤1.查看源代码2.文件包含(/etc/passwd)3.解码总结 前言 题目分类: CTF—Web—文件包含 一、题目描述 题目:提示寻找passwd文件 二、解题步骤 1.查看源代码 提示所有图片存储路径是download.php?name=img, 此时name参数的存在就提示此题可能为“文件包含”。 2.文件包含(/etc/passwd) 两种查看方式: 2.1、访问view-source:http://192.168.87.180/download.php

qq_22160557的博客 1391

SharedPreference使用

Android SharedPreference

Jun_P的博客 1595

从零开始玩转Franka Panda机器人

本文总结了笔者在学习使用Franka Panda机器人时的一些方法和经验总结。

止于至玄 1万+

基于YOLOv12的牙齿识别与计数系统:从理论到完整实现

本文详细介绍了一种基于YOLOv12深度学习模型的牙齿识别与计数系统。该系统能够在口腔X光片中准确识别和计数牙齿,并提供了用户友好的UI界面。文章涵盖了数据预处理、模型训练、性能优化以及完整系统实现的各个环节,并提供了可复现的代码和数据集参考。整个系统包含三个主要模块:数据预处理模块YOLOv12模型训练模块UI界面展示模块。

YOLO 179

Android SharedPreference详解

SharedPreferences作为一种数据持久化的方式,是处理简单的key-value类型数据时的首选。

轻口味的专栏 2212

别再让 AI 瞎写 SAP 代码了!这套 Claude Code Skill 的验证机制才是关键

本文深入解析了专为SAP CAP开发设计的AI辅助工具sap-cap-capire的技术架构。该工具采用四层设计:协议层集成MCP和LSP实现实时模型访问与语法检查;智能层通过4个专业化Agent(数据建模、服务开发等)分工协作;验证层确保代码质量;知识层存储文档模板。这种工程化设计解决了通用AI在CAP开发中面临的上下文不足、专业性缺失和代码质量保证等核心问题,通过本地化服务和实时反馈机制显著提升了开发效率。

2007 年 ~ 2025 年,深耕 SAP 技术 18 年 882

Android学习笔记——sharedPreference

Android学习笔记——SharedPreference SharedPreference是android上的一种简单的数据存储技术,他采用key-value的存储类型,通常用来存储一些轻量级的数据,如用户上一次设置的音乐音量,上一次设置的背景颜色等等。SharedPreference讲数据存储到一个xml文件中,并存储到应用程序的私有文件夹里。 本文主要从以下几个方面来介绍SharedPr

abbydong的博客 1021

SPSS 多重共线性问题:编程解决方案

多重共线性会导致回归模型的不稳定性,使得估计的回归系数失去解释力,降低模型的准确性和可靠性。通过执行这些代码,你将能够计算和查看VIF和CI的结果,并确定是否存在多重共线性问题。上述代码执行了一个回归分析,其中A是我们感兴趣的因变量,B、C、D和E是我们要检查的自变量。接下来,我们将执行多重共线性的检测。通过执行上述代码,你将能够看到每个自变量的VIF和CI值,以及预先设置的阈值。上述代码将计算VIF和CI的值,并将结果写入指定路径的结果文件中。接下来,我们可以使用以下代码来计算和显示VIF和CI的值。

CyberGenius的博客 1426

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

Android SharedPreference 详解

SharedPreference 是 Android 提供的轻量级的,线程安全的数据存储机制,使用 key-value 键值对的方式将数据存储在 xml 文件中,存储路径为

HJXASLZYY的专栏 1688

蓝牙模块HM-10手册

蓝牙模块HM-10手册,该手册对蓝牙模块HM-10进行了详细的介绍和使用方法以及一些AT指令。

Android中SharedPreference的用法

记性不好,用于自查

weixin_59178995的博客 1158

Devexpress16.2.6破解工具

Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具Devexpress16.2.6破解工具

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

Android数据存储之SharedPreference

Android数据存储之SharedPreference 在android开发中,对数据进行存储的操作可谓随处可见,那么为什么要进行数据的存储?其实无非是从两个大的方面来考虑,首先,对于开发者来说,有效地利用Google提供给我们在开发工作中使用数据存储的方式有利于开发效率的提高,使得开发出的软件在性能上达到优化;其次,对于用户来说,节约流量,能够有较好的体验。 那么Google的大神们给我们在

darkcode007的博客 1316

安卓SharedPreference的详解及总结

这段时间在做一个新的项目,大家都知道项目中必不可少的是数据的存储,今天想讲解的是轻量级的SharedPreference的存储,之所以想写这篇文章是因为在项目的开发过程中在进入app做的数据存储,退出app存储的数据就没了,我就瞬间懵逼,以为自己写的SharedPreference工具类有问题,就一直在断点,断点发现没问题又去看SharedPreference的源码,到最后还是没找到问题的所在....

engineer_zh的博客 2744

android SharedPreference 使用

SharedPreference 读取与保存

流光的博客 1109

安卓学习笔记——数据存储之SharedPreference

Android提供了四种数据存储的方式 SharedPreference:一种常用的数据存储方式,其本质是基于XML文件存储键值对数据,通常用来存储一些简单的配置信息。 SQLite:一个轻量级数据库,支持基本SQL语法,是Android系统中常被采用的一种数据存储方式。 ContentProvider:Android系统中能实现应用程序之间数据共享的一种存储方式。 文件:即常说的文件存储方法,常用于存储数据量比较大的数据,但缺点是更新数据困难。 SharedPreference: 1、SharedPr

fuzhijieabc的博客 2100

Android SharedPreference

在Android开发过程中,Android提供了SharedPreference共享首选项,它的用途就是,用于保存软件配置信息,APP使用过程中,需要用到的配置信息,例如:音量大小等: SharedPreference 共享首选项保存文件的模式选择: MODE_APPEND:追加模式(此模式每一次commit,不会把上一次信息清除) MODE_PRIVATE:私有模式(此模式每一次commit

刘德利优快云博客 512

Android之SharedPreference存储一个对象

思路是采用把对象转化成json 需要Gson的gradle compile 'com.google.code.gson:gson:2.6.2' 把对象转化成json,我这里是List Gson gson = new Gson(); String json = gson.toJson(list) 存储string getSharedPreference

qq_36523667的博客 587

安卓开发数据持久化技术——SharedPreference存储

为了提高开发水平,准备把郭神第二行代码的demo都码一遍并记录下来。此篇文章是:安卓开发数据持久化技术——SharedPreference存储。 废话不多说,直接上代码。package com.hsg.mydemo;import android.content.SharedPreferences; import android.support.v7.app.AppCompatActivity;

zhou_anzhuojinjie的博客 559

安卓用SharedPreference实现记住用户名和密码

1.试验所需要的结果图: 2.实验概要      实验目的          1) 掌握SharedPreference 的使用                        SharedPreferences数据的四种操作模式                             Context.MODE_PRIVATE

bzu123的博客 1536
上一篇: [Android Samples视频系列之ApiDemos] App-Activity-Recreate
下一篇: [Android Training视频系列]1.2 Running Your App
cofftech
博客等级 码龄16年 46粉丝 76原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值