来源:AIR Tip 3: What Version is My Application
每个AIR应用程序都有一个XML格式的应用程序描述文件,用于定义程序的一些属性。这个文件允许开发人员定义应用的ID,版本,名称,以及其它的属性。在AIR Beta3的版本中,可以用NativeApplication.nativeApplication.applicationDescriptor来引用这个文件(ActionScript),如果是JavaScript,可以用air.NativeApplication.nativeApplication.applicationDescriptor。
版本:这个教程基于AIR Beta3
ActionScript示例:
使用这些代码,我们就能获取应用程序描述文件的引用了:
private var airApplicationID:String = “”;
private var airApplicationVersion:String = “”;
private var airApplicationName:String = “”;
private function getApplicationInformation():void {
var air:Namespace = appXML.namespaceDeclarations()[0];
// Use E4X To Extract the Needed Information
this.airApplicationID = appXML.air::id;
this.airApplicationVersion = appXML.air::version;
this.airApplicationName = appXML.air::name;
// Retrieve any additional information from the application descriptor file
}
这个示例定义了3个变量:名称,程序ID,和版本号。使用E4X,你可以从应用程序描述文件中获取应用的每一个属性的值。当然在E4X中,在你告诉它使用哪个命名空间之前,没有一个值会被返回。namespaceDeclarations标签返回了一个包含XML对象所有命名空间的数组。通常情况下,应用程序描述文件只有一个独立的命名空间。通过使用这种方式定义命名空间,你就可以保证这个标签也可以很好的工作在未来的AIR版本中(除非AIR的API更改了)。
JavaScript示例:
在这个JavaScript示例中,使用方法只有微小的改变。应用程序描述文件要引用自NativeApplication类,但是JavaScript认为返回的值是字符串(并不是XML)。你必须首先创建一个DOM Parser对象并传递给它XML值。这样你就可以从XML中获得返回值。
var airApplication = {};
function getVersion() {
// Get Application Descriptor File
var appXML = air.NativeApplication.nativeApplication.applicationDescriptor;
// Parse the Application Descriptor File as XML
var xmlObject = (new DOMParser()).parseFromString(appXML, “text/xml”);
// Get the Needed Values from the XML
airApplication.version = xmlObject.getElementsByTagName(‘version’)[0].firstChild.nodeValue;
airApplication.applicationID = xmlObject.getElementsByTagName(‘id’)[0].firstChild.nodeValue;
airApplication.name = xmlObject.getElementsByTagName(‘name’)[0].firstChild.nodeValue;
}
下面的示例代码中说明了如何创建一个可以重新获取这些信息的AIR应用程序。当然这只是一个示例(不是一个真实的应用),所以不提供AIR文件的下载。
Flex Application
Source Code
JavaScript Application
Source Code
admin#flashas.net (#为@) 联系QQ:
:40777822
浙ICP备06033001号