BlackBerry應(yīng)用開(kāi)發(fā)者指南基礎(chǔ)附錄 .alx文件
應(yīng)用程序加載工具是BlackBerry桌面軟件的一部分,它使用了一個(gè)應(yīng)用程序加載文件(.alx)將應(yīng)用程序加載到BlackBerry設(shè)備中去.利用BlackBerry IDE為你的工程生成一個(gè).alx文件.
下面提供的信息只作為輔助參考.大多數(shù)情況下,你沒(méi)有必要編輯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文件中創(chuàng)建一個(gè)嵌套的結(jié)構(gòu)為應(yīng)用程序提供可選的組件.一般來(lái)說(shuō),嵌套模塊提供的可選特性并不適合所有用戶.用戶可以選擇是否安裝這些可選模塊.
嵌套,為基本應(yīng)用程序的嵌套模塊創(chuàng)建一個(gè)隱含的依賴.為了定義一個(gè)對(duì)其他應(yīng)用程序或庫(kù)的顯式依賴,使用<requires>標(biāo)記.
例:.帶有一個(gè)嵌套模塊的應(yīng)用程序.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>
指定一個(gè)BlackBerry設(shè)備版本
使用了指定版本的手持設(shè)備軟件中的API的應(yīng)用程序,應(yīng)該使用_blackBerryVersion屬性來(lái)指定支持的BlackBerry設(shè)備版本.
使用下面的規(guī)則指定一個(gè)范圍:
方括號(hào)[]描述閉合范圍匹配
圓括號(hào)()描述開(kāi)合范圍匹配.
缺少低圍代表0.
缺少高圍代表無(wú)限值.
例如,[4.0,)代表4.0和無(wú)限大之間的任何版本.
下面的例子阻止模塊加載4.0版本以前的手持設(shè)備軟件.
- <application id="<application_id>" _blackberryVersion="[4.0,)">
- ...
- </application>
- 下面的例子為不同版本的手持設(shè)備軟件提供了可選的模塊.
- <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包含了一個(gè)或多個(gè)applicaiton元素
version屬性指定了應(yīng)用程序加載器的版本.
applicaiton
id
application元素為單個(gè)應(yīng)用程序包含了元素.
application元素也可以包含附加嵌套的application元素.嵌套使你需要:當(dāng)一個(gè)應(yīng)用程序加載時(shí),它的先決條件模塊也被加載.
id屬性為應(yīng)用程序指定了一個(gè)***標(biāo)記符.為了***性,使用一個(gè)包含你公司域名的ID例如,com.rim.samples.docs.helloworld.
library
id
Library代替application標(biāo)簽
name
name為應(yīng)用程序提供了一個(gè)描述性的名稱.這個(gè)名稱在應(yīng)用程序加載器中顯示.它不會(huì)在BlackBerry設(shè)備中顯示.
description
description元素為應(yīng)用程序提供了一個(gè)簡(jiǎn)短的描述.本描述在應(yīng)用程序加載器中顯示.它不會(huì)在BlackBerry設(shè)備中顯示.
version
version元素為應(yīng)用程序提供了一個(gè)版本號(hào).它在應(yīng)用程序加載器中顯示.版本號(hào)僅為顯示信息而用.
vendor
vendor元素提供創(chuàng)建應(yīng)用程序的公司名,它在應(yīng)用程序加載器中顯示.
copyright
copyright元素提供版權(quán)信息, 它在應(yīng)用程序加載器中顯示..
required
required允許你強(qiáng)制加載一個(gè)應(yīng)用程序.在應(yīng)用程序加載器里,選擇一個(gè)應(yīng)用程序安裝.加入下面的行:
< required>true< required>
required標(biāo)記僅由企業(yè)系統(tǒng)管理員使用.它不為第三方應(yīng)用程序的用戶使用.
注:BlackBerry桌面軟件3.6或后期版本支持本元素.
hidden
hidden元素隱藏包,以至在應(yīng)用程序加載器里對(duì)用戶不可見(jiàn).增加下面的行:
<hidden>true</hidden>
缺省的,它和required元素聯(lián)合起來(lái)加載應(yīng)用程序.或如果一個(gè)應(yīng)用程序已加載,設(shè)置required標(biāo)記來(lái)加載此包.
hidden標(biāo)記僅由企業(yè)系統(tǒng)管理員使用.它不為第三方應(yīng)用程序的用戶使用.
注:BlackBerry桌面軟件3.6或后期版本支持本元素.
language
langid
當(dāng)應(yīng)用程序加載器以langid屬性指定的語(yǔ)言運(yùn)行時(shí),language標(biāo)記允許你覆寫(xiě)在應(yīng)用程序顯示的文本.
為了支持多語(yǔ)言,指定多個(gè)language標(biāo)記.為了指定每種語(yǔ)言的name(名稱),version(版本),vendor(發(fā)行商)以及copyright(版權(quán)),在language標(biāo)簽里嵌套他們.如果不沒(méi)有嵌套一個(gè)標(biāo)記,將以缺省的語(yǔ)言顯示.
langid屬性為此信息應(yīng)用的語(yǔ)言指定Win32 langid語(yǔ)言代碼.例如,一些Win32 langid代碼是:0x0009(英語(yǔ)),0x0007(德語(yǔ)),0x000a(西班牙語(yǔ)),0x00c(法語(yǔ)).
requires
id
requires元素可選,它指定了應(yīng)用程序依賴的包的id.如果一應(yīng)用程序依賴不止一其他的應(yīng)用程序,id可以不止一次出現(xiàn).
當(dāng)一個(gè)應(yīng)用程序加載到BlackBerry設(shè)備時(shí),所有<requires>指定的包也被加載.
(注:BlackBerry桌面軟件3.6或后期版本支持本元素.)
fileset
fileset元素包含了一個(gè)可選的directory元素以及一個(gè)或多個(gè)files元素.它在一個(gè)單獨(dú)的目錄中指定一組.cod文件加載到BlackBerry設(shè)備中.為了加載多個(gè)目錄下的文件,在.alx文件中包含一個(gè)或多個(gè)fileset元素.
Java
Java屬性指定.cod文件兼容的BlackBerry Java VM最小版本,當(dāng)前的VM版本是版本1.0.Java屬性是必需的.
radio
radio屬性允許你加載不同的應(yīng)用程序或模塊.這些程序或模塊依賴BlackBerry設(shè)備的網(wǎng)絡(luò)類型.可能的值有Mobitex,DataTAC,GPRS,CDMA和IDEN.radio屬性是可選的.
langid
langid 屬性允許你加載不同的應(yīng)用程序或模塊.這些程序或模塊依賴用戶增加到BlackBerry設(shè)備的支持的語(yǔ)言. langid屬性為此信息應(yīng)用的語(yǔ)言指定Win32 langid語(yǔ)言代碼.例如,一些Win32
langid代碼是:0x0009(英語(yǔ)),0x0007(德語(yǔ)),0x000a(西班牙語(yǔ)),0x00c(法語(yǔ)).
color
color屬性允許你為彩色或黑白屏幕加載不同的應(yīng)用程序或模塊.它是一個(gè)Boolean值;true代表彩色,false代表黑白.
directory
directory元素提供了文件的位置. directory元素是可選的.如果你沒(méi)有指定directory元素.文件必須和.alx文件的目錄相同.指定.alx文件位置的目錄.
files
files為應(yīng)用程序提供單個(gè)目錄下的一個(gè)或多個(gè).cod文件列表,加載它們到BlackBerry設(shè)備.
(譯者注:按照個(gè)人經(jīng)驗(yàn),JDE生成的ALX并不是很理想,特別是比較復(fù)雜的工程。所以對(duì)于稍微復(fù)雜的工程來(lái)說(shuō),應(yīng)該手工編輯。)
【編輯推薦】