- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
查看更多
Android培训:走进Android资源
华迪教育
华迪信息
了解资源构成
Strings资源。位于res/values下,可以有一个或多个xml文件。其中最为常见的是strings.xml,对于demo这类小例子,为了方便常全部都放在strings.xml中,但实际开发中,应进行合理组织。下面事xml文件的例子:
需要留意,对于标准的xml文件,有xmlns来指明schema,在此可以省略。如果非要加上,可以为:resources xmlns= 。每定义一个string,在R.java文件中将自动生成ID,由此可以通过ID,如R.string.app_name进行对应,ID事int,但Android或根据需要转换为对应的string。
Layout资源。 res/layout下放着关键的View,每个activity或者每个screen要单独xml来描述。在代码用setContentView ( R.layout.xxxx ) 来进行映射。而layout xml文件中的view,则用R.id.xxxx来映射,可以通过findViewById来获取具体view的对象。
Resource Reference Syntax资源参考语法。用于分配在Android xml文件某个资源的ID的语法称为资源参考语法,具体为@[ package:] type/name,例如android:id=@+id/t1。”+”表示如果t1的id没有定义为资源,去为它定义一个唯一的Id号码。实际上,我们可以预先定义id,以后再使用,方式如下,在res/values下的xml文件中进行定义。定义后,我们将在R.java文件中发现有关的R.id.t2的定义,如是,我们将使用android:id=@id/t2。
这里的type是对应R.java里面的资源类别的 namespace,例如R.string则对应为string。此外可以是 drawable,id,layout,string,attr,plurals,string-array(在R.java中为R.array)。这里 的name,是指资源的名称,也对应R.java中ID名字。如果没有package,就是使用本地资源,和本app的R.java中。Andriod同 时也提供了一些组件,例如ListView,使用ListView android:id=”@android:id/list”…… /,这使用了android.R.java文件,实时上,我们可以使用其他包名,用该包下的R.java文件来解释。
编译和非编译的资源。 资源来源两类文件:XML和raw文件,对应的也可以分为编译为二进制格式的,和非编译直接copy的。对于一般的资源XML文件,需要将XML的节点翻 译的ID,所以需要编译为binary。其中res/xml中可放置任何XML格式的文件,如们自定的,可以通过 R.xml.file_name来指向该资源,并用Android提供的XML reader来解析,如XMLPullPaser。
非编译为binary的文件位于res/raw,和所 有res/下的资源一样,可用R.raw.file_name来获取该资源。读取是需使用stream-based的API,如下。 audio和video文件属于这类raw文件,当然如果我们需要,也可以将一个xml文件放入res/raw目录下,作为raw文件来使用。
主要的关键资源
String Arrays。位于res/values/*.xml,格式如下:
在R.java中自动生成ID,可以在用R.array.xxxx来调用
在程序中可以如下调用
复数Plurals。这对中文而言没有什么意义,但是在英文中,有There is one egg. 和There are 5 eggs. 的区别。需要在信息表达方面进行区分对待,plurals就是针对此进行处理。
在quantity中有效的选择显示有6个,但是如果locale为en时,实际有效的是“one”和“other”,设置其余的,经试验,并无效果。书中言,对于其他的语言设置也是这样,除了捷克语,对于2-4,对应为few。
Wei: 经过试验,在XML中用%s来替代%d是可行的,但是如果input的数目超过1个,如2个或以上,则在编译时会报错。plurals就只是为了处理西文 中复数的问题,不要搞得太复杂。对于上面的例子,第二和第三参数应该匹配,这样才便于阅读,例如 res.getQuantityString(R.plurals.rt_test_plurals,6,6)。
再谈String。string资源可以带有输入,可以带有html格式。我们看看以下的string资源的获取和输出。
我们通过下面的代
您可能关注的文档
最近下载
- 《Excel在会计中的应用》说课.ppt VIP
- GB_50235-2010《工业金属管道工程施工规范》及GB_50184....ppt.ppt VIP
- 《英语(职业模块 财经、商贸及服务类)》Unit7.pptx VIP
- 《英语(职业模块 财经、商贸及服务类)》Unit4.pptx VIP
- 广东省房屋安全鉴定员理论考试题库大全-下(多选、判断题).docx VIP
- 《英语(职业模块 财经、商贸及服务类)》Unit2.pptx VIP
- 《突发事件应急预案》.docx VIP
- 梗阻性肾病课件.pptx VIP
- Trnsys 中文手册 第A0章.pdf
- 大学生入伍流程及相关政策介绍西北师范大学武装保卫处.ppt VIP
文档评论(0)