位置: 编程技术 - 正文

在偏好文件中存储数据(在文件中偏移量为)

编辑:rootadmin

推荐整理分享在偏好文件中存储数据(在文件中偏移量为),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:在偏好文件中存放什么,在偏好文件中存放什么,偏好显示的途径有,偏好显示的途径有,在偏好文件中存放的文件,偏好显示的途径有,偏好设置文件已损坏或无效,在偏好文件中存放的文件,内容如对您有帮助,希望把文章链接给更多的朋友!

SharedPreferences对象使用常规的XML文件来存储数据,这些文件存储在应用程序的数据目录内。该XML文件的结构很简单,因为它只允许存储键/&#;对,不过Android API还提供了非常方便的抽象,允许开发者以类型安全的方式读写数据。

创建SharedPreferences对象最简单的方式是使用PreferenceManager.getDefaultSharedPreferences()方法,它会返回应用程序默认的偏好对象。使用该方式来存储主要的偏好设置很方便,因为框架会自动管理好文件名。但是,如果应用程序有多个偏好文件,最好使用Context.getSharedPreference()方法,它允许开发者自由地命名文件。如果只是创建和Activity相关的偏好文件,可以使用Activity.getPreference()方法,它会在调用时得到Activity的名字。

PreferenceManager.getDefaultSharedPreferences()创建的偏好文件名是由包名以及后缀_preferences组成的,如com.liyuanjinglyj.code_preferences。虽然很少需要这个名字,但如果要实现文件备份代理该名字就很重要。

SharedPreferences支持的存储&#;的类型有int,float.long.boolean,String以及set<String>对象。键名必须是一个有效的字符串,常见的做法是使用点符号按组结构化多个键&#;。

例如,如果偏好文件包含用于网络配置以及用户界面设置相关的&#;,可以通过为每个键添加network或者ui前缀来把它们分组。通过该方式,开发者可以轻松的管理键/&#;对,避免命名冲突。下面的例子演示了如何通过使用前缀并在单独的Java接口文件中定义键来结构化偏好数据:

在偏好文件中存储数据(在文件中偏移量为)

推荐使用上面的方法访问存储的偏好&#;,而不是把键名硬编码在代码中。这样做可以避免误拼写,从而减少由于拼写导致的bug。

下面的代码演示了使用之前定义的Constants类来访问偏好文件:

要修改存储在偏好文件中的&#;,首先需要获取Editor实例,它提供了相应的PUT方法,以及用于提交修改的方法。在Android2.3之前,通过使用commit()方法把修改同步提交到存储设备中。但在2.3版本中,Editor提供了用于异步执行写操作的apply()方法。因为要尽可能地避免在主线程执行阻塞的操纵,apply()方法比之前的commit()方法更好。这使得在主线程直接从UI操作更新SharedPreferences很安全。

上面的代码显示了使用点击监听器来切换存储在Constants.NETWORK_WIFI_ONLY中的偏好&#;。如果使用之前的commit()方法,主线程可能会被阻塞,导致用户体验差。使用apply()方法就不需要担心上面的问题。

在同一个进程中,每个偏好文件都只有实例。所以即便从二个不同的组件使用相同的名字获取二个SharedPreference对象,它实际上还是共享同一个实例,所以对于一个对象的改变会立即影响到另一个对象。

为了能在偏好&#;被修改的时候收到通知,开发者需要注册一个监听器回调函数,每当调用apply()或者commit()方法时都会触发该监听器回调函数。最常见的例子是,在Activity中修改偏好&#;应该影响后台Service的行为,如下所示:

【Android开发】 如何隐藏ListView的滚动条? setScrollbarFadingEnabled(true);Definewhetherscrollbarswillfadewhentheviewisnotscrolling.不活动的时候隐藏,活动的时候显示;setVerticalScrollBarEnabled(true);不活动的时候隐藏

Android下基于权限的恶意软件检测系统——APK Auditor APKAuditor:Permission-basedAndroidmalwaredetectionsystem,DigitalInvestigation(SCI,IF=0.),年6月[1

可扩展的android重打包工具 今天看了一下当初的打包工具。学习了点技术。然后git上找了个相的工程代码研究了一下。觉得制作一个脚本语言的工具会快很多。而程序员很多时候

标签: 在文件中偏移量为

本文链接地址:https://www.jiuchutong.com/biancheng/384316.html 转载请保留说明!

上一篇:如何在Android studio中同时打开多个工程?(如何在android studio中导入其他包)

下一篇:【Android开发】 如何隐藏ListView的滚动条?(android开发范例实战宝典)

  • 所得税费用的计提
  • 应收账款逾期未收回账务处理
  • 所得税申报资产不允许为0?
  • 固定资产盘盈为什么计入盈余公积
  • 分期付款购买商品的会计分录
  • 个人所得税怎么算公式是什么
  • 分公司可以参股其他公司吗
  • 研发费用在企业所得税中怎么扣除
  • 客户未付关税是否可以申请晚交
  • 未开票收入已缴税额怎么入账
  • 发票额开多了多出的金额怎么处理?
  • 接受投资款尚未工商变工账务怎么做处理?
  • 库存商品盘盈盘亏表
  • 股票收入要交所得税吗
  • 一般纳税人开普票要交税吗
  • 公司的企业所得税和个人所得税
  • 公司购买茶叶应计入哪里
  • 土地使用税计税依据及计算方式
  • 委托贷款利息收入需要缴纳增值税么
  • 企业收到保险公司的赔款
  • 民间非营利组织会计制度会计科目
  • 家里的无线网连着连着就断了
  • 宝塔linux面板 7.5.2 腾讯云专享版
  • win7系统咋样
  • 打开进程失败
  • 存货报废会计分录例题
  • 卡格拉河
  • php pdo连接sqlserver
  • 股权置换和股权转让
  • 未开票收入申报对企业有什么影响
  • 自产产品对外捐赠销项税额怎么计算
  • 稚晖君的学历
  • PHP模拟http请求的方法详解
  • 工程代建的性质
  • 车船税是不是车损
  • 开具培训类发票需要哪些条件?
  • 微擎最新破解版
  • 出口退税未按期申报怎么办
  • 织梦文章标题显示不全
  • python3 tcp
  • 企业所得税预缴少缴纳了,需要交滞纳金吗?
  • 销售费用工资是什么科目
  • 小规模纳税人起征点变化历程
  • 变更税务法人需提供银行流水吗
  • access china
  • SQL2008中通过DBCC OPENTRAN和会话查询事务
  • mysql的密码忘了
  • 一般纳税人怎么开3个点普票
  • 基建并账时用交付使用资产对冲基建拨款
  • 企业所得税年度纳税申报表A类
  • 收到退回的文化事业建设费会计分录
  • 财务挂账应该怎么做账
  • 原材料属于固定资本还是流动资本
  • 固定资产报废废料收入要发票吗
  • 加权平均净资产收益率公式
  • 开具增值税专用发票含税吗
  • 网银转账被退回来了
  • 公司现金支票取现要缴税吗
  • sql not in 与not exists使用中的细微差别
  • mysql批量更新多条数据
  • MySQL-group-replication 配置步骤(推荐)
  • win8系统中断怎么解决
  • macbookair网页视频看不了
  • fedora安装中文语言包
  • vmware vnc连接
  • 常用的网络操作命令
  • window10怎么启用net 3.5
  • OS X Yosemite系统下载失败怎么办?OS X 10.10下载错误解决方法
  • win11连接win7共享打印机
  • win7打开文件总是询问
  • javascriptdom编程
  • cocos2d教程
  • ogre 引擎
  • python获取当前地址
  • python 很简单
  • jquery中绑定和解绑的事件有哪些
  • android系统虚拟机
  • jQuery Ajax 加载数据时异步显示加载动画
  • 河南商丘医疗保险在微信上怎么交
  • 无锡税务举报网站
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设