`

资源具体化

阅读更多

不管你使用什么开发环境,一个良好的习惯就是保存非代码的资源(像图片,字符串常量等)到你的代码的外部。Android支持资源具体化,这些资源范围包括从简单的值(字符串,颜色)到更加复杂的资源(图片(drawables),动画和主题等)。 也许,用来具体化显示的最强大的资源要数layouts(布局)了。

 

通过资源具体化,它们的维护、更新和管理变得更加容易。当然,它也允许你更加容易地定义一些可变资源来支持不同的硬件和国际化。

 

在后面的章节中,你将会看到Android如何动态地从资源树中选择资源以及允许你定义可变的值基于设备的硬件配置、语言和地区。它允许你为特定的语言、国家、屏幕和键盘创建不同的资源值。当应用程序启动时,Android会自动地选择正确的资源,而不需要写任何一行代码。

 

其他的情况,它允许你基于屏幕的大小和方向变换layout,以及基于语言和国家变换特定的文本提示。

 

 

创建资源

 

应用程序的资源存储在工程目录的/res文件夹下。在这个文件夹中,每个可用的资源类型可以有一个子文件夹来放置它的资源。

 

如果你使用ADT向导创建工程的话,它会创建/res文件夹,并包含valuesdrawablelayout资源子文件夹,用来放置默认的layout,应用程序图标和预定义的字符串资源。如图3-4所示。

 

3-4

 

这里有七种基本的资源类型,它们拥有不同的文件夹:valuesdrawableslayoutsanimationsXMLstylesraw resources。当应用程序创建时,这些资源会尽可能切实有效地得到编译,并包含到应用程序包中。

 

在这个过程中,向导也会为我们创建一个R类的文件,其中包含了工程中资源文件的引用。这些引用可以直接在代码中使用,借助实时的语法检查。

 

在接下来的章节里,将会描述上述七种类型的资源类型以及如何为应用程序创建它们。

 

需要注意的是,资源名只能包含小写字母、数字、“.”和“_”。

 

 

 

使用资源

 

和你创建的资源一样,Android提供了一些可以在应用程序中使用的系统资源。这些资源可以通过代码直接使用,也可以在其他资源中被引用(例如,一个尺寸资源可能在layout资源中引用)。

 

在这章的后面,你会学习到如何为不同的语言、地区和硬件定义变化的资源。需要着重提醒你的是,当你使用资源时,你不能选择特定的资源版本。Android会基于当前的硬件和设备设定,按照给定的资源标识选择最合适的值。

分享到:
评论

相关推荐

    现代分析测试一体化教学资源包的开发与利用

    一体化教学资源包是基于一体化教学,以媒体素材为基础,通过一个专业的典型工作任务的知识点和技能点的链接,解决教学实际问题、满足一体化教学需要的具体化、系统化的教学资源集合。阐述了现代分析测试技术专业一体化...

    云管理是对云计算的具体实现,通过云管理功能可以对虚拟化资源进行管理。

    云管理是对云计算的具体实现,通过云管理功能可以对虚拟化资源进行管理。 云计算必须具备以下关键特性: 大规模 软件和硬件资源只有达到一定的规模,按需分配才有意义。 资源虚拟化 实际应用中,用户所获得的资源是...

    大数据资源可视化配套PPT讲解

    介绍面向各类数据的可视化在实际应用中共同需要的方法、技术和工具,例如交互和可视化评测方法,以及在具体领域的可视化和应用系统。本PPT从研究者的角度,介绍数据可视化的定义、方法、效用和工具,既可作为初学者...

    游戏资源 - Unity中地块自动化生成 - 地形优化必备资源

    游戏资源 - Unity中地块自动化生成 - 地形优化必备资源 该资源为在游戏中对地块自动化生成时使用,让我们的项目不用白白消耗性能。 具体使用方法可以来我博客搜索:地图自动化生成。查看具体的教程及详细的使用方法...

    抽象问题具体化在C语言教学中的应用.pdf

    抽象问题具体化在C语言教学中的应用.pdf

    作为体现具体化自然语言环境的文本世界

    文本世界是具体化代理(embodied agent)的虚拟环境,与 2D 或 3D 环境不同,文本世界仅使用文本描述进行渲染。这些环境提供了一种替代高保真 3D 环境的方法,由于它们具有较低入门门槛,提供了研究语义、组合推理和...

    中台 数据治理资源目录 + 产品交互

    数据中台数据资源目录管理,是数据价值释放与融合的最佳途径,是合理配置和有效利用此类数据资产,提供统一的数据资源门户,通过编制数据资源目录,加强数据管理,实现大数据的智能化、数据挖掘、分析与应用,真正...

    人力资源管理软件(完全免费)

    人力资源管理软件功能介绍 本人力资源软件包含人事档案管理 本人力资源软件包含工资管理 本人力资源软件包含考勤管理 本人力资源软件包含绩效管理 本人力资源软件包含用户管理 本人力资源软件软件界面美观,...

    基于融合出版的数字化学习资源建设及应用

    数字技术和互联网技术发展的...本文通过对2016年以来融合出版发展的现状研究,具体结合教育出版企业面临的实际问题,重点在转型过程中的数字化学习资源建设、应用等方面,提出了媒体融合的具体模式的构建、路径和方法。

    大数据时代-政府大数据资源目录建立的必要性.doc

    大数据时代,政府大数据资源目录建立的必要... 勤智数码在政府大数据共享开放领域深耕数年,在具体工作中发现:政府大数据的共享 开放工作目前并未达到预期效果。普遍现象是很多地方政府开放的数据意义并不大,价 值也

    基于蚁群算法的呼叫中心人力资源分配

    问题图形化定义的基础上 建立了正反馈机制,设计了状态转移的规则,利用信息素更新规则对呼叫中心的具体人力分配 进行了分析与实现。仿真表明,该方法对解决呼叫中心的人力资源分配问题是可行的。

    华为的人力资源管理模式

    华为的人力资源管理.ppt 华为的自主创新精神。在华为,这种根本性因素就是自主创新,华为的巨大成功其实就是创新精神的成功。彼得·德鲁克曾指出的:“创新的成功不取决于它的新颖度,它的科学内涵和它的灵巧性,而...

    【物流类】物流公司人力资源工作总结范本.doc

    加强定岗定员、人力资源培训与开发、人力资源管理信息化和人力资源管理制度建设;不断开拓人力资源视野,把握人力资源动态,吸收国内外最新人力资源管理思想和理念,进行人力资源管理改革与创新。  二、人力资源...

    信息资源开发利用的基本框架

    总体来说,信息化的本质就是信息资源的开发与利用,涉及到信息的形成、消费和各种机制等结构化的框架。该从哪一个角度看待信息资源开发利用的总体框架?这些框架包含哪些具体内容,将对日常工作有何指导作用?本报...

    论文:人力资源管理系统

    典型的是,人力资源管理系统技术或称为人力资本管理技术经过电子化优化人力资源活动四项核心从而取代了这四项技术:“酬资”、时间管理和劳动力管理、福利管理、人力资源管理。当使用因特网或公司内部网络作为通信和...

    CRM资源管理器365.zip

    8、系统数据管理功能,支持用户安全角色,业务部门的设置,设置方式可以按业务部门方式,安全角色方式,和具体用户方式,方便系统初用始化用户的设置和查看。 实体数据管理功能,可以编辑实体具体数据,并能设置显示...

    CRM资源管理器V2.9

    9、系统数据管理功能,支持用户安全角色,业务部门的设置,设置方式可以按业务部门方式,安全角色方式,和具体用户方式,方便系统初用始化用户的设置和查看。 实体数据管理功能,可以编辑实体具体数据,并能设置显示...

Global site tag (gtag.js) - Google Analytics