Использование параметров командной строки в AIR приложениях
Попробую начать серию достаточно вольных переводов популярных статей, посвященных Adobe AIR и Flex, прошу сильно из-за возможных косяков не пинать :D
Итак, приступим. Оригинальная статья называется How do I use command line arguments with my AIR application? .
Многие приложения можно запускать с определенными ключами, переданными из командной строки, зачастую это является очень удобным. AIR также предоставляет такую возможность посредством подписки на событие InvokeEvent. Данное событие содержит аргументы, которые были переданы при запуске или во время работы приложения.
Обработка события InvokeEvent
Для начала надо подписаться на это событие у экземпляра NativeApplication в нашем приложении. Это можно сделать как в MXML, так и c помощью ActionScript :
MXML:
<mx:WindowedApplication
xmlns:mx="http://www.adobe.com/2006/mxml"
layout="vertical"
invoke="onInvoke(event)">
...
</mx:WindowedApplication>
* This source code was highlighted with Source Code Highlighter.
ActionScript :
NativeApplication.nativeApplication.addEventListener(InvokeEvent.INVOKE, onInvoke);
При получении события список переданных аргументов находится в массиве arguments. Например, следующий код выводит список переданных ключей:
<?xml version="1.0" encoding="utf-8"?>
<mx:WindowedApplication xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute"
invoke="onInvoke(event)">
<mx:Script>
<![CDATA[
private function onInvoke(event:InvokeEvent):void
{
if(0!=event.arguments.length)
for each (var argument:String in event.arguments)
{
txtArguments.text+=argument+"\n";
}
}
]]>
</mx:Script>
<mx:Label text="Arguments:" x="0" y="0"/>
<mx:TextArea id="txtArguments" x="0" y="26" width="100%" height="100%"/>
</mx:WindowedApplication>
* This source code was highlighted with Source Code Highlighter.
Если запустить приложение с ключамиTestAir.exe help --user=root
То результатом будет:
Как Вы можете наблюдать AIR не делает разграничения между ключами и их значениями, по сути просто строку входных параметров разделяют по пробелу. Поэтому работу по распознаванию, что есть ключ, а что значение надо проводить самому.