[Android Training视频系列]6.1 Saving Key-Value Sets

100天精通Python(爬虫篇)——第122天:基于selenium接管已启动的浏览器(反反爬策略) 阅读详情
1.主要内容

本小节介绍SharedPreference相关API的使用

  • 获取SharedPreference的Handle
  • 写Shared Preference
  • 读Shared Preference

2.视频讲解
http://www.eyeandroid.com/thread-11495-1-1.html

3.翻译参考

来自:http://blog.youkuaiyun.com/kesenhoo/article/details/8238014

Saving Key-Value Sets

如果你有一个相对较小的key-value集合需要保存,你应该使用SharedPreferences APIs。 SharedPreferences 对象指向了一个保存key-value pairs的文件,并且它提供了简单的方法来读写这个文件。每一个 SharedPreferences 文件都是由framework管理的并且可以是私有或者可分享的。

这节课会演示如何使用 SharedPreferences APIs 来存储与检索简单的数据。

Note: SharedPreferences APIs 仅仅提供了读写key-value对的功能,请不要与 Preference APIs相混淆。后者可以帮助你建立一个设置用户配置的页面(尽管它实际上是使用SharedPreferences 来实现保存用户配置的)。如果想了解更多关于Preference APIs的信息,请参考Settings 指南。

Get a Handle to a SharedPreferences [获取SharedPreference的Handle]

你可以通过下面两个方法之一来创建或者访问shared preference 文件:

  • getSharedPreferences() — 如果你需要多个通过名称参数来区分的shared preference文件, 名称可以通过第一个参数来指定。你可以在你的app里面通过任何一个Context 来执行这个方法。
  • getPreferences() — 当你的activity仅仅需要一个shared preference文件时。因为这个方法会检索activitiy下的默认的shared preference文件,并不需要提供文件名称。

例如:下面的示例是在 Fragment 中被执行的,它会访问名为 R.string.preference_file_key 的shared preference文件,并使用private模式来打开它,这样的话,此时文件就仅仅可以被你的app访问了。

Context context = getActivity();
SharedPreferences sharedPref = context.getSharedPreferences(
        getString(R.string.preference_file_key), Context.MODE_PRIVATE);

当命名你的shared preference文件时,你应该像 "com.example.myapp.PREFERENCE_FILE_KEY" 这样来命名。

当然,如果你的activity仅仅需要一个shared preference文件时,你可以使用 getPreferences()方法:

SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
Caution: 如果你创建了一个 MODE_WORLD_READABLE 或者 MODE_WORLD_WRITEABLE 模式的shared preference文件,那么任何其他的app只要知道文件名,则可以访问这个文件。

Write to Shared Preferences [写Shared Preference]

为了写shared preferences文件,需要通过执行 edit() 来创建一个 SharedPreferences.Editor。

通过类似 putInt() 与 putString()方法来传递keys与values。然后执行 commit() 来提交改变。[后来有建议除非是出于线程同步的需要,否则请使用apply()方法来替代commit(),因为后者有可能会卡到UI Thread.]

SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
SharedPreferences.Editor editor = sharedPref.edit();
editor.putInt(getString(R.string.saved_high_score), newHighScore);
editor.commit();

Read from Shared Preferences [读Shared Preference]

为了从shared preference中检索读取数据,可以通过类似 getInt() 与 getString()等方法来读取。在那些方法里面传递你想要获取value对应的key,并且提供一个默认的value。如下:
SharedPreferences sharedPref = getActivity().getPreferences(Context.MODE_PRIVATE);
long default = getResources().getInteger(R.string.saved_high_score_default));
long highScore = sharedPref.getInt(getString(R.string.saved_high_score), default);



华为MetaERP月结加速方案:并行关账技术深度解析 【摘要】华为MetaERP并行关账技术通过创新架构设计,将传统串行月结流程(8-12小时)优化为并行执行(2-4小时)。关键技术包括:1)基于DAG引擎的任务依赖分析,实现模块/子任务三级并行;2)Saga模式分布式事务保障数据一致性;3)动态资源分配算法提升CPU利用率至60-80%。实施效果显示月结时间缩短70%,成功率提升至99.8%,错误恢复时间减少75%。该方案为大型企业ERP系统提供了高效的月结加速方案,未来还将结合AI调度与混合云扩展持续优化。 阅读详情

相关推荐

基于LTspice的共模电感差模/共模插入损耗仿真指南

在电源与EMC设计领域,插入损耗是衡量滤波器件抑制噪声能力的核心指标。共模电感作为EMI滤波器中最常见的元器件之一,其差模与共模插入损耗特性直接影响整体滤波方案的合规性。然而,仅依赖规格书曲线往往难以覆盖真实应用中的阻抗条件,借助SPICE仿真工具进行电路级验证已成为工程师常用的手段。LTspice凭借其轻量、高效的交流分析能力,能够帮助设计者快速搭建共模电感等效模型,并通过调整耦合系数、寄生电容等参数,还原漏感与谐振行为。本文以Wurth Elektronik的WE 744821201型号为例,从基本测试

weixin_27252001的博客 293

【Android Training - 04】保存数据 [ Lesson 1 - 保存Key-Value]

Saving Key-Value Sets 如果你有一个相对较小的key-value集合需要保存,你应该使用SharedPreferences APIs。 SharedPreferences 对象指向了一个保存key-value pairs的文件,并且它提供了简单的方法来读写这个文件。每一个 SharedPreferences 文件都是由framework管理的并且可以是私有或者可分

迁移到http://hukai.me 2323

TC3xx芯片SPI多从机通信避坑指南:AUTOSAR框架下的DMA配置与片选切换

本文针对英飞凌TC3xx芯片在AUTOSAR框架下实现SPI多从机通信的实战难题,提供了详尽的避坑指南。重点解析了如何利用硬件支持的16路片选(SLSO)灵活切换,在AUTOSAR中正确配置不同时序的从设备,并深入探讨了异步模式下DMA的启用条件与关键配置细节,帮助开发者规避通信失败风险,提升系统可靠性。

nn3456的博客 153

localStorage----客户端永久存储数据的方法

HTML5 提供了两种在客户端存储数据的新方法: localStorage - 没有时间限制的数据存储 sessionStorage - 针对一个 session 的数据存储 之前,这些都是由 cookie 完成的。但是 cookie 不适合大量数据的存储,因为它们由每个对服务器的请求来传递,这使得 cookie 速度很慢而且效率也不高。 在 HTML5 中,数据不是由每个服务器请求传递的,而是

一心一意码代码 3411

【任何电机可使用的七段式s曲线-----包括matlab代码和simulink仿真】

S形加加速(T1)→>匀加速(T2)→减加速(T3)→>匀速(T4 )>加减速(T5)>匀减速(T6)-→>减减速(T7)

weixin_44312889的博客 6310

oracle p6 破解版下载,Primavera P6项目管理软件 16~17 图文详细安装教程(附下载)

Primavera P6 Professional项目管理软件结合了Oracle和Microsoft SQL Server关系数据库,是一款非常好用且功能强大的综合的项目管理软件(PPM) 解决方案,主要用于土建等方面的施工计划分析,具有进度时间安排与资源控制功能的多用户、多项目系统,支持多层项目分层结构、角色与技能导向的资源安排、记录实际数据、自定义视图以及自定义数据,本文主要为大家图文详细介绍...

weixin_33978451的博客 4922

Android中(java)读取以key=value形式保存在txt等文本文件的数据

最近业务上用到了天气查询接口,因为输入源仅有城市名称,接口需要用到的是城市代码,为了实现功能,以key=value形式把全部城市和代码持久化到了本地txt文件。这是用StringTokenizer(虽然这是一个遗弃类,但是对于小萌新来说还是挺不错的)做的一个功能函数读取txt中的key=value保存到map集合返回:public Map readKeyValueTxtToMap() {

禤永豪 3726

智能车图像处理0-图像处理整体框架思路

1.总体框架如上所示,具体代码请查看后续文章。2.因为参与竞赛时间是大二,所以在编程中有许多不规范的地方(如变量的命名),大家见谅。3.原创文章,请勿侵权=-=

taiyuezyh的博客 1万+

PowerShell 2.0安装原理与企业级部署实战指南

PowerShell是Windows原生自动化管理框架的核心组件,其2.0版本标志着从cmd到面向对象脚本范式的重大演进。它并非独立应用,而是深度集成于Windows内核、WMI服务与.NET Framework的系统级功能模块,依赖特定注册表键值、服务状态及数字签名验证链才能正常运行。该版本的技术价值在于为老旧生产环境(如Windows Server 2008 R2、Win7 Embedded)提供稳定、可审计的远程管理与批量运维能力,广泛应用于金融后台、工业控制、医保平台等强兼容性要求场景。理解其嵌入式

weixin_33795806的博客 537

计算机视觉教程1-1:透视空间与透视变换

在生活中,透视现象很常见,其物理本质是光的直线传播。由于人眼与相机在捕获图像时均存在透视现象,因此计算机几何基于透视空间进行研究。本节介绍透视变换原理

FRIGIDWINTER的博客 3092

鸿蒙开发实战项目(九十二):HUAWEI Health血压测量

是华为开发的用于运动健康领域的一个开放平台, 三方APP可以借助HUAWEI Health开放平台提供的。

斌擎科技 1133

Android数据保存之一——保存Key-Values对

可以用SharedPreferences API存储键值对,并且提供了简单的访问方法,还可以控制SharedPreferences文件的访问权限。 下面介绍SharedPreferences API的使用方法。 得到一个SharedPreferences对象 用以下方法得到或创建一个SharedPreferences文件对象 getSharedPreferences() — Use

RO_wsy的专栏 3344

AI产品经理面试宝典第94天:RAG知识库构建与预处理策略面试指南

本文深入解析RAG知识库构建的核心挑战与预处理策略,涵盖文档格式转换、问答对生成及自动化测试全流程,为AI产品经理提供面试必备的实战方法论与避坑指南,助你精准应对技术深度类问题。

打造全国最全的AI Agent开发知识领域的博客 312

深入剖析Android中最简单的数据存储方式:SharedPreferences

一. 使用SharedPreferences存储数据 使用 SharedPreferences 保存key-value对的步骤一般是这样: 使用Activity类的getSharedPreferences方法获取到 SharedPreferences 对象,指定文件名和访问权限 获得SharedPreferences.Editor对象,并使用该对象的 putXxx方法保存key-value对。 通过SharedPreferences.Editor的commit方法保存(提交)key-value对。

累计发表博客60余万字,优快云 博客专家、Java 领域优质创作者、华为云享专家、阿里云专家博主。专注分享 Java 优质文章,毕设实战项目开发,全网粉丝10W+ 2681

数学建模模型总结

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

NTscan扫描工具

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

从Context获取Activity

ActivityManager am = (ActivityManager) context.getSystemService(Activity.ACTIVITY_SERVICE); List taskInfo = am.getRunningTasks(1); ComponentName componentInfo = taskInfo.get(0).topActivity;

十三邵的专栏 4109

jre9下载 jdk9

(Java SE Runtime Environment 9.0) 9.0u175 官方最新版 【x86|x64】

Android4.4.4相机,极限优化修改版,做最好的原生相机

1、图库和相机分离,PNG减肥,精简体积约5MB 2、支持X86、ARM、MIPS内核处理器。 3、支持32位、64位处理器,不限品牌。 4、提升启动相机速度。 5、提升相机对焦速度。 6、降低摄像头闪烁频率,以降低发热量。 7、支持Android 4.0—4.4、Android L系统。 8、支持ART模式。 9、默认增加1%的HDR效果,提升弱光拍照效果。 10、降低jpg压

1360

怀旧版电脑GBC模拟器

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

Android学习进阶路线Android源码分享)

毕业8月有余,同时伴随着从事的Android经验的提升。仔细思量过去的工作内容,掐指算来也是少得可怜---主要维护FM收 音机模块,间或看看Lancher模块的代码。尽管这样,总的来说,在这八个月事件的学习里,我自我感觉收获还是很大的---自学了很多 Android相关方面的知识。虽然里真正的大牛还有很远的一段路程要走,自己也会坚持学习、坚持走下去。            再次,把自己学习

1198

[Android Training视频系列]2.2 Pausing and Resuming an Activity

1.主要内容 本讲介绍onPause和onResume,主要分析了在onPause函数中应该执行哪些操作。 2.视频讲解 http://www.eyeandroid.com/thread-11291-1-1.html 3.翻译参考 在正常的程序使用中,处于前台运行的activity有时会被另外一些可见的组件遮挡,从而造成activity被暂停。比如,一个半透明的activit

861

[Android Training视频系列]1.4 Starting Another Activity

1.主要内容 本小结在1.3节的基础上,继续完善代码,会书写Button响应事件,在响应事件中新建一个Intent去启动另外一个Activity。 2.视频讲解 http://www.eyeandroid.com/thread-11210-1-1.html 3.翻译参考 Respond to the Send Button-响应Send(发送)按钮 响应按钮

807

[Android Training视频系列] 8.2 Managing Audio Focus

由于很多应用程序都可以播放音频,因此在播放前考虑它们如何交互就显得很重要了,为了避免同时出现多个声音,Android使用音频焦点(AudioFocus)来控制音频的播放 - 仅仅是获取到Audio Focus的应用程序才能够播放音频。 在应用程序开始播放音频之前,它需要经过发出请求[request]à接受请求[receive] à音频焦点锁定[AudioFocus]的过程。同样它需要知道如何监听音频焦点的丢失并进行合适的响应。

802

[Android Training视频系列]1.1 Creating an Android Project

1.主要内容 本小节介绍如何创建一个Android Project,分别从Eclipse和命令行的方式来创建了默认的Android Project 2.视频讲解 http://www.eyeandroid.com/thread-10472-1-1.html 3.翻译参考 1.使用Eclipse创建项目 2.使用命令行创建项目 创建安卓项目

713

[Android Training视频系列]2.3 Stopping and Restarting an Activity

1.主要内容 本小节介绍onStop与onRestart以及onStart的使用,通过本讲我们能学会应该在onStop与onStart里面执行什么样的操作。 2.观看视频讲解 http://www.eyeandroid.com/thread-11346-1-1.html 3.翻译参考 停止与重启Activity 在activity生命周期中,恰当的停止与重启ac

703

[Android Training视频系列]2.4 Recreating an Activity

1.主要内容 本讲讲解onSaveInstanceState与onRestoreInstanceState的使用。 2.视频讲解 http://www.eyeandroid.com/thread-11391-1-1.html 3.翻译参考 存在一些情况,由于普通的程序行为,你的activity会被销毁,比如,当用户点击Back按钮,或者自己调用finish()方法。另外,如果

700

[Android Training视频系列] 6.3 Saving Data in SQL Databases(保存数据到SQLite)

一 主要内容 1.概述 2.定义Schema与Contract 3.使用SQL Helper创建数据库 4.向数据库添加信息 5.从数据库中读取信息 6.删除数据库中的信息 7.更新数据库中的信息 二 翻译转载 对于重复或者结构化的数据(如联系人信息)等保存到DB是个不错的主意。这节课假定你已经熟悉SQL数据库的操作。在Android上可能会使用到的APIs,可以从a

698

[Android Training视频系列] 8.1 Controlling Your App’s Volume and Playback

主要内容: 1 鉴别使用的是哪个音频流 2 使用物理音量键控制应用程序的音量 3 使用物理播放控制键来控制应用程序的音频播放

681
上一篇: [Android Training视频系列]2.4 Recreating an Activity
下一篇: 【Android您问我讲】如何使用选显卡 - Tabhost的使用
cofftech
博客等级 码龄16年 46粉丝 76原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值