|
|
|
|
移动端

资源文件

《Learning Android(中文版)》第7章首选项、文件系统、选项菜单及Intent,本章我们讲解首选项功能的实现、文件系统的组织方式,以及如何通过intent与选项菜单在不同活动之间进行切换。本节为大家介绍资源文件。

作者:李亚舟/任中龙/杜钢译来源:电子工业出版社|2012-07-27 11:10

年前最后一场技术盛宴 | 1月27日与京东、日志易技术大咖畅聊智能化运维发展趋势!


资源文件

首先从创建prefs.xml开始。这是一个资源文件,用来声明我们的首选项界面大致是什么样子。创建它的最简单方法就是使用Eclipse的New Android XML File工具,如图7-1所示:可以选择File→New→Android XML File,也可以单击菜单栏上的a+( )按钮。

 
图7-1:New Android XML File工具

这里的重点是要把文件的名字设为prefs.xml,资源类型设为Preference。默认会将文件创建在/res/xml目录下,XML的默认根节点会设为PreferenceScreen。正如79页的“多版本资源文件”一节中所提到的,我们可以为同一资源设置多个不同的资源文件,以适应不同的屏幕尺寸、旋转方向、语言及区域等参数的需要。

在这里我们通过Eclipse的辅助工具简化了工作。如果使用其他工具,可能就需要手动创建这个文件,并将其置于合适的目录之下。

一旦单击Finish按钮,Eclipse就会创建并且打开一个新文件,由于Eclipse能识别这个XML文件,因此会在它的可视化设计界面中打开。

在这个界面中,选择左边的PreferenceScreen,然后选择Add→EditTextPreference,就可以为用户名创建对应的选项条目了。展开右边Preferences下边的Attributes,可以见到EditTextPreference的诸多属性。

并非所有的属性都同样重要,一般来说,你会比较关心下面这些。

Key

每个首选项条目的唯一标识符。我们稍后将用这个来查找特定的首选项。

Title

用户见到的首选项名称。应该起一个比较短的名字,长度不要超过屏幕的一行。

Summary

针对这个选项条目的简介信息。这是可选的,但是强烈建议提供该信息。

对用户名一项而言,key就是username。至于Title与Summary的值,我们都放在strings.xml里面,这是个好习惯。

要编辑strings.xml,你也可以避免直接手写,而是使用Eclipse提供的快捷工具。步骤如下:

1. 单击Browse按钮,选择New String...,打开新建string资源的对话框。

2. 为R.string输入titleUsername,为String输入Username。

3. 单击OK按钮,即可在strings.xml中插入一条新的string资源。

4. 随后就可以在资源列表中取出来引用它了。

以上就是创建Username选项条目的步骤。创建Password及API 地址这两项的步骤也类似。

要查看实际的XML代码,可以单击窗口底下的标签,参见图7-2。

 
图7-2:prefs.xml的图形化编辑界面

首选项资源的原始XML为如例7-1所示代码。

例7-1:res/xml/prefs.xml

  1. <?xml version="1.0" encoding="utf-8"?> 
  2. <PreferenceScreen xmlns:android="http://schemas.android.com/apk/res/android"> 
  3. <EditTextPreference android:title="@string/titleUsername" 
  4. android:summary="@string/summaryUsername" 
  5. android:key="username"></EditTextPreference> 
  6. <EditTextPreference android:title="@string/titlePassword" 
  7. android:password="true" android:summary="@string/summaryPassword" 
  8. android:key="password"></EditTextPreference> 
  9. <EditTextPreference android:title="@string/titleApiRoot" 
  10. android:summary="@string/summaryApiRoot" 
  11. android:key="apiRoot"></EditTextPreference> 
  12. </PreferenceScreen> 

<PreferenceScreen>是定义首选项界面的根节点,它下面有3个子元素,都是<Edit-TextPreference>,也就是文本框。常见的元素还有<CheckBoxPrefe-rence>、<ListPreference>等。

以上这些节点里,最重要的属性就是key了,它是获取对应的配置数据所必需的标识符。前面提到,首选项正是一组键值对(name-value pair)构成的数据集。

之前提到过几次,虽然编辑XML有Eclipse提供的辅助工具可用,它们界面友好、使用方便,但同时功能也有限。比如按照惯例,我们一般希望在密码框中隐藏真实的文本,Android也提供了这一特性的支持,但是还没有集成到Eclipse的工具中。既然我们对直接改XML已经习以为常了,这次也可以如法炮制,为password元素手工添加一个属性android:password="true",即可在密码框中隐藏用户的输入。

【责任编辑:book TEL:(010)68476606】

回书目   上一节   下一节
点赞 0
分享:
大家都在看
猜你喜欢

读 书 +更多

非常网管——网络服务

本书使用通俗易懂的语言,通过大量的实例,从实际应用的角度出发,全面系统地介绍了网络服务操作系统平台、电子邮件系统、Web站点和FTP站点...

订阅51CTO邮刊

点击这里查看样刊

订阅51CTO邮刊