BlackBerry 应用程序开发者指南 第一卷:基础--附录:.alx文件的格式
作者:Confach 发表于2006-04-28 21:51
版权信息:可以任意转载, 转载时请务必以超链接形式标明文章原始出处 和作者信息.
http://www.cnblogs.com/confach/articles/387921.html
A
附录:.alx文件的格式
.alx 文件 |
.alx文件
应用程序加载工具是BlackBerry桌面软件的一部分,它使用了一个应用程序加载文件(.alx)将应用程序加载到BlackBerry设备中去.利用BlackBerry IDE为你的工程生成一个.alx文件.
下面提供的信息只作为辅助参考.大多数情况下,你没有必要编辑BlackBerry IDE生成的.alx文件1
在文本编辑器里,你可以编辑BlackBerry IDE生成的.alx文件..alx文件使用XML格式:
例:.alx文件样例
<?xml version="1.0" encoding="UTF-8"?>
<loader version="1.0">
<application id="com.rim.samples.device.httpdemo">
<name>Sample Network Application</name>
<description>Retrieves a sample page over HTTP connection.</description>
<version>1.0</version>
<vendor>Research In Motion</vendor>
<copyright>Copyright 1998-2003 Research In Motion</copyright>
<language langid="0x000c">
<name>Application D'閏hantillon</name>
<description>Obtenir une page du r閟eau
</description>
</language>
<fileset Java="1.0">
<directory>samples/httpdemo</directory>
<files>
net_rim_httpdemo.cod
net_rim_resource.cod
net_rim_resource__en.cod
net_rim_resource__fr.cod
</files>
</fileset>
</application>
</loader>
嵌套模块
在.alx文件中创建一个嵌套的结构为应用程序提供可选的组件.一般来说,嵌套模块提供的可选特性并不适合所有用户.用户可以选择是否安装这些可选模块.
嵌套,为基本应用程序的嵌套模块创建一个隐含的依赖.为了定义一个对其他应用程序或库的显式依赖,使用<requires>标记.为获得更多信息,参看185页的”.alx文件的元素”
例:.带有一个嵌套模块的应用程序.alx文件样例
<loader version="1.0">
<application id="net.rim.sample.contacts">
<name>Sample Contacts Application</name>
<description>Provides the ability to store a list of contacts.
</description>
<version>1.0</version>
<vendor>Research In Motion</vendor>
<copyright>Copyright 1998-2001 Research In Motion</copyright>
<fileset Java="1.0">
<directory>samples/contacts</directory>
<files>
net_rim_contacts.cod
net_rim_resource.cod
net_rim_resource__en.cod
net_rim_resource__fr.cod
</files>
</fileset>
<application id="net.rim.sample.contacts.mail">
<name>Sample Module for Contacts E-Mail Integration</name>
<description>Provides the ability to access the messaging application</description>
<version>1.0</version>
<vendor>Research In Motion</vendor>
<copyright>Copyright 1998-2001 Research In Motion</copyright>
<fileset Java="1.0">
<directory>samples/contacts</directory>
<files>
net_rim_contacts_mail.cod
</files>
</fileset>
</application>
</application>
</loader>
指定一个BlackBerry设备版本
使用了指定版本的手持设备软件中的API的应用程序,应该使用_blackBerryVersion属性来指定支持的BlackBerry设备版本.
使用下面的规则指定一个范围:
- 方括号[]描述闭合范围匹配
- 圆括号()描述开合范围匹配.
- 缺少低围代表0.
- 缺少高围代表无限值.
例如,[4.0,)代表4.0和无限大之间的任何版本.
下面的例子阻止模块加载4.0版本以前的手持设备软件.
<application id="<application_id>" _blackberryVersion="[4.0,)"> ... </application> |
下面的例子为不同版本的手持设备软件提供了可选的模块.
<application id="<application_id>"> ... <fileset _blackBerryVersion="(,4.0)"> ... modules for handheld software versions earlier than 4.0 </fileset> <fileset _blackBerryVersion="[4.0,)"> ... modules for handheld software versions 4.0 and later </fileset> </application> |
.alx文件元素
元素 |
属性 |
描述 |
loader |
version |
loader包含了一个或多个applicaiton元素 version属性指定了应用程序加载器的版本. |
applicaiton |
id |
application元素为单个应用程序包含了元素. application元素也可以包含附加嵌套的application元素.嵌套使你需要:当一个应用程序加载时,它的先决条件模块也被加载. id属性为应用程序指定了一个唯一标记符.为了唯一性,使用一个包含你公司域名的ID例如,com.rim.samples.docs.helloworld. |
library |
id |
Library代替application标签 |
name |
- |
name为应用程序提供了一个描述性的名称.这个名称在应用程序加载器中显示.它不会在BlackBerry设备中显示. |
description |
- |
description元素为应用程序提供了一个简短的描述.本描述在应用程序加载器中显示.它不会在BlackBerry设备中显示. |
version |
- |
version元素为应用程序提供了一个版本号.它在应用程序加载器中显示.版本号仅为显示信息而用. |
vendor |
- |
vendor元素提供创建应用程序的公司名,它在应用程序加载器中显示. |
copyright |
- |
copyright元素提供版权信息, 它在应用程序加载器中显示.. |
required |
- |
required允许你强制加载一个应用程序.在应用程序加载器里,选择一个应用程序安装.加入下面的行: < required>true< required> required标记仅由企业系统管理员使用.它不为第三方应用程序的用户使用. 注:BlackBerry桌面软件3.6或后期版本支持本元素. |
hidden |
- |
hidden元素隐藏包,以至在应用程序加载器里对用户不可见.增加下面的行: <hidden>true</hidden> 缺省的,它和required元素联合起来加载应用程序.或如果一个应用程序已加载,设置required标记来加载此包. hidden标记仅由企业系统管理员使用.它不为第三方应用程序的用户使用. 注:BlackBerry桌面软件3.6或后期版本支持本元素. |
language |
langid |
当应用程序加载器以langid属性指定的语言运行时,language标记允许你覆写在应用程序显示的文本. 为了支持多语言,指定多个language标记.为了指定每种语言的name(名称),version(版本),vendor(发行商)以及copyright(版权),在language标签里嵌套他们.如果不没有嵌套一个标记,将以缺省的语言显示. langid属性为此信息应用的语言指定Win32 langid语言代码.例如,一些Win32 langid代码是:0x0009(英语),0x0007(德语),0x000a(西班牙语),0x00c(法语). |
requires |
id |
requires元素可选,它指定了应用程序依赖的包的id.如果一应用程序依赖不止一其他的应用程序,id可以不止一次出现. 当一个应用程序加载到BlackBerry设备时,所有<requires>指定的包也被加载. 注:BlackBerry桌面软件3.6或后期版本支持本元素. |
fileset |
java radio langid color |
fileset元素包含了一个可选的directory元素以及一个或多个files元素.它在一个单独的目录中指定一组.cod文件加载到BlackBerry设备中.为了加载多个目录下的文件,在.alx文件中包含一个或多个fileset元素. java属性指定.cod文件兼容的BlackBerry Java VM最小版本,当前的VM版本是版本1.0.Java属性是必需的. radio属性允许你加载不同的应用程序或模块.这些程序或模块依赖BlackBerry设备的网络类型.可能的值有Mobitex,DataTAC,GPRS,CDMA和IDEN.radio属性是可选的. langid 属性允许你加载不同的应用程序或模块.这些程序或模块依赖用户增加到BlackBerry设备的支持的语言. langid属性为此信息应用的语言指定Win32 langid语言代码.例如,一些Win32 langid代码是:0x0009(英语),0x0007(德语),0x000a(西班牙语),0x00c(法语). color属性允许你为彩色或黑白屏幕加载不同的应用程序或模块.它是一个Boolean值;true代表彩色,false代表黑白. |
directory |
- |
directory元素提供了文件的位置. directory元素是可选的.如果你没有指定directory元素.文件必须和.alx文件的目录相同.指定.alx文件位置的目录. |
files |
- |
files为应用程序提供单个目录下的一个或多个.cod文件列表,加载它们到BlackBerry设备. |
[1]按照个人经验,JDE生成的ALX并不是很理想,特别是比较复杂的工程。所以对于稍微复杂的工程来说,应该手工编辑。译者注。