`
158067568
  • 浏览: 329728 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

SharedPreferenced

阅读更多

 

SharedPreferenced

作者:LEGEND

qq158067568

SharedPreferenced作用

Windows中,配置文件通常存储在ini文件中。

j2se程序中,配置文件通常存储在properties文件中。

Android中,,配置文件通常通过SharedPreferenced存数参数。

SharedPreferenced类(以下简称sp)是一个轻量级的用于存储数据的类,通常用来存储一些软件的参数。sp通过Android提供的pull技术,将各参数存储在xml文件中。但是该文件对于用户来说是透明度。该xml的位置在:/data/data/<package name>/shared-prefs目录下

SharedPreferenced使用

得到sp对象:

 SharedPreferences  sp = Context.this.getSharedPreferences("文件名",文件模式);

       文件名:xml文件的名称。

       文件模式:其实这就是建立文件的四种模式privateappendreadablewriteable这四种。

得到Editor对象,用于编辑sp对象:

Editor editor =sp.edit();

sp对象本身只提供了读取各种属性的功能,而并没有提供写入对象的属性。如果想向xml文件中写入数据,还要通过以上方法创建Editor对象,其提供了如

putFloat(String key, float value)

putInt(String key, int value)

putBoolean(String key, boolean value)

       putString(String key, String value)

等方法,其实用与Bundler类很像,都类似于map,为一个键值对。

Editor中有一个非常重要的方法:

       abstract boolean commit()

该方法是所有putxx()方法用完之后必须添加的方法,该方法类似于事务处理,如果之前有错误,则不执行以上所有的语句,如果没有,则一起执行。

Activitysp对象的简单得到方法:

上面提到的sp对象的创建方法自己提供了xml文件名,AndroidActivity类中还提供一种使用Activity类名作为xml文件名的得到sp对象的方法:

SharedPreferences getPreferences(int mode)

该方法只需用户提供文件类型即可。

其他应用程序中访问本应用程序的xml资源;

开发中很少会访问其他应用程序的xml文件。其实只要待访问的xml文件首先不是private的,并且得到了xml文件所在应用程序的上下文引用,则可以访问该文件。

得到已知包名的上下文引用的方法是:

createPackageContext(String packageName, int flags);

       packageName为待访问应用程序的包名

       flags只有两种参数可选 CONTEXT_INCLUDE_CODE or CONTEXT_IGNORE_SECURITY.

访问代码如下:

Context con = this.createPackageContext("cn.edu.huet.zcl", CONTEXT_IGNORE_SECURITY);

有了该引用之后,就与在自己应用程序内操作一样了,值得注意的是:xml文件所在应用程序在创建该应用程序是,需要是非private的,其他应用程序才能访问。

代码:

SharedPerferencedTest

 

 

分享到:
评论

相关推荐

    java_提供App数据清理工作的类_清除内外部缓存数据_SharedPreferenced数据

    一些工具类代码块的标准代码: 清除本应用内部缓存数据 清除本应用外部缓存数据 清除本应用所有数据库 清除本应用SharedPreference 根据名字清除本应用数据库 清除本应用files文件 清除本应用所有的数据 ...

    SharedPreferencesUtils.java

    SharedPreferenced工具类,快速实现持久化,帮助开发者提升开发速度,提高封装能力,丰富封装的思想

    个人信息系统

    《个人信息系统的实现与 SharedPreferences 的应用》 在Android开发中,个人信息系统的构建是常见的应用场景,它通常涉及到用户信息的存储、界面交互以及数据传递等基本功能。本项目以一个初级版本的个人信息系统为...

    复古怀旧教室桌椅素材同学聚会毕业纪念册模板.pptx

    复古怀旧教室桌椅素材同学聚会毕业纪念册模板

    数据结构与算法中的回文串:马拉车算法与中心扩展法的Python实现及其应用

    内容概要:本文详细介绍了关于寻找最长回文子串的相关知识,包括前置理论、不同求解方法的具体操作及其优势。首先,阐述了回文串这一特殊结构的概念及其特性——正序逆序完全一致。紧接着,围绕中心扩展法和马拉车算法展开叙述。前者基于字符逐一检查周边字符的方法,在每一点向外延伸探索最长相同序列。而后者利用预处理阶段将字符间隔用特殊符号填充形成全新字符串形式,并建立相应的辅助工具(如回文半径数组)用于跟踪回文中点位置与范围变动情况,再经由巧妙规则判定并逐步推进搜索进度,从而大大降低了运行成本。最后还提到了两种常规方法——动态规划与中心扩展的具体思路以及它们各自适用的情况和局限性。 适合人群:正在研究或学习数据结构和算法特别是字符串处理相关领域的技术人员和爱好者。 使用场景及目标:帮助开发者针对字符串匹配类的问题,尤其是回文判定和查找场景,掌握更多高效的解决方案,优化程序性能。具体应用场景如文本编辑器、搜索引擎中的关键字检索等方面可能会涉及到这类算法的应用。

    前端分析-2023071100789

    前端分析-2023071100789

    国货彩妆品牌Q1社媒营销投放分析报告.pdf

    国货彩妆品牌Q1社媒营销投放分析报告

    内螺旋覆盖算法(ISC)matlab代码

    内螺旋覆盖算法(ISC)是一种用于填充正方形矩阵的算法。它的主要思想是按照一定的规则将矩阵从外部向内部进行覆盖,直到矩阵的中心被填充。在覆盖的环境区域内,机器人按一定的方向如顺时针或逆时针进行覆盖,当前方有未覆盖的栅格时机器人就向前运动,如果前方有障碍物或者已经被覆盖过,则机器要向右(或向左)旋转 90 °继续向前行走。

    21电平MMC整流站、MMC逆变站、两端柔性互联的MATLAB仿真模型,4端柔性互联、MMC桥臂平均值模型、MMC聚合模型(四端21电平一分钟即能完成2s的工况仿真) 1-全部能正常运行,图四和图五为

    21电平MMC整流站、MMC逆变站、两端柔性互联的MATLAB仿真模型,4端柔性互联、MMC桥臂平均值模型、MMC聚合模型(四端21电平一分钟即能完成2s的工况仿真) 1-全部能正常运行,图四和图五为仿真波形 2-双闭环控制,逆变站PQ控制,整流站站Udc Q控制 3-最近电平逼近调制+子模块电容充电 4-环流抑制控制

    永磁同步电机电流滞环控制Matlab simulink仿真模型,参数已设置好,可直接运行 属于PMSM转速电流双闭环矢量控制系统模型 电流内环采用电流滞环控制(pang-pang控制),转速外环为

    永磁同步电机电流滞环控制Matlab simulink仿真模型,参数已设置好,可直接运行。 属于PMSM转速电流双闭环矢量控制系统模型。 电流内环采用电流滞环控制(pang-pang控制),转速外环为PI控制。 波形完美,包含原理说明文档和参考文献。

    基于java的项目申报管理系统设计与实现.docx

    基于java的项目申报管理系统设计与实现.docx

    Spring Boot框架下的权限管理与工作流开发平台系统实现

    项目介绍 Spring Boot + Security + MyBatis Plus 快速开发平台 内置功能 用户管理:用户是系统操作者,该功能主要完成系统用户配置。 权限管理:配置系统菜单,操作权限,按钮权限, 数据权限标识等。 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。 字典管理:对系统中经常使用的一些较为固定的数据进行维护。 参数管理:对系统动态配置常用参数。 通知公告:系统通知公告信息发布维护。 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。 登录日志:系统登录日志记录查询包含登录异常。 定时任务:在线(添加、修改、删除)任务调度包含执行结果日志。 代码生成:前后端代码的生成(java、html、xml、sql)支持CRUD下载 。 系统接口:根据业务代码自动生成相关的api接口文档。 服务监控:监视当前系统CPU、内存、磁盘、堆栈等相关信息。 表单构建:拖动表单元素生成相应的HTML代码。 数据监视:监视当前系统数据库连接池状态,可进行分析SQL找出系统性能瓶颈。 租户管理:加入多租户架构, 使用逻辑隔离租户数据。

    3.0版-聊天业务实现.7z

    3.0版-聊天业务实现.7z

Global site tag (gtag.js) - Google Analytics