Android API课程1.4: Application Resources
Android应用不仅仅是由代码组成的,它还需要除了代码之外的资源。比如,图片,声音文件和其他相关的可见的展示。例如,你应当定义动作,菜单,样式,颜色,用户界面布局的xml文件。使用应用资源,让你的应用更加容易更新。仅仅修改可以改变的资源而不需要修改代码就可以做到,让你为不同的设备配置优化你的应用。
在你Android项目里面的每个资源,SDK工具都定义了唯一数字标识(integer ID)。这让你可以引用从你的应用代码或者定义在xml中的资源。举个例子,如果你的应用包括一个图片叫logo.png(保存在res/drawable/directory),the SDK工具生成资源ID叫做R.drawable.logo, 让你可以引用该图片并插入到你的用户界面。
把资源从代码中分离出来的一个最重要的方面是,给你可以为不同的设备配置提供不同的资源能力。举个例子,通过在XML中定义UI字符串,你可以翻译这字符串成其他的语言并保存到单独的文件中。然后,把基于一种语言的资源放在命名为含有该语言的限定词的目录里(比如res/values-fr是代表法语字符串值),接着通过设置用户语言,Android系统就会像应用提供恰当的语言字符值。
Android为可变的资源支持许多不同的限定词。这些限定词是你会包含在资源目录的简称,为了可以定义那种资源应该在该设备配置中使用。再举另一个例子,你应该经常为你的活动,基于不同的设备尺寸和朝向而制定不同的布局。例如,当设备的屏幕是纵向的,你可能需要按钮按照纵向的排列。但是当屏幕是横向的,你想水平排列按钮。为了依据朝向改变布局,你可以定义两种不同的布局,并提供合适的限定词命名布局目录。然后,系统自动基于当前设备朝向提供合适的布局。
参考Application Resources开发指导,了解更多关于不同类型的资源,和怎么为多种设备的配置创建可变的资源的知识。