Android之sharepreference总结

Android 中SharedPreferences的详解 一、SharedPreferences 首选项 介绍 存储软件的配置信息 存储的信息:很小,简单的数据;比如:自动登录,记住密码,小说app(返回后再次进入还是 原来看的页数),按钮的状态。 特点:当程序运行首选项里面的数据会全部加载进内容。 二、SharedPreferences的简单使用 1.布局文件中,写入两个按钮,保存到SP,和从SP中获取数据 布局代码的文件就不再写了。 2.看MainActivity的代码,里面有注释详解 package com.example.spdemo; import 阅读详情

SharedPreferences类,它是一个轻量级的存储类,特别适合用于保存软件配置参数。
SharedPreferences保存数据,其背后是用xml文件存放数据,文件存放在/data/data//shared_prefs目录下:
一个简单的存储代码如下:

SharedPreferences sharedPreferences = getSharedPreferences("ysj", Context.MODE_PRIVATE); //私有数据
Editor editor = sharedPreferences.edit();//获取编辑器
editor.putString("name", "ysjcode");
editor.putInt("age", 4);
editor.commit();//提交修改

生成的ysj.xml文件内容如下:

<?xml version='1.0' encoding='utf-8' standalone='yes' ?>
<map>
<string name="name">ysjcode</string>
<int name="age" value="4" />
</map>

分析以下几个方法:
一、getSharedPreferences(name,mode)
方法的第一个参数用于指定该文件的名称,名称不用带后缀,后缀会由Android自动加上;
方法的第二个参数指定文件的操作模式,共有四种操作模式。
四种操作模式分别为:
1. MODE_APPEND: 追加方式存储
2. MODE_PRIVATE: 私有方式存储,其他应用无法访问
3. MODE_WORLD_READABLE: 表示当前文件可以被其他应用读取
4. MODE_WORLD_WRITEABLE: 表示当前文件可以被其他应用写入

二、edit()方法获取editor对象

Editor editor = sharedPreferences.edit();

editor存储对象采用key-value键值对进行存放,editor.putString(“name”, “ysjcode”);
通过commit()方法提交数据

与之对应的获取数据的方法:

SharedPreferences share=getSharedPreferences("Acitivity",Activity.MODE_WORLD_READABLE);

int i=share.getInt("i",0);

String str=share.getString("str","");

boolean flag=share.getBoolean("flag",false);

getString()第二个参数为缺省值,如果preference中不存在该key,将返回缺省值。

如果你想要删除通过SharedPreferences产生的文件,可以通过以下方法:

File file= new File("/data/data/"+getPackageName().toString()+"/shared_prefs","Activity.xml");

if(file.exists()){

file.delete(); 

Toast.makeText(TestActivity.this, "删除成功", Toast.LENGTH_LONG).show(); }

三、访问其他应用中的Preference
如果要访问其他应用中的Preference,必须满足的条件是,要访问的应用的Preference创建时指定了Context.MODE_WORLD_READABLE或者Context.MODE_WORLD_WRITEABLE权限。
举例,假如有个为com.ysj.action下面的应用使用了下面语句创建了Preference,getSharedPreferences(“ysj”, Context.MODE_WORLD_READABLE),
现在要访问该Preferences:
首先,需要创建上面的Context,然后通过Context访问Preferences,访问preference时会在应用所在包下的shared_prefs目录找到preference:

Context otherAppsContext = createPackageContext("com.ysj.action", Context.CONTEXT_IGNORE_SECURITY);
SharedPreferences sharedPreferences = otherAppsContext.getSharedPreferences("ysj", Context.MODE_WORLD_READABLE);
String name = sharedPreferences.getString("name", "");
int age = sharedPreferences.getInt("age", 0);

如果不通过创建Context访问其他应用的preference,可以以读取xml文件方式直接访问其他应用preference对应的xml文件,如:

File xmlFile = new File(“/data/data/<package name>/shared_prefs/itcast.xml”);//<package name>应替换成应用的包名。
Fragment中使用findViewById sharePreference使用 sharepreference的位置 android studio 查看 sharepreference 文件 目录 Fragment中使用findViewById sharePreference使用 sharepreference的位置 android studio 查看 sharepreference 文件 git 下拉代码 Fragment中使用findViewById @Override public View onCreateView(LayoutInflater inflater, @Nullable ViewGroup container, @Nullable Bundl. 阅读详情

相关推荐

sharePreference

封装的一些关于sharePreference的方法

SharePreference原理

SharedPreferences是Android提供的数据持久化的一种手段,适合单进程、小批量的数据存储与访问。因为SharedPreferences的实现是基于单个xml文件实现的,并且,所有持久化数据都是一次性加载到内存,如果数据过大,是不合适采用SharedPreferences存放的。而适用的场景是单进程的原因同样如此,由于Android原生的文件访问并不支持多进程互斥,所以SharePreferences也不支持,如果多个进程更新同一个xml文件,就可能存在同不互斥问题。 SharedPref

Android 4298

PyGPT:桌面AI助手整合大模型与本地知识库,打造高效工作流

大语言模型(LLM)通过理解和生成自然语言,正深刻改变人机交互方式。其核心原理是基于海量数据训练的Transformer架构,能够根据上下文进行预测和生成。这一技术价值在于将强大的AI能力平民化,广泛应用于代码生成、文档分析、创意写作和智能问答等场景。通过API调用云端模型或本地部署开源模型,开发者可以构建个性化的AI应用。本文聚焦于PyGPT这一桌面AI助手,它巧妙地将ChatGPT、Claude、Gemini等主流大模型与LlamaIndex、Ollama等本地化工具整合,实现了聊天、文件分析、代码解释

weixin_28679635的博客 437

全面掌握SharePreferences

全面掌握SharePreferences  一、SharePreferences是什么?       1、当程序中有少量的数据保存,而且这些数据的格式简单:都是一些字符串、标量类型的值等。比如应用程序的各种配置信息,应用程序的使用次数。这个时候就可以用SharePreferences对象保存,SharePreferences的数据总保存在/data/data//shared_prefs

UStory的专栏 900

pi-star图形界面安装指南

pi-star图形界面安装指南,MMDVM热点安装,树莓派3B+热点

blueisman的专栏 1909

基于知识图谱的智能工作流引擎

随着大数据和人工智能技术的快速发展,企业和组织对数据的依赖程度日益增加。为了更好地管理和利用这些数据,知识图谱逐渐成为一种重要的工具。知识图谱不仅能够以结构化的方式表示复杂的知识,而且能够通过推理和查询提供深层次的信息。然而,如何将知识图谱应用于实际业务场景中,尤其是如何构建智能工作流引擎,仍然是一个具有挑战性的问题。智能工作流引擎是一种能够自动化执行复杂业务流程的系统,它可以通过对业务规则和数据的分析,自动生成和优化工作流,从而提高工作效率和准确性。

AI天才研究院 1871

SharedPreferences简单使用

SharePreference是android的一种轻量级的数据存储工具。 一般用于保存短信、用户账号资料、联系人等。 其以键值对的方式存储程序的应用信息。 其只能存储基本的数据类型:boolean、float、int、long、String。 其以XML文件的形式保存在/data/data/程序包名/shard_prefs。 其基本使用很简单,效果图如下: 主要用到的类:SharePrefer...

New_Bird 585

保研考研机试攻略:python笔记(4)

保研考研机试攻略:python笔记(4)二分法+最大公约数+最小公倍数+素数判断+幂次方mod方法+匹配问题+哈希算法+哈夫曼编码+二叉树

qq_63349644的博客 1097

Android sharepreference槽点及改进方案

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

lzq520210的博客 3795

MoveIt 运动学、运动规划、混合规划、move_group

混合规划是运动规划方法的一个术语,它将异构运动规划器结合起来,以产生更稳健或反应更快的解决方案。这种通用方法在导航领域已经非常成熟,并在导航2等流行项目中成功实施。MoveIt 的混合规划架构结合了一对全局规划器和局部规划器,它们以不同的规划速度和问题范围并行、并发运行。全局规划器的任务是解决全局运动规划问题,这与 “感知-规划-行动 ”应用中使用的规划器非常相似。所使用的规划器算法应该是完整的,因此假定其计算时间相对较慢。此外,全局规划器不要求实时安全,这意味着无法保证规划器在特定期限内找到解决方案。

机器人控制与仿真应用 2131

Python电商网站全站爬虫实战:以京东为例的数据采集与分析

随着电子商务的蓬勃发展,电商数据已成为市场研究、竞争分析和消费者行为研究的重要资源。本文详细介绍了如何使用Python最新技术栈构建一个高效的电商网站全站爬虫,以京东为例实现商品数据的自动化采集。文章涵盖了爬虫的法律与伦理考量、技术选型、反爬虫策略应对、分布式架构设计以及数据存储方案,并提供了完整的代码实现。本爬虫系统采用Scrapy-Redis分布式框架、Selenium动态渲染、智能代理轮换和机器学习验证码识别等先进技术,能够稳定高效地抓取京东全站商品数据,为电子商务研究提供数据支持。关键词。

2201_76125261的博客 414

【Android】SharePreference原理

SharePreference作为轻量级应用偏好持久化存储API,可以简单存储一些key-value值,其实现是基于file系统,在应用data/xxx/shared_prefs路径下,保存了xml文件,而实现存储。本文,基于SharePreference的基本使用,到其内部实现,做一个简单介绍。

qq_40900926的博客 1313

【软件定义汽车】-【架构篇】-全面讲解整车电子电气架构演进

前言: 前段时间,陆陆续续写了一些电子电气架构相关的文章。这里打算再写最后一篇作为收尾,为整个系列画上句号,把坑填上,这个话题就算过去了。后续一段时间,尽量把之前文章中挖的“坑”填一下。行文逻辑将借鉴5W2H进行。 另外,本文作为一篇整合性的文章,为保证逻辑的完整性,主要是将大量过去自己文章中的内容进行梳理整合,也存在很多行业内专家的公开文章的内容,请见谅。 WHAT1:什么是汽车电子电气架构? 电子电气架构:EEA,Electrical/Electronic Architecture.

零点壹客的博客 1万+

Android SharePreference详解

什么是SharePreference? 官网的解释: The SharedPreferences class provides a general framework that allows you to save and retrieve persistent key-value pairs of primitive data types. You can use SharedPre

欢金子的博客 670

【目标检测】全局上下文感知的详解

目标检测中的全局上下文感知(Global Context Awareness)​是指模型在定位和识别目标时,能够有效利用图像中全局或大范围的上下文信息(如场景语义、目标间关系、空间布局等),而不仅仅依赖局部特征。这种能力显著提升了检测的鲁棒性,尤其是在复杂场景(如遮挡、小目标、密集目标)中表现突出。

浩瀚之水的专栏 644

假人有限元模型

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

Android SharePreference 总结

SharePreference 做为Android应用程序中经常用到的数据持久化一种手段,总共有两部分数据,分别是: 1 内存级缓存 2 文件缓存 xml形式存储,内部key-value结构 内存级缓存主要是为了提高数据的读取速度,文件缓存才是真正的数据存储 1 数据的存储过程: 按照写文件时同步存储和异步存储 分为 同步commit() 和 异步apply()两种, 具体的流程...

林哥的博客 1687

计算机控制技术及应用

《计算机控制技术及应用》通过总结作者的科研成果和吸收国内外的先进理论、方法和技术,以计算机控制系统的网络化、开放化、智能化和集成化发展趋势为主线索,主要介绍计算机控制系统的基本概念和计算机控制系统的典型形式,计算机控制系统的数学描述与基本分析方法,以及数字PID控制器、最少拍控制系统、达林算法、状态变量设计法等设计方法及其各种改进算法。重点突出计算机控制系统输入输出通道接口的设计方法和典型控制系统的设计案例与实现方法等。

android中SharePreference的使用

前段时间项目中用到了进程间的通信,用到了之前的SharePreference结果会导致获取脏数据的问题,因此觉得有必要写下SharePreference的使用。前言因为SharedPreferences在SDK2.3 之前是默认的,确实可以通过设置MODE_MULTI_PROCESS实现多进程访问,SDK2.3之后就需要手动设置,但是这个标志在 SDK6.0 的时候已经被Deprecated,And

stormCoder的博客 8285

NTscan扫描工具

ntscan是一个扫描器,可以扫描没有密码和弱密码的共享,先到配置文件中填写猜测的用户名和密码,扫描过程中右侧出现的是扫描日志。

efm32 入门.pdf

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

Android中SharePreference的使用

Android有四种方式: SharePreference轻量级键-值方式存储,以XML文件方式保存。文件采用java.io.*库所提供有I/O接口,读写文件。SQLit数据库SQLite是轻量级嵌入

wcqlwyt的博客 289

Android sharepreference 简单的使用

SharePreference  是一个轻量级的存储机制。只能存储一些基础类型,boolean,Int,float,Long,String。   以xml文件为载体。路径为data/data/包名/share_prefs/文件名.xml   存储的时候类似于Map,key-Value值对.   存放数据的时候需要调用到SharePreference接口的一个ed

siyehua的专栏 866

安卓学习笔记---如何保存数据到SharePreference里面,获取所有sp文件以及删除文件

最近使用到了SharePreference保存数据,并删除的功能,我们知道SP保存的文件是存放在/data/data/包名/shared_prefs文件夹下 一般的我们可以这么做 1.创建文件,保存信息     SharedPreferences sp=getSharedPreferences("book",MODE_PRIVATE);      Editor ed

紫色飞鱼儿的博客 5059

android软件存储位置,Android应用开发之建立的SharePreference的存储位置

本文将带你了解Android应用开发之建立的SharePreference的存储位置,希望本文对大家学Android有所帮助关于Direct Boot Mode[DBM]介绍可以参考如下文章http://blog.youkuaiyun.com/huluboy/article/details/53397582一般应用的SharePreference保存在/data/data/[package name]...

weixin_34230075的博客 1164

android--存储之SharePreference

SharePreference提供一些基础的信息存储功能,所有的信息都是按照“key  = value”的形式进行保存,但是android.content.Sharepreference借口所保存的信息只能是一些基本数据类型,如字符串,整形,布尔型等... 保存的文件保存在\data\data\\shared_prefs\目录下面。 示例如下: public void SaveData()

期待 1万+

android SharePreference 的使用

//SharePreference 文件的写入public class SharePreferenceUtils { public synchronized static void  save(Map&lt;String, String&gt; items,Context context) { if(items == null || items.size() == 0) return; Sh...

liufeifeinanfeng的博客 396

Android学习笔记(6)——用SharePreference存储数据

搬运自本人技术博客:xge技术博客 原文链接:http://www.xgezhang.com/android_sharepreference.html Sharepreference是Android程序中常用的数据存储方式。其本质就是一个xml文件,用于存储少量的,一般是配置文件一类的数据,其特点是简单方便。这里简单介绍一下使用方法,还是以一个示例程序为例,这里直接上界面和代码:

xge的专栏 1476

Android 用sharepreference在各个程序之间共享数据

Android 用sharepreference在各个程序之间共享数据

病毒才俊 652

android sp保存对象,SharePreference技巧之保存一个对象

在Android中我们经常需要持久化保存数据,这时可以使用文件,SharePreference,以及SQLite等。如果我想保存一个对象呢?有些人会立马想到用orm框架,但是我可能不想依赖这个框架。实际上如果数据量不大,用SharePreference可能会更适合。我们完全可以自己实现一个SharePreference版的持久化保存对象的工具类。直接看代码public class SpUtils ...

weixin_39637920的博客 997
上一篇: Android SQLiteOpenHelper使用
下一篇: Uri中ContentValues的用法+Android中ContentProvider总结
特卡波007
博客等级 码龄11年 5粉丝 28原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值