AIR のインストール中に発行者名が表示されるのは、信頼できる証明書、またはインストールされているコンピュータで信頼されている証明書にチェーン化されている証明書を使用して AIR アプリケーションに署名している場合です。それ以外の場合、発行者名は「不明」として表示されます。重要: 悪意のあるエンティティは、なんらかの方法で署名されているキーストアファイルを取得するか、秘密キーを見つけ出し、署名者の ID で AIR ファイルを偽造する可能性があります。
コード署名証明書に関する情報
コード署名証明書の使用に関連するセキュリティの保証、制限、および法的義務の概要については、証明機関運用規定(CPS)および発行側の証明機関が発行する利用規約に記載されています。AIR コード署名証明書を現在発行している証明機関の規約について詳しくは、次のサイトを参照してください。AIR ファイルに署名が行われると、電子署名がインストールファイルに含まれます。署名には、署名後に AIR ファイルが変更されていないことを検証するために使用されるパッケージのダイジェストと、発行者 ID を検証するために使用する署名証明書に関する情報が含まれます。AIR では、証明書が信頼できるかどうかを確認するために、オペレーティングシステムの証明書ストアを通じてサポートされる公開キーインフラストラクチャ(PKI)を使用します。AIR アプリケーションがインストールされているコンピュータでは、発行側の情報を検証するために、AIR アプリケーションの署名に使用されている証明書そのものを信頼するか、信頼できる証明機関の証明書にリンクしている証明書のチェーンを信頼する必要があります。AIR ファイルが、信頼できるルート証明書(およびこれには通常すべての自己署名入り証明書が含まれる)のいずれにもチェーン化されていない証明書で署名されている場合、発行者側の情報は検証できません。AIR は、AIR パッケージが署名後に変更されていないか確認できますが、ファイルの実際の作成者および署名者を知ることはできません。注意: ユーザは自己署名入り証明書を信頼することができ、その証明書で署名された AIR アプリケーションには、発行者名として証明書の共通名フィールドの値が表示されます。AIR では、ユーザが信頼済みの証明書を指定することはできません。証明書(秘密キーを含まない)はユーザに個別に提供する必要があります。ユーザはオペレーティングシステムが提供するメカニズムのいずれかを使用するか、適切なツールを使用してシステムの証明書ストア内の適切な場所に証明書を読み込む必要があります。AIR ファイルのインストール時に、AIR アプリケーションインストーラによって発行者 ID が生成されます。これは、AIR ファイルの作成に使用される証明書に固有の ID です。複数の AIR アプリケーションに対して同じ証明書を再利用すると、それらのアプリケーションの発行者 ID は同じになります。AIR アプリケーションは、発行者 ID とアプリケーション ID との組み合わせによって一意に識別されます。
アプリケーションが LocalConnection クラスを使用して別の AIR アプリケーションと通信するには、その AIR アプリケーションの発行者 ID を認識している必要があります(アプリケーション間通信 を参照してください)
publisherID プロパティを読み取って、インストールされているアプリケーションの発行者 ID を識別できます。証明機関が発行した証明書を更新する場合、または自己署名入り証明書を再生成する場合に、発行者 ID を同じにするにはこれらのフィールドも同じにする必要があります。また、CA が発行した証明書のルート証明書および自己署名入り証明書の公開キーも同じにする必要があります。
証明書の形式について
p12 ファイル拡張子が付いている)などのファイルベースのキーストア、Java
ADT がアクセスできるキーストア形式は、ADT の実行に使用される Java ランタイムのバージョンと設定によって異なります。PKCS11 ハードウェアトークンなど一部の種類のキーストアにアクセスするには、追加のソフトウェアドライバや JCA プラグインのインストールと設定が必要になる場合があります。AIR ファイルに署名する際は、既にあるコード署名証明書をほとんどの場合使用できます。また、AIR アプリケーションの署名用であることを明示して発行された新しい証明書を取得することもできます。注意: 証明書は、コード署名用に作成されたものである必要があります。SSL やその他の種類の証明書を使用して AIR ファイルに署名することはできません。AIR ファイルに署名するときは、パッケージングツールで、タイムスタンプ局のサーバを照会して、単独で検証可能な署名の日時を取得します。取得したタイムスタンプは AIR ファイルに埋め込まれます。署名した証明書が署名時に有効である限り、AIR ファイルは証明書の期限が切れた後もインストールできます。一方、タイムスタンプを取得していない場合は、証明書の期限が切れたり証明書が取り消されたりすると、AIR ファイルはインストールできなくなります。デフォルトでは、AIR パッケージングツールでタイムスタンプを取得します。ただし、タイムスタンプサービスが使用できないときにアプリケーションをパッケージ化できるようにするには、タイムスタンプ機能をオフにします。公開配布されているすべての AIR ファイルにはタイムスタンプを含めることをお勧めします。AIR パッケージングツールで使用されるデフォルトのタイムスタンプ局は、Geotrust です。
証明書の取得
証明書を取得するには、通常は証明機関の Web サイトにアクセスし、その会社の取得プロセスに従います。AIR ツールに必要なキーストアファイルを生成するツールは、購入した証明書の種類、受信側コンピュータでの証明書の格納方法、および場合によっては証明書の取得に使用するブラウザによって異なります。
これにより、Firefox ユーザインターフェイスから証明書を
pfx ファイルとして直接書き出せます。AIR インストールファイルのパッケージ化に使用する AIR 開発ツール(ADT)を使用して自己署名入り証明書を生成できます。一部のサードパーティツールも使用できます。自己署名入り証明書の生成手順、および AIR ファイルの署名手順については、ADT(AIR 開発ツール)を使用した AIR インストールファイルのパッケージ化を参照してください。注意: コード署名証明書を取得して準備する方法は他にも多数あり、この例は単にその 1 つに過ぎません。ポリシーや手続きは証明機関ごとに異なります。証明書の秘密キーは、ブラウザのキーストアに格納されます。
Firefox キーストアがマスタパスワードで保護されていること、およびコンピュータそのものが物理的に安全であることを確認してください(取得プロセスが完了すると、ブラウザのキーストアから証明書と秘密キーを書き出して削除できます)
証明書登録プロセス中に、秘密キーと公開キーのぺアが生成されます。秘密キーは自動的に Firefox キーストア内に格納されます。Thawte の Web サイトに証明書を要求する場合も証明書を取得する場合にも同じコンピュータとブラウザを使用する必要があります。Thawte の Web サイトにアクセスし、コード署名署名所の製品ページ(英語)を参照してください。3 つのステップの登録プロセスを完了します。組織および連絡先の情報を指定する必要があります。検証の完了後、Thawte から証明書の取得手順に関する電子メールが送られてきます。発行された証明書を Thawte サイトから取得します。次の手順を実行して、秘密キーと証明書を含むキーストアファイルを Firefox キーストアから書き出します。Firefox の証明書マネージャダイアログを開きます。キーストアファイルを書き出すファイル名と場所を入力し、「保存」をクリックします。
Firefox のマスタパスワードを使用している場合は、ファイルを書き出すためにソフトウェアセキュリティデバイスのパスワードの入力が要求されます(このパスワードは Firefox のみで使用されます)
証明書バックアップパスワードの選択ダイアログボックスで、キーストアファイルのパスワードを作成します。重要: このパスワードによってキーストアファイルは保護されます。このパスワードは、AIR アプリケーションへの署名にファイルが使用される際に必要になります。安全なパスワードを選択してください。パスワードのバックアップが成功したことを示すメッセージが表示されます。
秘密キーを含むキーストアファイルは、ファイルに対して作成されたパスワードは、AIR アプリケーションが署名されるたびに必要になります。これにより証明書ファイルの追加のコピーを書き出せますが、証明書と秘密キーのセキュリティを維持するために保護する必要がある別のアクセスポイントも提供されます。
証明書の変更
状況によって、AIR アプリケーションを署名するために使用する証明書の変更が必要になる場合があります。これには、次のような場合があります。自己署名入り証明書を証明機関から発行された証明書にアップグレードする。有効期限が近い自己署名入り証明書を別の証明書に変更する。
ある商用証明書を別の商用証明書に変更する(企業の ID が変更された場合など)
署名証明書は AIR アプリケーションの ID を決定する要素の 1 つであるため、単純に、別の証明書でアプリケーションに署名して更新することはできません。AIR で AIR ファイルがアップデートであることを認識できるようにするには、元の AIR ファイルと更新された AIR ファイルを同じ証明書を使用して署名する必要があります。そうしないと、新しい AIR ファイルは、既存のインストールを更新するのではなく、新しいアプリケーションとしてインストールされます。1 では、移行署名を使用して、アプリケーションの署名証明書を変更できます。移行署名は、アップデートの AIR ファイルに適用される 2 つめの署名です。移行署名では元の証明書が使用されます。これによって、署名者がアプリケーションの元の発行者であることが証明されます。重要: 元の証明書の有効期限が切れたり、失効したりする前に、証明書を変更する必要があります。証明書の有効期限が切れる前に、移行署名を使用して署名されたアップデートを作成していない場合、ユーザはアップデートをインストールする前に、アプリケーションの既存のバージョンをアンインストールする必要があります。商用証明書は、通常、更新して有効期限切れを回避できます。自己署名入り証明書は更新できません。
証明書を変更するには:
アプリケーションのアップデートを作成します。アップデートの AIR ファイルをパッケージ化し、新しい証明書で署名します。移行署名を適用する手順については、アプリケーション証明書を変更するための AIR ファイルへの署名を参照してください。更新された AIR ファイルがインストールされると、アプリケーションの ID が変更されます。この ID の変更には、次のような影響があります。アプリケーションの発行者 ID が新しい証明書に合わせて変更されます。新しいバージョンのアプリケーションでは、既存の暗号化されたローカルストアにあるデータにアクセスできません。アプリケーション記憶領域ディレクトリの場所が変更されます。
以前の場所にあるデータが新しいディレクトリにコピーされません(ただし、新しいアプリケーションは、以前の発行者 ID に基づく元のディレクトリには配置できません)
アプリケーションは、以前の発行者 ID を使用してローカル接続を開くことができなくなります。ユーザが移行前の AIR ファイルを再インストールすると、元の発行者 ID を使用して別のアプリケーションとしてインストールされます。元のバージョンのアプリケーションと新しいバージョンのアプリケーションとの間でデータを移行する処理は、アプリケーションで実行する必要があります。暗号化されたローカルストア(ELS)内のデータを移行するには、証明書で変更を行う前に、データを書き出す必要があります。
新しいバージョンのアプリケーションで、以前のバージョンの ELS を読めなくなる場合があります(データを移行するよりも、再作成した方が簡単である場合もあります)
できる限り多くの以降のアップデートに移行署名を適用し続ける必要があります。そうしないと、元のバージョンからアップグレードしていないユーザは、最新のアップデートをインストールする前に、中間移行バージョンをインストールするか、現在のバージョンを再インストールする必要があります。最終的には、元の証明書の有効期限が切れ、移行署名を適用することができなくなります(ただし、タイムスタンプ機能を無効にしている場合を除き、以前に移行署名を使用して署名された AIR ファイルは有効なままです。
移行署名にはタイムスタンプが付加され、証明書の有効期限が切れた後でも AIR で署名を受け入れることができます)
移行署名を含む AIR ファイルは、別の意味では通常の AIR ファイルです。元のバージョンがないシステムにアプリケーションをインストールした場合、AIR では通常の方法で新しいバージョンをインストールします。注意: 商用証明機関から発行された証明書を更新する場合、通常、証明書を移行する必要はありません。識別名が変更されていない限り、更新された証明書の発行者 ID は元の証明書の発行者 ID と同じになります。識別名を確認するために使用される証明書の属性の一覧については、AIR 発行者 ID についてを参照してください。ここでは、公開配布するアプリケーションへの署名方法を決定する際に理解しておく必要があるいくつかの用語を示します。
信頼できるサードパーティの役割を果たし、最終的に公開キーの所有者の ID を認定する公開キーインフラストラクチャネットワーク内のエンティティ
CA は一般的に、所有している秘密キーで署名した電子証明書を発行し、証明書の所有者の ID が検証済みであることを証明します。証明書を発行および検証する証明機関の運用とポリシーを規定します。CPS は、CA とその加入者およびその関係者間で結ばれる契約の一部です。また、証明機関が提供する証明書の ID 検証のポリシーおよび保証のレベルについても記載されています。
発行済み証明書の中で、取り消され、信頼されなくなった証明書のリスト
AIR は、AIR アプリケーションの署名時に CRL をチェックし、タイムスタンプがない場合は、もう一度アプリケーションをインストールします。証明書チェーンは一連の証明書のことで、チェーン内の各証明書はその次の証明書で署名されています。
所有者の ID、所有者の公開キー、および証明書自体の ID で構成されている電子ドキュメント
証明機関で発行された証明書自体は、発行側の CA に属する証明書で署名されます。
公開キーと秘密キーのペアの公開キーでのみ解読できる暗号化されたメッセージまたはダイジェスト
PKI では、電子署名には、最終的に証明機関で追跡可能な 1 つ以上の電子証明書が含まれます。電子署名は、署名後に(使用されている暗号化アルゴリズムが提供する保証の制限内で)改ざんされていないメッセージ(またはコンピュータファイル)の検証に使用でき、発行側の証明機関、署名者の ID が信頼できることが前提になります。
電子証明書、および関連の秘密キーが含まれる場合もあるデータベース
キーストアを管理したり、キーストアにアクセスするための拡張可能なアーキテクチャ
ハードウェアトークンベースのキーストアです。通常秘密キーと関連の電子証明書を含むファイルベースのキーストアです。
2 つの部分から構成される公開キーと秘密キーの非対称暗号化システムの秘密の部分
秘密キーは、秘密を保持する必要があり、ネットワーク上で転送されません。電子署名されたメッセージは、署名者によって秘密キーで暗号化されます。
2 つの部分から構成される公開キーと秘密キーの非対称暗号化システムの公開の部分
公開キーは自由に利用でき、秘密キーで暗号化されたメッセージの解読に使用されます。
証明機関が公開キーの所有者の ID を証明するための信頼性のシステム
ネットワークのクライアントは、信頼できる CA が発行した電子証明書を信頼して、電子メッセージ(またはファイル)の署名者の ID を検証します。
イベントの発生日時を含む電子署名されたデータ
タイムスタンプがある場合、AIR はそのタイムスタンプを使用して、署名時に証明書の有効性を立証します。これにより、AIR アプリケーションは、署名された証明書の期限が切れてもインストールできます。
タイムスタンプを発行する局
AIR でタイムスタンプを認識するために、タイムスタンプは RFC 3161 に準拠し、タイムスタンプ署名はインストールマシンの信頼できるルート証明書にチェーン化されている必要があります。
5| お使いのバージョンではない場合
ウィンドウ、画面、メニューおよびタスクバー / ネイティブメニューの操作
メニューのタイプ
メニューアイテムの状態
メニューアイテムへのオブジェクトの関連付け
ネイティブメニュークラスを使用すると、アプリケーションを実行しているオペレーティングシステムのネイティブメニュー機能にアクセスすることができます。
メニューのタイプ
AIR では、次のタイプのメニューをサポートしています。アプリケーションメニューは、アプリケーション全体に適用されるグローバルなメニューです。Mac OS X では、オペレーティングシステムで自動的にアプリケーションメニューが作成されます。AIR のメニュー API を使用すると、標準のメニューにアイテムやサブメニューを追加したり、既存のメニューコマンドを処理するリスナーを追加したり、既存のアイテムを削除したりすることができます。ウィンドウメニューは、1 つのウィンドウに関連付けられるメニューで、タイトルバーの下に表示されます。ネイティブウィンドウメニューは、システムクロムを持つウィンドウでのみ使用できます。コンテキストメニューは、SWF コンテンツ内のインタラクティブオブジェクトまたは HTML コンテンツ内のドキュメントエレメントを右クリックまたは Command キーを押しながらクリックすると開くメニューです。
ドックおよびシステムトレイアイコンメニュー
これらのアイコンメニューは、コンテキストメニューに似ており、Mac OS X の場合はドック内、Windows および Linux の場合はタスクバーの通知領域内に表示されるアプリケーションアイコンに割り当てられます。ドックおよびシステムトレイアイコンメニューでは、NativeMenu クラスが使用されます。Mac OS X では、メニューのアイテムは、オペレーティングシステムの標準のアイテムの上に追加されます。AIR のポップアップメニューはコンテキストメニューに似ていますが、特定のアプリケーションオブジェクトまたはコンポーネントに必ずしも関連付けられません。Flex メニューは、オペレーティングシステムではなく Adobe AIR によって描画されるメニューであり、ネイティブメニューではありません。Flex メニューコンポーネントは、システムクロムを持たない Flex ウィンドウに使用することができます。Flex メニューコンポーネントを使用するもう 1 つのメリットは、メニューを MXML 形式で宣言的に指定できることです。Flex フレームワークを使用する場合、ウィンドウメニューには、ネイティブクラスではなく Flex メニュークラスを使用します。ネイティブメニューは、完全にオペレーティングシステムによって描画されるため、Flash や HTML のレンダリングモデル内に含めることはできません。AIR のメニュークラスには、ネイティブメニューを制御および描画する機能は用意されていません。
デフォルトのメニュー
オペレーティングシステムまたは AIR ビルトインクラスで、次のデフォルトのメニューが提供されます。
HTML コンテンツの選択されたテキストおよびイメージに対応するコンテキストメニュー
メニューは、性質として階層的な構造をしています。
構造内の最上位レベル、つまりルートレベルのメニューオブジェクトは、アプリケーションメニューおよびウィンドウメニューのメニューバーを表します(コンテキスト、アイコンおよびポップアップの各メニューにはメニューバーはありません)
次の図に、典型的なメニューの構造を示します。ルートメニューはメニューバーを表しており、File サブメニューおよび Edit サブメニューを参照する 2 つのメニューアイテムが含まれています。Edit サブメニューには、3 つのコマンドと 1 つのセパレータが含まれています。
フルサイズのグラフィックを表示
NativeMenuItem オブジェクトでは親メニューに表示されるラベルが定義され、ユーザはこのオブジェクトを使用してサブメニューを開くことができます。NativeMenu オブジェクトは、サブメニューのアイテムのコンテナとして機能します。このメニューを作成するコードの例については、例:ウィンドウメニューとアプリケーションメニューを参照してください。メニューが表示される直前に、メニューおよびそのメニューアイテムから、登録されているすべてのリスナーに displaying イベントが送出されます。displaying イベントにより、メニューの内容やアイテムの外観を、ユーザに表示される前に更新することができます。例えば、最近使用したファイルを開くメニューの displaying イベントのリスナーでは、最近表示したドキュメントの現在の一覧を反映するようにメニューアイテムを変更することができます。このイベントオブジェクトの target プロパティは常に、表示されるメニューになります。currentTarget は、リスナーが登録されているオブジェクトで、そのメニュー自体またはそのいずれかのメニューアイテムになります。注意: また、displaying イベントは、メニューまたはそのいずれかのアイテムにアクセスされるたびに送出されます。コマンドアイテムがユーザによって選択されると、そのアイテムから、登録されているすべてのリスナーに select イベントが送出されます。サブメニューアイテムとセパレータアイテムは選択できないため、これらから select イベントが送出されることはありません。select イベントは、メニューアイテムからそれを含むメニューへと、ルートメニューに達するまでバブルします。select イベントは、アイテムで直接リッスンすることも、メニュー構造の上位でリッスンすることもできます。select イベントをメニューでリッスンする場合は、そのイベントの target プロパティを使用して、選択されたアイテムを識別できます。メニュー階層の上方にイベントがバブルしていくのに合わせて、イベントオブジェクトの currentTarget プロパティは、現在のメニューオブジェクトを識別します。メニューコマンドにキーボードショートカット(アクセラレータ)を割り当てることができます。キーまたはキーの組み合わせが押されると、メニューアイテムから、登録されているすべてのリスナーに select イベントが送出されます。アイテムが格納されるメニューは、コマンドが呼び出されるアプリケーションまたはアクティブなウィンドウのメニューの一部である必要があります。キーボードショートカットは 2 つの部分から構成されます。主キーを表すストリングと、一緒に押される必要がある修飾キーの配列です。大文字を使用した場合、修飾キーの配列に Shift キーが自動的に追加されます。これらのデフォルトのキーは、修飾キーの配列に自動的に追加されます。デフォルトの配列は上書きされます。デフォルトの修飾キーを使用するか独自の修飾キーの配列を割り当てるかに関係なく、keyEquivalent プロパティに割り当てたストリングが大文字の場合は Shift キーが追加されます。修飾キーに使用するキーコードの定数は、Keyboard クラスで定義されています。割り当てられたキーボードショートカットのストリングは、自動的にメニューアイテム名の横に表示されます。形式は、ユーザのオペレーティングシステムおよびシステムの環境設定によって異なります。COMMAND 値を割り当てた場合、メニューにキーボードショートカットは表示されません。ただし、そのメニューコマンドをアクティブにするには Ctrl キーを使用する必要があります。次の例では、メニューアイテムのキーボードショートカットとして Ctrl+Shift+G を割り当てます。次の例では、修飾キーの配列を直接設定することにより、キーボードショートカットとして Ctrl+Shift+G を割り当てます。注意: キーボードショートカットでトリガできるのは、アプリケーションメニューまたはウィンドウメニューのみです。コンテキストメニューまたはポップアップメニューにキーボードショートカットを追加した場合、メニューラベルにはキーボードショートカットが表示されますが、関連付けられたメニューコマンドを呼び出すことはできません。ニーモニックは、オペレーティングシステムのメニューのキーボードインターフェイスの一部です。デフォルトでは、有効な文字はラベルの最初の文字ですが、メニューアイテムにニーモニックを割り当てると、有効な文字は指定した文字になります。メニュー内の 2 つのアイテムの有効な文字が同じ場合(ニーモニックが割り当てられているかどうかに関係なく)、メニューのキーボード操作が少し異なります。1 文字入力してメニューまたはコマンドを選択するのではなく、ユーザは必要な回数だけその文字を入力して対象のアイテムを強調表示してから、Enter キーを押して選択を完了する必要があります。動作の一貫性を維持するために、ウィンドウメニューでは、メニュー内のアイテムそれぞれに異なるニーモニックを割り当てることをお勧めします。Linux では、既定のニーモニックは設定されません。メニューアイテムの mnemonicIndex プロパティ値を設定することでニーモニックを指定する必要があります。ニーモニック文字は、ラベルストリングのインデックスとして指定します。ラベルの最初の文字のインデックスは 0 です。
メニューアイテムの状態
true に設定すると、アイテムラベルの横にチェックマークが表示されます。無効にしたアイテムは「グレー表示」され、そのアイテムからは select イベントは送出されません。
メニューアイテムへのオブジェクトの関連付け
例えば、最近使用したファイルを開くメニューでは、それぞれのメニューアイテムに各ドキュメントの File オブジェクトを割り当てることができます。
5| お使いのバージョンではない場合
AIR 開発ツール / コマンドラインツールを使用した AIR アプリケーションの作成
ADL によるアプリケーションの起動
トレースステートメントの出力
ADL の終了コードとエラーコード
ADL を使用すると、アプリケーションをパッケージ化してインストールしなくても実行できます。デフォルトでは、ADL では SDK に付属するランタイムが使用されるので、ADL を使用するためにランタイムを個別にインストールする必要はありません。ADL では、トレースステートメントとランタイムエラーが標準出力に出力されますが、ブレークポイントやその他のデバッグ機能はサポートされていません。
ADL によるアプリケーションの起動
次のシンタックスを使用します。指定しない場合、ADL プログラムと同じ SDK のランタイムディレクトリが使用されます。SDK フォルダ外へ ADL を移動している場合は、ランタイムディレクトリを指定する必要があります。一時的な発行者 ID を指定すると、ローカル接続による通信など、アプリケーションを一意に識別できるようにするために発行者 ID を使用する AIR アプリケーションの機能をテストできます。最終的な発行者 ID は、AIR インストールファイルへの署名に使用される電子証明書によって決まります。このオプションを使用すると、アプリケーションプロセスが Flash デバッガに接続できなくなり、処理されていない例外のダイアログが非表示になります。ただし、トレースステートメントは、引き続きコンソールウィンドウに出力されます。デバッグをオフにすると、アプリケーションの実行がやや速くなり、インストールされているアプリケーションの実行モードに動作が近くなります。xml アプリケーション記述ファイルです。詳しくは、AIR アプリケーションプロパティの設定を参照してください。指定しない場合、アプリケーション記述ファイルが含まれているディレクトリが使用されます。-- arguments 「--」の後に続くすべての文字ストリングが、コマンドライン引数としてアプリケーションに渡されます。注意: 既に実行されている AIR アプリケーションを起動した場合、そのアプリケーションの新しいインスタンスは開始されません。代わりに、invoke イベントが実行中のインスタンスに送出されます。
トレースステートメントの出力
ADL の実行に使用するコンソールにトレースステートメントを出力するには、trace() 関数を使用して、トレースステートメントをコードに追加します。現在のディレクトリのアプリケーションを実行します。現在のディレクトリのサブディレクトリのアプリケーションを実行します。特定のランタイムを使用してアプリケーションを実行します。デバッグサポートを使用せずにアプリケーションを実行します。Flash デバッガで SWF ベースの AIR アプリケーションをデバッグするには、FDB セッションを開始してから、アプリケーションのデバッグバージョンを起動します。SWF ファイルのデバッグバージョンを含む AIR アプリケーションが、リッスンしている FDB セッションに自動的に接続されます。注意: AIR アプリケーションのデバッグバージョンは、-debug フラグを指定してメインの SWF ファイルをコンパイルしたものです。別のコマンドまたはシェルコンソールで、アプリケーションのデバッグバージョンを開始します。FDB コマンドを使用して、必要に応じてブレークポイントを設定します。FDB コマンドの基本情報を表示するには、help コマンドを実行します。FDB コマンドについて詳しくは、Flex ドキュメントのコマンドラインデバッガコマンドの使用を参照してください。
ADL の終了コードとエラーコード
次の表で、ADL によって出力される終了コードについて説明します。
既に実行されている AIR アプリケーションの正常な呼び出し
ADL に渡された引数が正しくありません。ランタイムが見つかりません。ランタイムを起動できません。多くの場合、アプリケーションで指定されたバージョンまたはパッチレベルが、ランタイムのバージョンまたはパッチレベルと一致しないために起こります。原因不明のエラーが発生しました。アプリケーション記述ファイルが見つかりません。アプリケーション記述子の内容が無効です。このエラーは、通常、XML の形式が正しくないことを示しています。アプリケーションのメインコンテンツファイル(アプリケーション記述ファイルの <content> エレメントで指定)が見つかりません。アプリケーションのメインコンテンツファイルが、有効な SWF または HTML ファイルではありません。
5| お使いのバージョンではない場合
ファイルとデータ / ファイルシステムの操作
File オブジェクトでのディレクトリの参照
ユーザのホームディレクトリの参照
ユーザのドキュメントディレクトリの参照
デスクトップディレクトリの参照
アプリケーションディレクトリの参照
ファイルシステムのルートの参照
明示的なディレクトリの参照
相対パスのナビゲーション
参照するディレクトリの選択
アプリケーションを起動したディレクトリの参照
File オブジェクトでのファイルの参照
明示的なファイルパスの参照
ディレクトリ内のファイルの列挙
参照するファイルの選択
2 つのファイル間の相対パスの取得
標準化バージョンのファイル名の取得
パッケージおよびシンボリックリンクの操作
ボリューム上の利用可能な領域の特定
File オブジェクトは、ファイルシステム内のファイルまたはディレクトリへのポインタです。File クラスを使用して以下を実行できます。
特殊なディレクトリへのパスの取得(ユーザディレクトリ、ユーザのドキュメントディレクトリ、アプリケーションが起動されたディレクトリ、アプリケーションディレクトリなど)
ファイルおよびディレクトリのコピー
ファイルおよびディレクトリの移動
ファイルおよびディレクトリの削除(またはごみ箱への移動)
ディレクトリに格納されているファイルおよびディレクトリの一覧の出力
一時ファイルおよび一時フォルダの作成
File オブジェクトでファイルパスを参照すると、FileStream クラスでそれを使用してファイルデータの読み取りと書き込みができるようになります。File オブジェクトでは、まだ存在しないファイルまたはディレクトリのパスを参照できます。このような File オブジェクトは、ファイルまたはディレクトリの作成に使用できます。各 File オブジェクトには、そのオブジェクトのパスをそれぞれ定義する 2 つのプロパティがあります。ファイルへのプラットフォーム固有のパスを指定します。それらについては、サポートされる URL スキームで説明します。これらのプロパティは次のとおりです。これらのプロパティには、様々なオペレーティングシステムで意味のある値が設定されます。desktopDirectory プロパティは、これらの各プラットフォーム上の正しいデスクトップディレクトリパスを参照します。複数のプラットフォームにわたって正常に機能するアプリケーションを作成するには、アプリケーションが使用する他のディレクトリやファイルを参照する土台としてこれらのプロパティを使用します。xml ファイルを参照しています。File クラスでは特定のファイルパスを参照できますが、その場合、アプリケーションが複数のプラットフォームにわたって機能しなくなる可能性があります。これらの File プロパティについて詳しくは、次の節を参照してください。
File オブジェクトでのディレクトリの参照
File オブジェクトでディレクトリの参照を設定するには、様々な方法があります。
ユーザのホームディレクトリの参照
File オブジェクトでユーザのホームディレクトリを参照できます。次のコードでは、ホームディレクトリの AIR Test サブディレクトリを参照するように File オブジェクトを設定しています。
ユーザのドキュメントディレクトリの参照
File オブジェクトでユーザのドキュメントディレクトリを参照できます。次のコードでは、ドキュメントディレクトリの AIR Test サブディレクトリを参照するように File オブジェクトを設定しています。
デスクトップディレクトリの参照
File オブジェクトでデスクトップを参照できます。次のコードでは、デスクトップの AIR Test サブディレクトリを参照するように File オブジェクトを設定しています。File オブジェクトでアプリケーション記憶領域ディレクトリを参照できます。AIR アプリケーションにはそれぞれ、アプリケーション記憶領域ディレクトリを定義する一意のパスが関連付けられています。このディレクトリは、アプリケーションおよびユーザごとに一意に割り当てられます。このディレクトリは、ユーザおよびアプリケーションに固有のデータ(ユーザデータや環境設定ファイルなど)を格納するために使用できます。
例えば、次のコードでは、アプリケーション記憶領域ディレクトリに格納されている prefs
xml という環境設定ファイルを File オブジェクトで参照します。アプリケーション記憶領域ディレクトリの場所は、ユーザ名、アプリケーション ID および発行者 ID に基づきます。次に例を示します。
アプリケーションディレクトリの参照
File オブジェクトで、アプリケーションがインストールされたディレクトリ(アプリケーションディレクトリ)を参照できます。
このディレクトリを参照するには、File
このディレクトリでは、アプリケーション記述ファイルなど、アプリケーションと共にインストールされたリソースを確認できます。例えば、次のコードでは、アプリケーションディレクトリにある images というディレクトリを File オブジェクトで参照します。
ファイルシステムのルートの参照
Windows コンピュータの場合は、C: およびマウントされたボリュームが含まれます。
明示的なディレクトリの参照
重要: このような方法で明示的なパスを参照すると、コードが複数のプラットフォームにわたって機能しなくなる可能性があります。
クロスプラットフォームで機能するディレクトリを見つけるには、File
相対パスのナビゲーション
resolvePath() メソッドを使用すると、別の特定のパスを基準とした相対的なパスを取得できます。例えば、次のコードでは、ユーザのホームディレクトリの AIR Test サブディレクトリを参照するように File オブジェクトを設定しています。また、次のように、File オブジェクトの url プロパティを使用すると、URL ストリングに基づいてディレクトリを参照することもできます。詳しくは、File パスの変更を参照してください。
参照するディレクトリの選択
このメソッドでは、ユーザがディレクトリを選択して「開く」ボタンをクリックすると select イベントを送出し、ユーザが「キャンセル」ボタンをクリックすると cancel イベントを送出します。例えば、次のコードでは、ユーザがディレクトリを選択できるようにし、その選択に応じたディレクトリパスを出力します。
アプリケーションを起動したディレクトリの参照
詳しくは、コマンドライン引数のキャプチャを参照してください。
File オブジェクトでのファイルの参照
File オブジェクトで参照するファイルを設定するには、様々な方法があります。
明示的なファイルパスの参照
重要: 明示的なパスを参照すると、コードが複数のプラットフォームにわたって機能しなくなる可能性があります。
クロスプラットフォームで機能するディレクトリを見つけるには、File
次のように、File オブジェクトの url プロパティを使用すると、URL ストリングに基づいてファイルまたはディレクトリを参照できます。txt ファイルを参照するように File オブジェクトが設定されます。このパスは、次のように File() コンストラクタ関数に渡すこともできます。Windows では、円記号(¥)も使用できますが、その場合、アプリケーションが複数のプラットフォームにわたって機能しなくなる可能性があります。詳しくは、File パスの変更を参照してください。
ディレクトリ内のファイルの列挙
詳しくは、ディレクトリの列挙を参照してください。
参照するファイルの選択
File クラスには、ユーザがオブジェクトに割り当てるファイルを選択できるシステムダイアログボックスを表示する以下のメソッドがあります。これらのメソッドでは、いずれも非同期で処理が行われます。例えば、次のコードでは、ファイルを選択するための「開く」ダイアログボックスが表示されます。アプリケーションで別の参照ダイアログボックスが開かれている場合に参照メソッドを呼び出すと、ランタイムから Error 例外がスローされます。nativePath プロパティを使用する場合、ディレクトリの区切り文字としてスラッシュ(/)を使用します。Windows では、円記号(¥)も使用できますが、コードがクロスプラットフォームで機能しなくなるため、それは避ける必要があります。ファイルシステムのルートを基準とした相対的なパスを指定する場合に使用します。次に例を示します。例外として、<host> のストリングは空にすることができます。その場合、「URL の解釈を行っているマシン」を示すものと解釈されます。
インストールされたアプリケーションのルートディレクトリ(インストールされたアプリケーションの application
xml ファイルが格納されたディレクトリ)を基準とした相対的なパスを指定する場合に使用します。例えば、次のパスは、インストールされているアプリケーションのディレクトリの images サブディレクトリを参照しています。アプリケーション記憶領域ディレクトリを基準とした相対的なパスを指定する場合に使用します。AIR では、インストールされたアプリケーションごとに、一意のアプリケーション記憶領域ディレクトリが定義されます。このディレクトリは、そのアプリケーション固有のデータを格納するための便利な場所として使用できます。xml ファイルを参照しています。
2 つのファイル間の相対パスの取得
シンタックスを結果として返して、親ディレクトリを示すことができます。
標準化バージョンのファイル名の取得
次のような場合、2 つの File オブジェクトで同じファイルが参照されます。ただし、実際のドキュメント名やディレクトリ名には大文字も使用されます。例えば、次の例では、ドキュメントディレクトリに AIR Test というフォルダがあることを前提にしています。Linux などの大文字と小文字を区別するファイルシステムでは、大文字と小文字の区別だけが異なる複数のファイルが存在する場合、canonicalize() メソッドにより、最初に見つかったファイル(ファイルシステムによって決められた順序による)に合わせてパスが調整されます。3」形式の名前)を長いファイル名に変換する場合にも使用できます。
パッケージおよびシンボリックリンクの操作
各種のオペレーティングシステムで、パッケージファイルおよびシンボリックリンクファイルがサポートされています。シンボリックリンクを使用すると、ファイルからディスク上の別のファイルやディレクトリを参照できるようになります。シンボリックリンクはエイリアスに似ていますが、同じではありません。エイリアスは常に(ディレクトリではなく)ファイルとして報告され、エイリアスまたはショートカットに対して読み取りまたは書き込みを行っても、その参照先である元のファイルまたはディレクトリが影響を受けることはありません。これに対し、シンボリックリンクは、参照先のファイルまたはディレクトリとまったく同じように動作します。ファイルまたはディレクトリとして報告することができ、シンボリックリンクに対して読み取りまたは書き込みを行うと、シンボリックリンク自体ではなく、参照先のファイルまたはディレクトリに反映されます。次のコードでは、ユーザのデスクトップディレクトリを繰り返し処理して、パッケージではないサブディレクトリの一覧を出力します。次のコードでは、ユーザのデスクトップディレクトリを繰り返し処理して、シンボリックリンクではないファイルおよびディレクトリの一覧を出力します。canonicalize() メソッドでは、シンボリックリンクのパスを、そのリンクの参照先のファイルまたはディレクトリを参照するように変更します。次のコードでは、ユーザのデスクトップディレクトリを繰り返し処理して、シンボリックリンクであるファイルによって参照されているパスを報告します。
ボリューム上の利用可能な領域の特定
例えば、次のコードでは、アプリケーション記憶領域ディレクトリで利用可能な領域を確認します。File オブジェクトがディレクトリを参照している場合、spaceAvailable プロパティはファイルが使用できるディレクトリ内の領域を示します。File オブジェクトがシンボリックリンクを参照している場合、spaceAvailable プロパティは、シンボリックリンクが指している場所で利用可能な領域に設定されます。通常、ディレクトリやファイルに利用可能な領域は、ディレクトリまたはファイルを格納するボリュームで利用可能な領域と同じです。ただし、利用可能な領域では、クォータやディレクトリごとの制限が考慮される場合があります。ファイルやディレクトリをボリュームに追加するには、一般的に、実際のファイルのサイズやディレクトリのコンテンツのサイズよりも大きな領域が必要です。例えば、オペレーティングシステムの場合、インデックス情報を格納するためにより多くの領域が必要になる可能性があります。また、必要なディスクセクタのために、追加の領域が使用される場合があります。さらに、利用可能な領域は動的に変化します。したがって、報告されたすべての領域をファイル記憶域として割り当てることはできません。ファイルシステムへの書き込みについては、ファイルの読み取りと書き込みを参照してください。
5 * データベースへの接続
5| お使いのバージョンではない場合
データベースへの接続
データベース操作を実行するには、まずデータベースファイルへの接続を開く必要があります。SQLConnection インスタンスを使用して接続した最初のデータベースを「メイン」データベースと呼びます。次の例は、既存のデータベースファイルを非同期実行用に開く方法を示しています。db」という名前で、ユーザのアプリケーション格納ディレクトリにあります。次の例は、既存のデータベースファイルを同期実行用に開く方法を示しています。db」という名前で、ユーザのアプリケーション格納ディレクトリにあります。UPDATE になっていることに注意してください。ただし、ファイルが存在する場合は、ファイルが開かれます。READ を openMode パラメータに指定して既存のデータベースを読み取り専用モードで開くこともできます。その場合は、データベースからデータを取得することはできますが、データを追加したり、削除したり、変更したりすることはできません。
5 * ステートメント内でのパラメータの使用
5| お使いのバージョンではない場合
ステートメント内でのパラメータの使用
ステートメントパラメータについて
名前付きパラメータの使用
名前のないパラメータの使用
パラメータを使用するメリット
SQL ステートメントパラメータを使用すると、再利用可能な SQL ステートメントを作成できます。ステートメントパラメータを使用する場合、ステートメント内の値は変わっても(INSERT ステートメントの追加される値など)、基本的なステートメントテキストは変わりません。その結果、パラメータを使用することでパフォーマンスが向上し、アプリケーションのコーディングも容易になります。
ステートメントパラメータについて
アプリケーションで 1 つの SQL ステートメントが、小さな変更を加えながら何度も使用されることがよくあります。例えば、ユーザが新しい在庫品目をデータベースに追加できる在庫追跡アプリケーションでは、在庫品目をデータベースに追加するアプリケーションコードで、データを実際にデータベースに追加する SQL INSERT ステートメントが実行されますが、このステートメントは実行のたびに多少変更されます。テーブルに挿入される実際の値は、追加される在庫品目に固有の値であるため、毎回異なるからです。このように異なる値で何度も使用される SQL ステートメントがある場合は、SQL テキスト内にリテラル値の代わりにパラメータを含む SQL ステートメントを使用することをお勧めします。パラメータは、ステートメントが実行されるたびに実際の値に置き換えられるステートメントテキスト内のプレースホルダです。SQL ステートメント内でパラメータを使用するには、SQLStatement インスタンスを通常どおりに作成し、text プロパティに割り当てる実際の SQL ステートメントで、リテラル値の代わりにパラメータプレースホルダを使用します。parameters プロパティは連想配列であるため、特定の値を設定するには次のシンタックスを使用します。
名前付きパラメータの使用
パラメータは、名前付きパラメータにすることができます。名前付きパラメータには、パラメータ値をステートメントテキスト内のそのプレースホルダの場所に対応させるためにデータベースで使用される特定の名前があります。パラメータ名は、「:」または「@」の文字と、それに続く名前で構成されます。以下に例を示します。次のコードリストは、名前付きパラメータの使用方法を示しています。
名前のないパラメータの使用
名前付きパラメータの代わりに、名前のないパラメータを使用することもできます。
名前のないパラメータを使用する場合は、SQL ステートメント内で「
」文字を使用してパラメータを表します。ステートメント内の順番に従って、0 から始まる数値インデックスが各パラメータに割り当てられます。次の例では、先ほどの例が、名前のないパラメータを使用するように変更されています。
パラメータを使用するメリット
SQL ステートメントでパラメータを使用すると、次のようなメリットがあります。
パフォーマンスの向上
このようにパフォーマンスが向上するのは、1 回準備したステートメントを異なるパラメータ値で何度も実行できるため、SQL ステートメントを再コンパイルする必要がないからです。
明示的なデータ型の指定
パラメータを使用すると、SQL ステートメントの作成時には不明な値の型指定された置き換えが可能になります。データベースに渡される値の格納クラスを保証するには、パラメータを使用するしかありません。パラメータを使用しない場合は、すべての値が、関連付けられている列の型の類似性に基づいてテキスト表現から格納クラスに変換されます。
セキュリティの強化
パラメータを使用すると、SQL インジェクション攻撃と呼ばれる悪質なテクニックの防止に役立ちます。SQL インジェクション攻撃では、ユーザがアクセスできる場所(データ入力フィールドなど)に SQL コードが入力されます。この場合、ユーザ入力を直接 SQL テキストに連結して SQL ステートメントを作成するアプリケーションコードでは、ユーザが入力した SQL コードがデータベースに対して実行されます。次のリストは、ユーザ入力が SQL テキストに連結される例を示しています。このテクニックは使用しないでください。ユーザが入力した値をステートメントのテキストに連結する代わりにステートメントパラメータを使用すると、SQL インジェクション攻撃を防止できます。この場合に SQL インジェクションが発生しないのは、パラメータ値はリテラルステートメントテキストの一部にはならず、置き換えられる値として明示的に扱われるからです。以下は、前のリストの代わりとして推奨されるリストです。
5 * ファイルシステムの操作
5| お使いのバージョンではない場合
ファイルとデータ
ファイルシステムの操作
ホストコンピュータのファイルシステムにアクセスするには、Adobe® AIR® のファイルシステム API で提供されるクラスを使用します。これらのクラスを使用すると、ディレクトリやファイルにアクセスしてそれらを管理したり、ディレクトリやファイルを作成したり、ファイルにデータを書き込んだりすることができます。
ファイルシステム情報の取得
ディレクトリの操作
ファイルの操作
ファイルの読み取りと書き込み
5 * ファイルシステム情報の取得
5| お使いのバージョンではない場合
ファイルとデータ / ファイルシステムの操作
ファイルシステム情報の取得
File クラスには、ファイルシステムに関するいくつかの有益な情報を示す以下の静的プロパティがあります。ホストオペレーティングシステムで使用される行終了文字シーケンスです。Windows では、復帰文字の後に改行文字が続いたものです。ホストオペレーティングシステムのパスコンポーネントの区切り文字です。ホストオペレーティングシステムでファイルに対して使用されるデフォルトのエンコーディングです。これは、オペレーティングシステムでその言語に応じて使用される文字セットに関連します。Capabilities クラスにも、ファイルの操作で役立つことがある有益なシステム情報があります。コンテンツが実行されているシステムの言語コードを示します。現在のオペレーティングシステムを示します。os を使用してシステムの特性を確認する場合には、慎重に行う必要があります。システム特性を確認するためのより固有なプロパティが存在する場合は、それを使用してください。それ以外の場合、すべてのプラットフォームで正しく機能することがないコードを記述する危険があります。例えば、次のようなコードがあるとします。このコードは Linux 上で問題を引き起こします。
5| お使いのバージョンではない場合
アプリケーションの配布とアップデート
AIR アプリケーションのアップデート
アプリケーションのアップデートについて
バージョンストリングについて
カスタムのアプリケーションアップデートユーザインターフェイスの表示
ユーザのコンピュータへの AIR ファイルのダウンロード
アプリケーションが初めて実行されたかどうかの確認
アップデートフレームワークの使用
HTML ベースの AIR アプリケーションへのフレームワークファイルのインクルード
アップデート記述ファイルの定義と Web サーバへの AIR ファイルの追加
アップデート設定の構成
XML 設定ファイルでのアップデート設定の定義
アップデートフレームワークの初期化
アップデート記述ファイルのダウンロードと解釈
アプリケーションのアップデート
任意の AIR ファイルからのインストール
アップデートプロセスのキャンセル
ユーザは、コンピュータ上の AIR ファイルをダブルクリックするかブラウザから(シームレスインストール機能を使用して)AIR アプリケーションをインストールまたはアップデートできます。
Adobe® AIR® インストーラアプリケーションによってインストールが管理され、既に存在するアプリケーションをアップデートする場合はユーザに警告が表示されます(AIR アプリケーションの配布、インストール、実行を参照してください)
一方、Updater クラスを使用して、インストールされているアプリケーションの新しいバージョンへのアップデートをアプリケーション自体で行うこともできます(インストールされているアプリケーションで、新しいバージョンをダウンロードしてインストールできるようになったことを検出できます)
Updater クラスに含まれる update() メソッドを使用することにより、ユーザのコンピュータ上の AIR ファイルを参照してそのバージョンにアップデートすることができます。アップデート AIR ファイルのアプリケーション ID と 発行者 ID の両方が、アップデートするアプリケーションと一致する必要があります。発行者 ID は署名者の証明書から取得します。つまり、アップデートおよびアップデートされるアプリケーションの両方を同じ証明書を使用して署名する必要があります。1 以降では、アプリケーションを移行して新しいコード署名証明書を使用できます。アプリケーションを移行して新しい署名を使用するには、新しい証明書と元の証明書の両方を使用してアップデート AIR ファイルに署名する必要があります。証明書の移行は一方的なプロセスです。移行後は、新しい証明書(または両方の証明書)で署名した AIR ファイルのみが既存のインストールへのアップデートとして認識されます。アプリケーションのアップデートの管理は複雑になることがあります。5 には、新しいアップデートフレームワーク(AdobeAIR アプリケーション向け)が含まれています。このフレームワークでは、開発者が AIR アプリケーションに優れたアップデート機能を実装するのを支援する API が提供されています。証明書の移行により、自己署名証明書から商用コード署名証明書に切り替えたり、自己署名証明書間または商用コード署名証明書間で切り替えたりすることができます。証明書を移行しないと、既存のユーザは現在のバージョンのアプリケーションを削除してから新しいバージョンをインストールする必要があります。詳しくは、証明書の変更を参照してください。
アプリケーションのアップデートについて
このメソッドを使用すると、現在実行されているアプリケーションを別のバージョンにアップデートすることができます。air」)がユーザのデスクトップに保存されている場合にアプリケーションをアップデートするコードの例を次に示します。アプリケーションで Updater クラスを使用する前に、ユーザまたはアプリケーションによって、アップデートバージョンの AIR ファイルがコンピュータにダウンロードされている必要があります。詳しくは、ユーザのコンピュータへの AIR ファイルのダウンロードを参照してください。ランタイムのアプリケーションで update() メソッドを呼び出すと、ランタイムによってアプリケーションが終了され、AIR ファイルからの新しいバージョンのインストールが試行されます。
ランタイムによって、AIR ファイルで指定されたアプリケーション ID および発行者 ID が、update() メソッドの呼び出し元アプリケーションのアプリケーション ID および発行者 ID と一致するかどうかが確認されます(アプリケーション ID および発行者 ID について詳しくは、AIR アプリケーションプロパティの設定を参照してください)
さらに、バージョンストリングが、version ストリング(update() メソッドに渡されたストリング)と一致するかどうかが確認されます。インストールが正常に完了した場合、ランタイムによって新しいバージョンのアプリケーションが起動します。それ以外の場合(インストールを完了できなかった場合)は、既存(インストール前)のバージョンのアプリケーションが再度起動します。Macintosh でアプリケーションのアップデートバージョンをインストールするには、アプリケーションディレクトリにインストールするための適切なシステム権限が必要です。アップデートバージョンのアプリケーションで、アップデートバージョンのランタイムが必要な場合は、新しいランタイムバージョンがインストールされます。ランタイムをアップデートするためには、ユーザは対象のコンピュータの管理権限を持っている必要があります。ADL を使用してアプリケーションをテストしているときに update() メソッドを呼び出すと、ランタイム例外が発生します。
バージョンストリングについて
セキュリティ上の理由から、必ず version パラメータを指定する必要があります。AIR ファイルのアプリケーションのバージョン番号の確認を必須とすることで、現在インストールされているアプリケーションでは修正済みのセキュリティ上の脆弱性が含まれている可能性がある古いバージョンのアプリケーションが、誤ってインストールされることがなくなります。また、ダウングレード攻撃を回避するために、AIR ファイルのバージョンストリングとインストールされたアプリケーションのバージョンストリングが一致するかどうかをアプリケーションで確認する必要があります。バージョンストリングは、任意の形式で指定することができます。このストリングの形式は、アプリケーション開発者が決定します。ランタイムではバージョンストリングの検証は行われないため、アプリケーションのアップデート前にアプリケーションコードで検証する必要があります。
AIR ファイルをこれ以外の方法で取得した場合は AIR ファイルのバージョンが不明な場合がありますが、AIR アプリケーションで AIR ファイルを確認してバージョン情報を特定することができます(AIR ファイルは ZIP 圧縮されたアーカイブで、アプリケーション記述ファイルはそのアーカイブの 2 つ目のレコードです)
アプリケーション記述ファイルについて詳しくは、AIR アプリケーションプロパティの設定を参照してください。
カスタムのアプリケーションアップデートユーザインターフェイスの表示
AIR には、デフォルトのアップデートインターフェイスがあります。
フルサイズのグラフィックを表示
ユーザがアプリケーションのバージョンを最初にマシンにインストールしたときは、常にこのインターフェイスが使用されます。ただし、独自のインターフェイスを定義して以降のインスタンスに使用することができます。アプリケーションでカスタムのアップデートインターフェイスが定義される場合は、現在インストールされているアプリケーションのアプリケーション記述ファイルで customUpdateUI エレメントを指定します。アプリケーションがインストールされ、インストールされたアプリケーションとアプリケーション ID および発行者 ID が一致する AIR ファイルがユーザによって開かれると、デフォルトの AIR アプリケーションインストーラではなくランタイムによってアプリケーションが起動します。詳しくは、アプリケーションアップデート用のカスタムユーザインターフェイスの提供を参照してください。アップデートするように指定する場合、アプリケーション独自の(標準で実行されるインターフェイスとは異なる)インストールインターフェイスをユーザに表示することができます。
ユーザのコンピュータへの AIR ファイルのダウンロード
Updater クラスを使用するには、ユーザまたはアプリケーションによって、ユーザのローカルコンピュータに AIR ファイルがあらかじめ保存されている必要があります。5 にはアップデートフレームワークが含まれており、開発者が AIR アプリケーションに優れたアップデート機能を実装するのを支援します。このフレームワークを使用するのは、 クラスの update() メソッドを直接使用するよりも格段に簡単です。詳しくは、アップデートフレームワークの使用を参照してください。air)から AIR ファイルを読み取り、その AIR ファイルをアプリケーション記憶領域ディレクトリに保存します。詳しくは、ファイルの読み取りと書き込みのワークフローを参照してください。
アプリケーションが初めて実行されたかどうかの確認
アプリケーションのアップデートの完了後に、ユーザに「はじめに」または「ようこそ」などのメッセージを表示することができます。起動時に、メッセージを表示するかどうかを判断できるように、初めて実行されたかどうかがアプリケーションで確認されます。5 にはアップデートフレームワークが含まれており、開発者が AIR アプリケーションに優れたアップデート機能を実装するのを支援します。このフレームワークにより、アプリケーションのバージョンが初めて実行されたかどうかを簡単に確認できます。詳しくは、アップデートフレームワークの使用を参照してください。そのための 1 つの方法として、アプリケーションの初期化時にファイルがアプリケーション記憶領域ディレクトリに保存されます。アプリケーションが起動されるたびに、そのファイルが存在するかどうかをアプリケーションで確認します。ファイルが存在しない場合、アプリケーションは現在のユーザに初めて実行されたことになります。ファイルが存在する場合は、既に少なくとも 1 回はアプリケーションが実行されています。ファイルが存在し、ファイルに現在のバージョン番号よりも古いバージョン番号が含まれていれば、ユーザが新しいバージョンを初めて実行していると判断できます。次の例は、このコンセプトを示しています。アプリケーションでデータをローカル(アプリケーション記憶領域ディレクトリなど)に保存している場合、初めて実行されたときに保存された(以前のバージョンの)データがあるかどうかを確認することができます。
アップデートフレームワークの使用
アプリケーションのアップデートの管理は複雑になることがあります。アップデートフレームワーク(AdobeAIR アプリケーション向け)では、開発者が AIR アプリケーションに優れたアップデート機能を実装するのを支援する API が提供されています。この AIR アップデートフレームワークの機能は、次の点において開発者を支援します。
一定の間隔またはユーザの要求に基づくアップデートの定期的なチェック
新しくインストールされたバージョンが初めて実行される際のユーザへの警告の表示
アップデートのチェックを行うかどうかのユーザへの確認
新しいアップデートバージョンに関する情報のユーザへの表示
ダウンロードの進捗状況およびエラー情報のユーザへの表示
AIR アップデートフレームワークには、アプリケーションで使用できるサンプルユーザインターフェイスが用意されています。このサンプルユーザインターフェイスにより、アプリケーションのアップデートに関する基本情報とオプションがユーザに提供されます。アプリケーションで独自のカスタムユーザインターフェイスを定義して、アップデートフレームワークに使用することもできます。AIR アップデートフレームワークを使用すると、AIR アプリケーションのアップデートバージョンに関する情報を単純な XML 設定ファイルに格納できます。ほとんどのアプリケーションでは、これらの設定ファイルを設定していくつかの基本コードを含めることにより、優れたアップデート機能をエンドユーザに提供できます。アップデートフレームワークを使用しない場合でも、Adobe AIR には、AIR アプリケーションの新しいバージョンへのアップグレードに使用できる Updater クラスが用意されています。このクラスを使用して、ユーザのコンピュータ上の AIR ファイルに含まれているバージョンにアプリケーションをアップグレードできます。ただし、アップグレードの管理では、ローカルに保存されている AIR ファイルに基づいてアプリケーションをアップデートする以外にも作業が必要になることがあります。AIR アップデートフレームワークには、次のディレクトリが含まれています。doc - AIR アップデートフレームワークのドキュメント(このドキュメント)です。詳しくは、HTML ベースの AIR アプリケーションへのフレームワークファイルのインクルードを参照してください。samples - このディレクトリには、アプリケーションアップデートフレームワークの使用方法を示す Flex ベースおよび HTML ベースのサンプルが含まれています。すべての AIR アプリケーションと同様に、これらのファイルをコンパイルおよびテストしてください。
HTML ベースの AIR アプリケーションへのフレームワークファイルのインクルード
swf - ユーザインターフェイスを除く、アップデートライブラリの基本機能が定義されています。swf - アプリケーションでアップデートオプションの表示に使用できるユーザインターフェイスを含む、アップデートライブラリの基本機能が定義されています。これらの 2 つのファイルで定義されている API については、このドキュメントの後半で説明します。アップデートフレームワークの ApplicationUpdaterUI バージョンには、アプリケーションで簡単に使用できる基本インターフェイスが用意されています。以下に基本のサンプルを示します。まず、アップデートフレームワークを呼び出す AIR アプリケーションを作成します。js ファイルを読み込みます。このコードを、アプリケーションが読み込まれたときに実行される初期化関数に追加できます。xml という名前のテキストファイルを作成し、次のコードを追加します。
xml ファイルの URL エレメントを、Web サーバ上のアップデート記述ファイルの最終的な場所に一致するように編集します(次の手順を参照してください)
delay は、アプリケーションでアップデートをチェックする間隔を示す日数です。xml ファイルを追加します。
最初のアプリケーションとは異なるバージョンを持つ、もう 1 つの AIR アプリケーションを作成します(バージョンはアプリケーション記述ファイルの version エレメントで指定されます)
次に、AIR アプリケーションのアップデートバージョンを Web サーバに追加します。AIR ファイルのアップデートバージョンを Web サーバに配置します。xml という名前のテキストファイルを作成し、次の内容を追加します。xml ファイルを追加します。これは基本のサンプルですが、多くのアプリケーションに十分なアップデート機能を提供できます。このドキュメントの後半では、ニーズに最も適したアップデートフレームワークの使用方法について説明します。
アップデート記述ファイルの定義と Web サーバへの AIR ファイルの追加
AIR アップデートフレームワークを使用するときは、使用できるアップデートに関する基本情報を、Web サーバに格納されるアップデート記述ファイルに定義します。アップデート記述ファイルは単純な XML ファイルです。アプリケーションに含まれているアップデートフレームワークは、このファイルをチェックして、新しいバージョンがアップロードされているかどうかを調べます。アップデート記述ファイルには次のデータが含まれます。このバージョンは、新しい AIR アプリケーション記述ファイルでバージョンとして使用されているストリングと同じである必要があります。アップデート記述ファイルのバージョンがアップデート AIR ファイルのバージョンと一致しない場合、アップデートフレームワークは例外をスローします。これは、アップデートバージョンの AIR アプリケーションが含まれるファイルです。この情報を、アップデートプロセスの間にユーザに表示できます。次にアップデート記述ファイルのサンプルを示します。アップデート記述ファイルをアップデート AIR ファイルと共に Web サーバに配置します。アップデートフレームワークの templates ディレクトリには、サンプルのアップデート記述ファイルがあります。このサンプルには、単一言語と複数言語の両方のバージョンが含まれています。コードに AIR アップデートフレームワークを読み込んだ後(HTML ベースの AIR アプリケーションへのフレームワークファイルのインクルードを参照)、次の例のように Updater オブジェクトをインスタンス化する必要があります。このドキュメントの以降のコード例は、appUpdater という名前の Updater オブジェクトをインスタンス化済みであることを前提としています。
アップデート設定の構成
XML 設定ファイルでのアップデート設定の定義
アップデート設定ファイルは XML ファイルです。このファイルには、次のエレメントを含めることができます。リモートサーバ上のアップデート記述ファイルの場所を表します。
updateURL プロパティは、設定ファイルまたはスクリプトで定義する必要があります(アップデート記述ファイルの定義と Web サーバへの AIR ファイルの追加を参照してください)
詳しくは、アップデートフレームワークの初期化を参照してください)に定義する必要があります。
アップデートをチェックする間隔(日数)を表します(0
25 のような値を指定できます)
値 0(デフォルト値)は、Updater で定期的なチェックが自動的に行われないことを示します。各 dialog エレメントには、ユーザインターフェイスのダイアログボックスに対応する name 属性があります。name 属性で使用できる値は次のとおりです。
"checkForUpdate" - アップデートの有無をチェックダイアログボックス、アップデートなしダイアログボックスおよびアップデートエラーダイアログボックスに対応
"fileUpdate" - ファイルのアップデートダイアログボックス、ファイルのアップデートなしダイアログボックスおよびファイルエラーダイアログボックスに対応
false に設定した場合、対応するダイアログボックスはアップデート時に表示されません。xml という名前のサンプルの設定ファイルがあります。これらの設定パラメータは、次に示すようにアプリケーションのコードを使用して設定することもできます。これらのプロパティでは、設定ファイルの updateURL エレメントおよび delay エレメントと同じ設定(アップデート記述ファイルの URL およびアップデートのチェックの間隔)を定義します。設定ファイル と コードでの設定を指定した場合は、コードで設定されたプロパティが、設定ファイル内の対応する設定より優先されます。
updateURL プロパティは、設定ファイルまたはスクリプトで定義する必要があります(アップデート記述ファイルの定義と Web サーバへの AIR ファイルの追加を参照してください)
isCheckForUpdateVisible - アップデートの有無をチェックダイアログボックス、アップデートなしダイアログボックスおよびアップデートエラーダイアログボックスに対応
isFileUpdateVisible - ファイルのアップデートダイアログボックス、ファイルのアップデートなしダイアログボックスおよびファイルエラーダイアログボックスに対応
false に設定した場合、対応するダイアログボックスはアップデート中に表示されません。これらのダイアログボックスのプロパティは、アップデート設定ファイル内の設定をオーバーライドします。AIR アップデートフレームワークでは、次のステップでアップデートプロセスが実行されます。
Updater の初期化により、delay で定義されている間隔内にアップデートのチェックが実行されたかどうかが確認されます(アップデート設定の構成を参照してください)
アップデートのチェックが必要な場合は、アップデートプロセスが続行されます。アップデート記述ファイルがダウンロードされ、解釈されます。アップデート AIR ファイルがダウンロードされます。アプリケーションのアップデートバージョンがインストールされます。これらの各ステップが完了するたびに、Updater オブジェクトからイベントが送出されます。これらのイベントのいずれかをキャンセルすると、プロセスのその次のステップがキャンセルされます。ApplicationUpdaterUI バージョンでは、プロセスのステップごとに、プロセスをキャンセルするか進行させるかをユーザが選択できるダイアログボックスが表示されます。イベントをキャンセルした場合、Updater オブジェクトのメソッドを呼び出すとプロセスを再開できます。このプロパティは、次のいずれかの値のストリングに設定されます。
アップデートフレームワークの初期化
このメソッドは、次の処理を行います。アップデートフレームワークを初期化し、保留中のアップデートがあればそれを同期的にサイレントインストールします。このメソッドを呼び出すとアプリケーションが再起動される場合があるため、アプリケーションの起動時にこのメソッドを呼び出す必要があります。延期されたアップデートがあるかどうかをチェックし、あればそれをインストールします。アップデートプロセス中にエラーが発生した場合は、アップデートファイルとバージョン情報をアプリケーションのストレージ領域から消去します。delay の間隔が過ぎている場合は、アップデートプロセスを開始します。それ以外の場合はタイマーを再起動します。このメソッドを呼び出すと、Updater オブジェクトから次のイベントが送出されます。ERROR - 初期化中にエラーが発生したときに送出されます。initialize() メソッドを呼び出すと、タイマーの delay の設定に基づいてアップデートプロセスが開始され、すべてのステップが実行されます。しかし、Updater オブジェクトの checkNow() メソッドを呼び出すことにより、任意の時点でアップデートプロセスを開始することもできます。アップデートプロセスが既に実行中の場合は、このメソッドを呼び出しても何も起こりません。それ以外の場合は、アップデートプロセスが開始されます。このイベントをキャンセルしない場合、アップデートプロセスが進行し、アップデート記述ファイルがチェックされます。ApplicationUpdaterUI バージョンでは、ユーザはユーザインターフェイスのダイアログボックスにある「キャンセル」を使用してプロセスをキャンセルできます。詳しくは、アップデート設定の構成を参照してください。デフォルト動作をキャンセルすると、アプリケーションでは続行するかどうかをユーザに確認するメッセージを表示できます。以降の節では、プロセスのステップがキャンセルされたときにアップデートプロセスを続行する方法について説明します。
アップデート記述ファイルのダウンロードと解釈
checkForUpdate イベントのデフォルト動作をキャンセルすると、アップデート記述ファイルはダウンロードされません。checkForUpdate() メソッドを呼び出すと、アップデート記述ファイルが非同期でダウンロードおよび解釈されます。このイベントには、次のプロパティがあります。現在のアプリケーションと異なるバージョンが使用可能である場合は true に設定され、それ以外の場合(バージョンが同じである場合)は false に設定されます。アップデートファイルのアプリケーション記述ファイル内のバージョンです。ローカライズされたバージョンの説明が存在しない場合、この配列の 1 番目のエレメントで空のストリング("")が返され、2 番目のエレメントで説明が返されます。(アップデート記述ファイルに)複数のバージョンの説明が存在する場合、この配列には複数のサブ配列が含まれます。各配列には 2 つのエレメントが含まれます。アップデート記述ファイルの定義と Web サーバへの AIR ファイルの追加を参照してください。UPDATE_ERROR - エラーが発生したので、アップデート記述ファイルをダウンロードまたは解釈できませんでした。デフォルト動作では、アップデートファイル(使用可能な場合)のダウンロードが開始されます。デフォルト動作をキャンセルすると、downloadUpdate() メソッドを呼び出してアップデートプロセスを再開できます。このメソッドを呼び出すと、AIR ファイルのアップデートバージョンが非同期でダウンロードされます。ApplicationUpdaterUI ライブラリを使用している場合は、このイベントにより、ダイアログボックスにダウンロードの進捗状況を追跡するためのプログレスバーが表示されます。PROGRESS - ファイルのダウンロードの進行中に定期的に送出されます。DOWNLOAD_ERROR - 接続中またはアップデートファイルのダウンロード中にエラーが発生した場合に送出されます。HTTP ステータスが無効(「404 - ファイルが見つかりません」など)である場合にも送出されます。このプロパティは、追加のエラー情報を定義する整数です。
アプリケーションのアップデート
デフォルト動作をキャンセルすると、installUpdate() メソッドを呼び出してアップデートプロセスを再開できます。このメソッドを呼び出すと、AIR ファイルのアップデートバージョンがインストールされます。このメソッドには file というパラメータが 1 つあります。このパラメータは、アップデートとして使用する AIR ファイルを参照する File オブジェクトです。この時点でアップデートのインストールをキャンセルすると、ユーザが現在の作業を終えてからアップデートを実行できるので、場合によっては便利です。
Event オブジェクトの preventDefault() メソッドを呼び出すと、次に再起動するまでインストールが延期され、新しいアップデートプロセスも開始されません(これには、checkNow() メソッドの呼び出しによるアップデートと定期的なチェックによるアップデートの両方が含まれます)
任意の AIR ファイルからのインストール
このメソッドにより、AIR ファイルからアプリケーションのアップデートバージョンがインストールされます。このイベントには、次のプロパティがあります。path - アップデートファイルのネイティブパスを表します。このイベントをキャンセルすると、アップデートの進行がキャンセルされます。
アップデートプロセスのキャンセル
このメソッドにより、保留中のダウンロードがあればキャンセルされ、ダウンロードされた不完全なファイルがあれば削除され、定期的なチェックのタイマーが再起動されます。Updater オブジェクトの初期化中は、このメソッドを呼び出しても何も起こりません。このインターフェイスには、ユーザがプロセスの起動、プロセスのキャンセルおよびその他の関連アクションの実行に使用できるダイアログボックスが含まれています。アップデート記述ファイルの description エレメントでは、アプリケーションの説明を複数の言語で定義できます。アップデートフレームワークは、エンドユーザのロケールチェーンに最も適した説明を使用します。詳しくは、「アップデート記述ファイルの定義と Web サーバへの AIR ファイルの追加」を参照してください。このメソッドにより、言語の新しいリソースバンドルが動的に追加されます。リソースバンドルでは、言語のローカライズされたストリングが定義されます。これらのストリングは、ダイアログボックスの様々なテキストフィールドで使用されます。例えば、次の JavaScript コードはルーマニア語およびハンガリー語のリソースバンドルを定義します。NativeWindow クラスは、ネイティブのデスクトップウィンドウを作成および制御するインターフェイスを提供します。NativeWindow インスタンスのプロパティには、アプリケーションコンテンツからのみアクセスできます。アプリケーションコンテンツ以外が NativeWindow オブジェクトにアクセスしようとすると、セキュリティエラーがスローされます。
ただし、この方法では、ウィンドウの外観と動作を制御することが難しくなります)
アプリケーションは、これらの操作が完了すると、該当するイベントを受け取って検出することができます。exit() を呼び出してアプリケーションを終了する必要があります。アプリケーションのウィンドウを閉じるのは、そのアプリケーション自体が受け持つことになります。継承されるパブリックプロパティを隠す。
継承プロパティの表示
[読み取り専用] このウィンドウが、アクティブなアプリケーションウィンドウかどうかを示します。このウィンドウを、常に他のウィンドウ(他のアプリケーションのウィンドウも含む)よりも前面に表示するかどうかを指定します。このウィンドウのサイズと位置です。[読み取り専用] このウィンドウが閉じられたかどうかを示します。指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。[読み取り専用] このウィンドウの表示状態です。このウィンドウの高さ(ピクセル単位)です。[読み取り専用] このウィンドウの作成に使用される最大化可能設定を報告します。このウィンドウの最大サイズです。このウィンドウのネイティブメニューです。[読み取り専用] このウィンドウの作成に使用される最小化可能設定を報告します。このウィンドウの最小サイズです。[静的] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。[読み取り専用] このウィンドウの作成に使用されるサイズ変更可能設定を報告します。[静的] [読み取り専用] AIR が現在のコンピュータシステムのネイティブのウィンドウメニューをサポートするかどうかを示します。[静的] [読み取り専用] AIR が現在のコンピュータシステムのウィンドウ通知キュー送信をサポートするかどうかを示します。[静的] [読み取り専用] 透明なピクセルが指定されたネイティブウィンドウが AIR でサポートされるかどうかを示します。[読み取り専用] このウィンドウの作成に使用されるシステムクロム設定を報告します。[静的] [読み取り専用] オペレーティングシステムで許可されている最大のウィンドウサイズです。[静的] [読み取り専用] オペレーティングシステムで許可されている最小のウィンドウサイズです。ウィンドウのタイトルです。[読み取り専用] このウィンドウの作成に使用される透明度設定を報告します。[読み取り専用] このウィンドウの作成に使用されるウィンドウタイプの設定を報告します。このウィンドウが可視かどうかを指定します。このウィンドウの幅(ピクセル単位)です。オペレーティングシステムのデスクトップの起点を基準とした、このウィンドウの左上隅の水平軸座標です。オペレーティングシステムのデスクトップの左上隅を基準とした、このウィンドウの左上隅の垂直軸座標です。継承されるパブリックメソッドを隠す。
継承メソッドの表示
NativeWindow インスタンスと、対応するオペレーティングシステムウィンドウを新たに作成します。このウィンドウをアクティブ化します。イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。このウィンドウを閉じます。イベントをイベントフローに送出します。ウィンドウステージの起点を基準としたピクセル単位の座標のポイント(表示リストから見たグローバルポイント)を、仮想デスクトップのポイントに変換します。EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。オブジェクトに指定されたプロパティが定義されているかどうかを示します。Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。このウィンドウを最大化します。このウィンドウを最小化します。該当するイベントが発生したオペレーティングシステムを通して、視覚的なキューをトリガします。このウィンドウを、指定されたウィンドウの背面に直接移動します。このウィンドウを、指定されたウィンドウの前面に直接移動します。このウィンドウを他のすべての可視ウィンドウの背面に移動します。このウィンドウを他の可視ウィンドウの前面に移動します。指定されたプロパティが存在し、列挙できるかどうかを示します。最小化または最大化された状態から、このウィンドウを元の状態に戻します。ループ処理に対するダイナミックプロパティの可用性を設定します。このウィンドウのシステム制御による移動を開始します。このウィンドウのシステム制御によるサイズ変更操作を開始します。指定されたオブジェクトのストリング表現を返します。指定されたオブジェクトのプリミティブな値を返します。指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。ウィンドウがその表示状態を変更する直前に、この NativeWindow オブジェクトから送出されます。デスクトップ上でウィンドウが移動されると、この NativeWindow オブジェクトから送出されます。デスクトップ上でウィンドウが移動される直前に、NativeWindow オブジェクトから送出されます。デスクトップ上でウィンドウのサイズが変更される直前に、この NativeWindow オブジェクトから送出されます。
プロパティの詳細
このウィンドウが、アクティブなアプリケーションウィンドウかどうかを示します。このウィンドウを、常に他のウィンドウ(他のアプリケーションのウィンドウも含む)よりも前面に表示するかどうかを指定します。システムでウィンドウが重なる順序において、各ウィンドウは 2 つのグループに分けられます。alwaysInFront に設定されているウィンドウのグループは、常に他のウィンドウよりも前面に表示されます。同じグループ内での重なりの順序は、通常の規則に従います。つまり、あるウィンドウをアクティブ化すると、そのウィンドウは同じグループの他のウィンドウよりも前面に表示されます。ただし、同じグループの他のウィンドウよりも前面に表示されたままになります。プロパティを現在の値に設定しても、ウィンドウの重なりの順序は変更されません。alwaysInFront プロパティが true に設定されているウィンドウは、他のアプリケーションのウィンドウがアクティブの場合でも、そのウィンドウより前面に表示されるので、このプロパティは慎重に設定する必要があります。特定のウィンドウを他のウィンドウの上に維持します。このウィンドウのサイズと位置です。ウィンドウのサイズには、システムクロムが含まれます。ウィンドウのステージのサイズは、ウィンドウのサイズからシステムクロムのサイズを引いたものに等しくなります。その逆も同様で、ステージのサイズを変更すると、ウィンドウのサイズが変更されます。stageHeight プロパティから、ウィンドウに表示されている自動スクロールバーの幅および高さを引いた値に等しくなります。resize イベントは、このウィンドウの幅または高さが変更されると常に送出されます。同様に、このウィンドウの起点(x,y)が変更されると、常に move イベントが送出されます。同様に、個々の寸法のいずれかを設定することは、bounds プロパティを設定することと同じです。bounds プロパティを使用してすべてのサイズを同時に設定すると、送信されるイベントの数が少なくなります。個々のサイズが設定される順序は保証されません。ウィンドウがデスクトップ領域以外で拡大することができない Linux ウィンドウマネージャでは、すべてのプロパティの変更を適用するネットの影響によって有効なウィンドウになったとしても、個々のプロパティの変更がブロックされる場合があります。指定された幅または高さが、許容される幅または高さの下限よりも小さい場合や上限よりも大きい場合、許容される最も近い値にウィンドウの幅または高さが設定されます。幅と高さの下限および上限は、次の要因に基づいて決まります。
オペレーティングシステムの制限による上限と下限
表示されるシステムクロームのために必要とされる最小限の幅と高さ
ネイティブのデスクトップウィンドウの位置とサイズを設定します。このウィンドウが閉じられたかどうかを示します。閉じられたウィンドウで次のプロパティにアクセスすると、無効な操作を示すエラーがスローされます。同様に、閉じられたウィンドウで次のメソッドを呼び出すと、無効な操作を示すエラーがスローされます。このウィンドウの表示状態です。このウィンドウの高さ(ピクセル単位)です。ウィンドウのサイズには、表示されているシステムウィンドウのクロムが含まれます。
ウィンドウ内側の使用可能な表示領域の高さは、Stage
ウィンドウの height プロパティを変更すると、bounds プロパティから高さを変更した場合と同じ動作をします。指定された高さが、許容される高さの下限よりも小さい場合や上限よりも大きい場合、許容される最も近い値にウィンドウの高さが設定されます。高さの下限および上限は、次の要因に基づいて決まります。
オペレーティングシステムの制限による上限と下限
高さ変更の完了を検出するには、resize イベントを監視します。これは、どのプラットフォームでも送出されるイベントです。このウィンドウの最大サイズです。サイズ制限は、Point オブジェクトの座標として指定されます。ポイントの x プロパティはウィンドウの幅に対応し、y プロパティはウィンドウの高さに対応します。maxSize の制限は、 JavaScript コードとオペレーティングシステムの両方で呼び出されるウィンドウサイズの変更操作に対して強制的に設定されます。現在の境界が新しい最大サイズよりも大きい場合、maxSize を設定すると、ウィンドウの境界が変化します。指定された幅または高さが、許容される幅または高さの上限よりも大きい場合、許容される最も近い値にウィンドウの幅または高さが設定されます。幅と高さの下限および上限は、次の要因に基づいて決まります。
オペレーティング システムによる上限
注意:Mac OS X などの一部のオペレーティングシステムでは、ウィンドウを maxSize 値まで拡大しても、最大化したウィンドウはオペレーティングシステムの画面より小さくなります。このような場合でも、ウィンドウは最大化された表示状態となります。最大ウィンドウサイズを設定します。このウィンドウのネイティブメニューです。NONE の場合も、メニューを割り当てることはできますが、効果はありません。
使用しているオペレーティングシステムでウィンドウメニューがサポートされているか確認するには、必ず NativeWindow
os など)でサポートの有無を判断すると、プログラミングエラーの原因になる可能性があります(ターゲットとなり得るオペレーティングシステムの種類についての配慮が完全でない場合)
このウィンドウの最小サイズです。サイズ制限は、Point オブジェクトの座標として指定されます。ポイントの x プロパティはウィンドウの幅に相当し、y プロパティはウィンドウの高さに相当します。現在の境界が新しい最小サイズよりも小さい場合、minSize を設定すると、ウィンドウの境界が変化します。minSize の制限は、 JavaScript コードとオペレーティングシステムの両方で呼び出されるウィンドウサイズの変更操作に対して強制的に設定されます。メモ : 表示されているシステムクロムの幅および高さによって、ウィンドウのサイズを指定された最小サイズにできない場合があります。ウィンドウの最小サイズを設定します。ウィンドウが作成された後で、resizable 設定を変更することはできません。ステージは、ウィンドウの表示リストのルートです。ビジュアル表示オブジェクトをウィンドウに追加するには、そのオブジェクトをステージまたは既にこのステージの表示リストに存在する別のオブジェクトに追加します。ステージのサイズは、ウィンドウがシステムクロムを使用する場合のウィンドウクライアント領域のサイズです。システムクロムが使用されていない場合、ステージのサイズはウィンドウのサイズと等しくなります。ただし、HTMLLoader によってレンダリングされたビジュアルエレメントの間に配置することはできません。AIR が現在のコンピュータシステムのネイティブのウィンドウメニューをサポートするかどうかを示します。
使用しているオペレーティングシステムでネイティブウィンドウメニューがサポートされているか確認するには、必ず NativeWindow
os など)でサポートの有無を判断すると、プログラミングエラーの原因になる可能性があります(ターゲットとなり得るオペレーティングシステムの種類についての配慮が完全でない場合)
NONE の場合にメニューを割り当てることも可能ですが、何も実行されません。AIR が現在のコンピュータシステムのウィンドウ通知キュー送信をサポートするかどうかを示します。この視覚的なキューは、ネイティブシステムのオペレーティングシステムの規則に従います。ただし、何も実行されません。AIR が透明なピクセルを含むネイティブのウィンドウをサポートするかどうかを示します。
使用しているオペレーティングシステムで透明度がサポートされているか確認するには、必ず NativeWindow
os など)でサポートの有無を判断すると、プログラミングエラーの原因になる可能性があります(ターゲットとなり得るオペレーティングシステムの種類についての配慮が完全でない場合)
注意:このプロパティの値は、オペレーティングシステムに対して設定されるユーザー環境設定に基づいて、アプリケーションの実行中に変化する可能性があります。このウィンドウの作成に使用されるシステムクロム設定を報告します。ウィンドウが作成された後で、システムクロムの設定を変更することはできません。ウィンドウが使用するシステムクロムのタイプをチェックします。オペレーティングシステムで許可されている最大のウィンドウサイズです。サイズ制限は、Point オブジェクトの座標として指定されます。ポイントの x プロパティはウィンドウの幅に相当し、y プロパティはウィンドウの高さに相当します。オペレーティング システムによるサイズ制限に加え、AIR にも、ウィンドウサイズが上限 2880 × 2880 ピクセルまでという制限があります。オペレーティングシステムで許可されている最小のウィンドウサイズです。サイズ制限は、Point オブジェクトの座標として指定されます。ポイントの x プロパティはウィンドウの幅に相当し、y プロパティはウィンドウの高さに相当します。ウィンドウのタイトルです。タイトルを表示する場合は、ウィンドウのシステムクロムに加え、その他のシステムに依存した場所(タスクバーなど)に表示されます。このウィンドウの作成に使用される透明度設定を報告します。ウィンドウが作成された後で、transparent プロパティを変更することはできません。透明度は、ウィンドウの視覚的な外観とマウス動作に影響します。Windows および Mac OS X の場合、ピクセルのアルファ値が特定のしきい値を下回っている場合、ウィンドウでマウスイベントはキャプチャされません。
この値は、オペレーティングシステムによってはおよそ
01 の間で変わります。Linux の場合、このウィンドウでは完全に透明な領域の上のマウスイベントがキャプチャされます。したがって、ユーザーはデスクトップ上のその他のウィンドウおよびアイテムにアクセスすることができません。注意:ウィンドウの透明度は必ずしもサポートされているとは限りません。ユーザーのオペレーティングシステム設定が透明度を使用できないなどの設定であった場合、ウィンドウは透明度を使用しないで作成されます。透明にしている領域は、黒と合成されます。このウィンドウの作成に使用されるウィンドウの type の設定を報告します。ウィンドウが作成された後で、type 設定を変更することはできません。このウィンドウが可視かどうかを指定します。不可視のウィンドウはデスクトップに表示されませんが、ウィンドウのプロパティとメソッドはすべて有効です。その後、ユーザーがドックアイコンをクリックするとウィンドウは可視状態に戻り、デスクトップに表示されます。ウィンドウを可視化します。このウィンドウの幅(ピクセル単位)です。ネイティブウィンドウの通知されるサイズには、表示されているシステムウィンドウのクロムが含まれます。
ウィンドウ内側の使用可能な表示領域の幅は、Stage
ウィンドウの width プロパティを変更すると、bounds プロパティから幅を変更した場合と同じ動作をします。指定された幅が、許容される幅の下限よりも小さい場合や上限よりも大きい場合、許容される最も近い値にウィンドウの幅が設定されます。幅の下限および上限は、次の要因に基づいて決まります。
オペレーティングシステムの制限による上限と下限
幅変更の完了を検出するには、resize イベントを監視します。これは、どのプラットフォームでも送出されるイベントです。オペレーティングシステムのデスクトップの起点を基準とした、このウィンドウの左上隅の水平軸座標です。複数のモニタがあるシステムでは、x が負の値になることがあります。ウィンドウを以前の場所に再位置付けするために値を保存した場合、位置を復元したときにウィンドウが使用可能な場所に配置されていることを常に検証する必要があります。画面の解像度やモニタの配置を変更すると、ウィンドウが画面外に配置されることがあります。Screen クラスを使用して、デスクトップジオメトリに関する情報を取得してください。ウィンドウの x プロパティを変更すると、bounds プロパティから位置を変更した場合と同じ動作をします。Linux の場合、x プロパティを設定する操作は非同期的に実行されます。位置変更の完了を検出するには、move イベントを監視します。これは、どのプラットフォームでも送出されるイベントです。オペレーティングシステムのデスクトップの左上隅を基準とした、このウィンドウの左上隅の垂直軸座標です。複数のモニタがあるシステムでは、y が負の値になることがあります。ウィンドウを以前の場所に再位置付けするために値を保存した場合、位置を復元したときにウィンドウが使用可能な場所に配置されていることを常に検証する必要があります。画面の解像度やモニタの配置を変更すると、ウィンドウが画面外に配置されることがあります。Screen クラスを使用して、デスクトップジオメトリに関する情報を取得してください。ウィンドウの y プロパティを変更すると、bounds プロパティから位置を変更した場合と同じ動作をします。Linux の場合、y プロパティを設定する操作は非同期的に実行されます。位置変更の完了を検出するには、move イベントを監視します。これは、どのプラットフォームでも送出されるイベントです。
コンストラクタの詳細
NativeWindow インスタンスと、対応するオペレーティングシステムウィンドウを新たに作成します。ウィンドウの作成後は、initOptions パラメータで定義されている設定を変更することはできません。現在のシステムで使用できなくても、設定が有効な場合は、例外はスローされません。デフォルトのウィンドウサイズはオペレーティングシステムによって決定されますが、ウィンドウの境界を設定することで変更できます。
メソッドの詳細
このウィンドウをアクティブ化します。ウィンドウをアクティブ化すると、次のようになります。ウィンドウが可視になります。ウィンドウが前面に移動します。キーボードおよびマウスのフォーカスが、そのウィンドウに移動します。ウィンドウをアクティブにします。このウィンドウを閉じます。閉じる操作が完了すると、close イベントが直ちに送出されます。閉じる操作のキャンセルを許可する場合は、closing イベントを送出し、登録されているリスナーがデフォルトの動作をキャンセルするかどうかを、close() メソッドを呼び出す前にチェックします。現在ウィンドウにある表示オブジェクトのインスタンスが他の場所で参照されていない場合は、AIR によって作成された最初のアプリケーションウィンドウを除き、ガベージコレクションされて破棄されます。最初のウィンドウにある表示オブジェクトがガベージコレクションされるようにするには、ウィンドウステージからそれらを削除します。閉じられた後でも NativeWindow オブジェクトは有効な参照として残りますが、プロパティやメソッドにアクセスすると、多くの場合は無効な操作を示すエラーがスローされます。閉じたウィンドウを再び開くことはできません。ウィンドウが既に閉じられている場合、アクションは実行されず、イベントも送出されません。
ウィンドウを閉じる:
次の例は、操作のキャンセルを許可しながらウィンドウを閉じる方法を示しています。ウィンドウステージの起点を基準としたピクセル単位の座標のポイント(表示リストから見たグローバルポイント)を、仮想デスクトップのポイントに変換します。仮想デスクトップの座標は、主モニタの左上隅を基準としています。Point — デスクトップを基準とした、指定されたグローバルポイントです。このウィンドウを最大化します。ウィンドウが既に最大化されている場合、アクションは実行されず、イベントも送出されません。Mac OS X などのオペレーティングシステムでは、ウィンドウを最大化してもサイズ変更は禁止されません。そのため、maximize() を呼び出すとウィンドウが画面いっぱいに拡大されますが、その後でウィンドウのサイズを変更することができます。拡大されたウィンドウのサイズを変更すると、表示状態も元に戻ります。Mac OS X などの一部のオペレーティングシステムおよび一部の Linux ウィンドウマネージャでは、ウィンドウを最大化しても maxSize プロパティで指定した幅と高さを超えてウィンドウが拡大されることはありません。それ以外では、画面が maxSize よりも大きい場合でもウィンドウは画面いっぱいに拡大されます。一部の Linux ウィンドウマネージャを使用すると、UTILITY ウィンドウを最大化することはできません。次の例は、最大化操作のキャンセルを許可する方法を示したものです。このウィンドウを最小化します。必要に応じて、この動作を最小化ロジックに実装できます。ウィンドウが既に最小化されている場合、アクションは実行されず、イベントも送出されません。一部の Linux ウィンドウマネージャを使用すると、UTILITY ウィンドウを最小化することはできません。次の例は、minimize() の呼び出しのキャンセルを許可する方法を示したものです。該当するイベントが発生したオペレーティングシステムを通して、視覚的なキューをトリガします。キューの強度は、type パラメータによって決定されます。情報の通知を目的としたキューは、継続時間が短く設定されています。重要な通知のキューは、ユーザーがこのウィンドウをアクティブ化するまで継続します。すべての Linux ウィンドウマネージャが 2 つのレベルの通知をサポートしているとは限りません。ウィンドウマネージャなどの場合、どのオプションが指定されても notifyUser() には同じ効果があります。ただし、何も実行されません。このウィンドウを、指定されたウィンドウの背面に直接移動します。ウィンドウまたはアプリケーションをアクティブ化したり、フォーカスを取得したりしません。2 つの JavaScript ウィンドウオブジェクトへの参照を使用して特定のウィンドウを別のウィンドウの下に配置します。このウィンドウを、指定されたウィンドウの前面に直接移動します。ウィンドウまたはアプリケーションをアクティブ化したり、フォーカスを取得したりしません。2 つの JavaScript ウィンドウオブジェクトへの参照を使用して特定のウィンドウを別のウィンドウの上に配置します。このウィンドウを他のすべての可視ウィンドウの背面に移動します。このウィンドウまたはアプリケーションをアクティブ化したり、フォーカスを取得したりしません。表示順序の一番下にウィンドウを配置します。このウィンドウを他の可視ウィンドウの前面に移動します。このウィンドウまたはアプリケーションをアクティブ化したり、フォーカスを取得したりしません。表示順序の一番上にウィンドウを移動します。最小化または最大化された状態から、このウィンドウを元の状態に戻します。NORMAL の状態の場合、アクションは実行されず、イベントも送出されません。これは、どのプラットフォームでも送出されるイベントです。次の例は、元に戻す操作のキャンセルを許可する方法を示したものです。このウィンドウのシステム制御による移動を開始します。mouseDown イベントから呼び出された場合、このメソッドはマウス操作による移動シーケンスを開始し、mouseUp イベントが発生するまで続行します。その他のコードから呼び出された場合、このメソッドは、オペレーティングシステムのデフォルトのシーケンスに従い、キーボードまたはマウス操作による移動シーケンスを開始します。移動シーケンスの間、ウィンドウの起点が移動すると、一連のイベントが送出されます。各増分移動について、最初に moving イベントが送出され、moving イベントがキャンセルされなかった場合は、ウィンドウの位置が更新されて move イベントが送出されます。moving イベントがキャンセルされた場合、移動シーケンスは直ちに終了します。このウィンドウのシステム制御によるサイズ変更操作を開始します。mouseDown イベントハンドラから呼び出された場合、このメソッドはマウス操作によるサイズ変更シーケンスを開始し、mouseUp イベントが発生するまで続行します。その他のコードから呼び出された場合、このメソッドは、オペレーティングシステムのデフォルトのシーケンスに従い、キーボードまたはマウス操作によるサイズ変更シーケンスを開始します。サイズ変更シーケンスの間、ウィンドウのサイズが変化すると、一連のイベントが送出されます。resizing イベントがキャンセルされた場合、サイズ変更シーケンスは直ちに終了します。使用できる値は次のとおりです。
垂直方向の配置
水平方向の配置
イベントの詳細
注意:このイベントには「キャプチャ段階」と「バブリング段階」はありません。したがって、ターゲットが表示リストにあるかないかに関わらず、潜在的なターゲットにはイベントリスナーを直接追加する必要があります。このイベントには、次のプロパティがあります。false は、キャンセルするデフォルトの動作がないことを示します。イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。このイベントには、次のプロパティがあります。false は、キャンセルするデフォルトの動作がないことを示します。イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。接続が閉じられたオブジェクトです。このイベントは、ウィンドウが閉じられないようにキャンセルできます。このイベントには、次のプロパティがあります。このイベントオブジェクトをキャンセルすると、閉じる操作がキャンセルされます。イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。接続が閉じられるオブジェクトです。注意:このイベントには「キャプチャ段階」と「バブリング段階」はありません。したがって、ターゲットが表示リストにあるかないかに関わらず、潜在的なターゲットにはイベントリスナーを直接追加する必要があります。このイベントには、次のプロパティがあります。false は、キャンセルするデフォルトの動作がないことを示します。イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。このイベントには、次のプロパティがあります。ウィンドウの変更前の表示状態です。ウィンドウの変更後の表示状態です。イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトを示します。false は、キャンセルするデフォルトの動作がないことを示します。ウィンドウがその表示状態を変更する直前に、この NativeWindow オブジェクトから送出されます。このイベントは、変更されないようにキャンセルできます。このイベントには、次のプロパティがあります。現在実行中の変更が行われる前のウィンドウの表示状態です。現在実行中の変更が行われた後のウィンドウの表示状態です。イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトを示します。このイベントをキャンセルすると、変更は起こりません。デスクトップ上でウィンドウが移動されると、この NativeWindow オブジェクトから送出されます。ウィンドウの原点が変更されると、常に move イベントが送出されます。ウィンドウの原点 (x プロパティまたは y プロパティ) の移動は、システムによって制御されたウィンドウの移動の場合、最小化、最大化またはウィンドウのサイズを元に戻した場合、または x、y または bounds の各プロパティを設定して移動した場合に行われます。メモ : NativeWindow オブジェクトの moving イベントと move イベントの両方に対するハンドラ関数でオペレーティングシステムのダイアログボックスを同時に開くようなアクションは避けてください。これは、例えば、両方のハンドラ関数がエラーをスローする場合などに発生します。そのようなアクションが発生した場合、2 番目に開かれるダイアログボックスにはマウスのクリックが登録されないので、キーボードを使って閉じることが必要になります。このイベントには、次のプロパティがあります。ウィンドウの変更後の境界です。ウィンドウの変更前の境界です。イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトを示します。false は、キャンセルするデフォルトの動作がないことを示します。デスクトップ上でウィンドウが移動される直前に、NativeWindow オブジェクトから送出されます。このイベントは、移動を中止または変更するためにキャンセルできます。注意:NativeWindow オブジェクトの moving イベントと move イベントの両方に対するハンドラ関数でオペレーティングシステムのダイアログボックスを同時に開くようなアクションは避けてください。これは、例えば、両方のハンドラ関数がエラーをスローする場合などに発生します。そのようなアクションが発生した場合、2 番目に開かれるダイアログボックスにはマウスのクリックが登録されないので、キーボードを使って閉じることが必要になります。このイベントには、次のプロパティがあります。現在実行中の変更が行われた後のウィンドウの境界です。現在実行中の変更が行われる前のウィンドウの境界です。このイベントをキャンセルすると、ウィンドウは移動されません。イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトを示します。ウィンドウのサイズが変更されると、常に resize イベントが送出されます。ウィンドウのサイズ (width プロパティまたは height プロパティ) 変更は、システムによって制御されたウィンドウサイズの変更の場合、最小化、最大化またはウィンドウのサイズを元に戻した場合、width、height または bounds の各プロパティを設定して変更した場合に行われます。一方、Stage オブジェクトの resize イベントは、ステージの描画の準備が整っている場合に送出されます。このイベントには、次のプロパティがあります。ウィンドウの変更後の境界です。ウィンドウの変更前の境界です。イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトを示します。false は、キャンセルするデフォルトの動作がないことを示します。デスクトップ上でウィンドウのサイズが変更される直前に、この NativeWindow オブジェクトから送出されます。このイベントは、サイズ変更を中止または変更するためにキャンセルすることができます。このイベントには、次のプロパティがあります。現在実行中の変更が行われた後のウィンドウの境界です。現在実行中の変更が行われる前のウィンドウの境界です。イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトを示します。このイベントをキャンセルすると、ウィンドウは移動されません。File オブジェクトは、ファイルまたはディレクトリへのパスを表します。既存のファイルまたはディレクトリを指定できます。また、存在しないファイルまたはディレクトリを指定することもできます。例えば、作成するファイルまたはディレクトリへのパスを表すことができます。File クラスには、ファイルシステムについての情報の取得と、操作の実行(ファイルおよびディレクトリのコピーなど)のためのプロパティとメソッドが用意されています。File オブジェクトを FileStream クラスと組み合わせて使用すると、ファイルの読み取りと書き込みを行うことができます。File クラスには、共通的に使用されるディレクトリの場所を参照するための静的プロパティがあります。それらのプロパティを次に示します。
applicationDirectory - アプリケーションがインストールされている(インストールされるアセットがある場合はそれらも含まれる)読み取り専用ディレクトリ
これらのプロパティには、オペレーティングシステムに応じた意味のある値が設定されています。desktopDirectory プロパティは、プラットフォームに応じた正しいデスクトップディレクトリパスを示すようになっています。異なるプラットフォームでも正しく動作するアプリケーションを作成するために、アプリケーションで他のファイルを使用する際は、これらのプロパティを起点としてください。xml ファイルを参照しています。ファイル参照時にネイティブパスをリテラル表記すると、そのコードは 1 つのプラットフォームでしか動作しないものになります。アプリケーション記憶領域ディレクトリは特に有用性が高く、当該 AIR アプリケーション用に固有の記憶領域ディレクトリを示します。アプリケーションディレクトリは、当該 AIR アプリケーションがインストールされている場所なので、内容を追加したり削除したりしないでください。そのような変更を加えると、AIR アプリケーションが損傷し、アプリケーションの署名が無効になることがあります。AIR のデフォルト設定では、アプリケーションがそれ自体のアプリケーションディレクトリに書き込むことを認めていません。オペレーティングシステムとユーザーアカウントによっては、このディレクトリに対する書き込み許可がない場合があるためです。アプリケーション内部ファイルの書き込み場所としては、アプリケーション記憶領域ディレクトリを使用してください。また、当該アプリケーション以外でユーザーに使用されることを想定したファイル(たとえば、編集した画像やテキストファイルなど)の書き込み場所としては、ドキュメントディレクトリを使用してください。継承されるパブリックプロパティを隠す。
継承プロパティの表示
[静的] [読み取り専用] インストールされたアプリケーションファイルが格納されているフォルダです。[静的] [読み取り専用] アプリケーションのプライベート記憶領域ディレクトリです。指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。[読み取り専用] ローカルディスク上に存在するファイルの作成日です。[静的] [読み取り専用] ユーザーのデスクトップディレクトリです。[静的] [読み取り専用] ユーザーのドキュメントディレクトリです。[読み取り専用] 参照先のファイルまたはディレクトリが存在するかどうかを示します。[読み取り専用] ファイル名拡張子です。[読み取り専用] ファイルに対して定義されたアイコンを格納している Icon オブジェクトです。[読み取り専用] 参照先がディレクトリであるかどうかを示します。[読み取り専用] 参照先のファイルまたはディレクトリが "非表示" かどうかを示します。値は、参照先のファイルまたはディレクトリが非表示の場合は true、それ以外の場合は false です。[読み取り専用] 参照先のディレクトリがパッケージであるかどうかを示します。[読み取り専用] 参照がシンボリックリンクであるかどうかを示します。[静的] [読み取り専用] ホストオペレーティングシステムで使用される行終了文字です。[読み取り専用] ローカルディスク上に存在するファイルの最終変更日です。[読み取り専用] ローカルディスク上に存在するファイルの名前です。ホストオペレーティングシステムの表現形式に従った完全パスです。[読み取り専用] この File オブジェクトによって参照されているファイルまたはディレクトリを格納しているディレクトリです。[静的] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。[静的] [読み取り専用] ホストオペレーティングシステムのパスコンポーネントの区切り文字です。[読み取り専用] ローカルディスク上に存在するファイルのサイズ (バイト単位) です。[静的] [読み取り専用] ホストオペレーティングシステムで使用されるデフォルトのエンコーディングです。[読み取り専用] ファイル形式です。[静的] [読み取り専用] ユーザーのディレクトリです。継承されるパブリックメソッドを隠す。
継承メソッドの表示
File クラスのコンストラクタ関数です。イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。アップロードするファイルを選択できるファイル参照ダイアログボックスを表示します。ディレクトリ選択ダイアログボックスを表示して、ユーザーがディレクトリを選択できるようにします。ファイルを開くダイアログボックスを表示して、ユーザーが開くファイルを選択できるようにします。ファイルを開くダイアログボックスを表示して、ユーザーが開くファイルを 1 つ以上選択できるようにします。ファイルの保存ダイアログボックスを表示して、ユーザーがファイルの保存先を選択できるようにします。この File オブジェクトのコピーを返します。この File オブジェクトで指定された場所にあるファイルまたはディレクトリを、newLocation パラメータで指定された場所にコピーします。この File オブジェクトで指定された場所にあるファイルまたはディレクトリを、destination パラメータで指定された場所にコピーする処理を開始します。指定されたディレクトリおよび必要な親ディレクトリを作成します。[静的] 新しい一時ディレクトリへの参照を返します。[静的] 新しい一時ファイルへの参照を返します。ディレクトリを削除します。ディレクトリを非同期で削除します。ファイルを削除します。ファイルを非同期で削除します。イベントをイベントフローに送出します。リモートサーバーからファイルをダウンロードするためのダイアログボックスを開きます。この File オブジェクトによって表されるディレクトリ内のファイルおよびディレクトリに対応する File オブジェクトの配列を返します。この File オブジェクトによって表されるディレクトリの内容に対応する File オブジェクトの配列を非同期で取得します。[静的] ファイルシステムのルートディレクトリを列挙している File オブジェクトの配列を返します。EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。オブジェクトに指定されたプロパティが定義されているかどうかを示します。Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。ユーザーが選択したローカルファイルの読み込みを開始します。この File オブジェクトで指定された場所にあるファイルまたはディレクトリを、destination パラメータで指定された場所に移動します。この File オブジェクトで指定された場所にあるファイルまたはディレクトリを、newLocation パラメータで指定された場所に移動する処理を開始します。ファイルまたはディレクトリをごみ箱に移動します。ファイルまたはディレクトリを非同期でごみ箱に移動します。指定されたプロパティが存在し、列挙できるかどうかを示します。path パラメータ(ストリング)に基づいて、この File オブジェクトのパスを基準とした相対的なパスを持つ新しい File オブジェクトを作成します。ローカルファイルシステムにファイルを保存するためのダイアログボックスを開きます。ループ処理に対するダイナミックプロパティの可用性を設定します。指定されたオブジェクトのストリング表現を返します。ユーザーが選択したファイルをリモートサーバーにアップロードする処理を開始します。ファイルをエンコードせずに URL へのアップロードを開始します。指定されたオブジェクトのプリミティブな値を返します。指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。継承されるイベントを隠す。
継承されるイベントを表示
[ブロードキャストイベント] Flash Player または AIR アプリケーションがオペレーティングシステムのフォーカスを取得して、アクティブになったときに送出されます。保留中の非同期処理がキャンセルされると、送出されます。非同期処理が完了すると、送出されます。[ブロードキャストイベント] Flash Player または AIR アプリケーションがオペレーティングシステムのフォーカスを失い、非アクティブになるときに送出されます。アップロードに失敗し、HTTP ステータスコードを使用して失敗を記述することができない場合に送出されます。非同期ファイル処理中にエラーが発生すると、送出されます。アップロード処理またはダウンロード処理が開始するときに送出されます。ファイルのアップロード処理中またはダウンロード処理中に定期的に送出されます。操作がセキュリティ制約に違反していると、送出されます。ユーザーがファイルまたはディレクトリ参照ダイアログボックスからファイルまたはディレクトリを選択すると、送出されます。アップロードの正常終了後、サーバーからデータを受信したときに送出されます。
プロパティの詳細
インストールされたアプリケーションファイルが格納されているフォルダです。メモ : app URL スキームを使用するパスを持つファイルまたはディレクトリに書き込むことはできません。また、app URL スキームを使用するパスを持つファイルやフォルダの削除または作成を行うこともできません。セキュリティ上の理由から、アプリケーションディレクトリの内容は変更しないでください。
アプリケーション固有のデータを格納する必要がある場合は、アプリケーションの記憶領域ディレクトリ(File
アプリケーションの記憶領域ディレクトリ内のコンテンツがアプリケーション特権機能(AIR API)にアクセスできるようにする必要がある場合は、サンドボックスブリッジを使用してその機能を公開します。applicationDirectory プロパティを使用すると、異なるプラットフォームでも動作する方法でアプリケーションディレクトリを参照できます。アプリケーションディレクトリを参照するように File オブジェクトを設定する際、nativePath または url プロパティを直接に使用すると、そのパスが有効であるプラットフォーム上でしか動作しないコードになります。アプリケーションのプライベート記憶領域ディレクトリです。それぞれの AIR アプリケーションは、永続的な固有のアプリケーション記憶領域ディレクトリを持っています。このディレクトリは、アプリケーション固有のデータを格納するために利用されます。AIR アプリケーションをアンインストールする場合、アンインストーラではアプリケーション記憶領域ディレクトリに保存されたファイルは削除されません。アプリケーション記憶領域ディレクトリを参照するように File オブジェクトを設定する際、nativePath または url プロパティを直接に使用すると、そのパスが有効であるプラットフォーム上でしか動作しないコードになります。次の例では、アプリケーション記憶領域ディレクトリの "images" サブディレクトリを指している File オブジェクトを作成します。ユーザーのデスクトップディレクトリです。desktopDirectory プロパティを使用すると、異なるプラットフォームでも動作する方法でデスクトップディレクトリを参照できます。デスクトップディレクトリを参照するように File オブジェクトを設定する際、nativePath または url プロパティを直接に使用すると、そのパスが有効であるプラットフォーム上でしか動作しないコードになります。次のコードでは、ユーザーのデスクトップディレクトリに格納されているファイルおよびディレクトリの一覧を出力します。ユーザーのドキュメントディレクトリです。documentsDirectory プロパティを使用すると、異なるプラットフォームでも動作する方法でドキュメントディレクトリを参照できます。ドキュメントディレクトリを参照するように File オブジェクトを設定する際、nativePath または url プロパティを直接に使用すると、そのパスが有効であるプラットフォーム上でしか動作しないコードになります。参照先のファイルまたはディレクトリが存在するかどうかを示します。次のコードでは、一時ファイルを作成し、このファイルを削除します。exists プロパティを使用して、このファイルが存在するかどうかを確認します。ファイルに対して定義されたアイコンを格納している Icon オブジェクトです。次のコードは、icon 配列内で高さが最大のイメージを探し、Bitmap オブジェクトをそのイメージに設定する方法を示しています。参照先がディレクトリであるかどうかを示します。次のコードでは、ユーザーディレクトリ内のファイルおよびディレクトリを参照している File オブジェクトの配列を作成し、isDirectory プロパティを使用して、(ファイルではなく) ディレクトリを参照している File オブジェクトだけを列挙します。参照先のファイルまたはディレクトリが "非表示" かどうかを示します。値は、参照先のファイルまたはディレクトリが非表示の場合は true、それ以外の場合は false です。次のコードでは、ユーザーディレクトリ内のファイルおよびディレクトリを参照している File オブジェクトの配列を作成し、isHidden プロパティを使用して非表示のファイルおよびディレクトリを列挙します。参照先のディレクトリがパッケージであるかどうかを示します。値は、参照先のディレクトリがパッケージである場合は true、それ以外の場合は false です。File クラスでは、パッケージを直接作成することはできません。Macintosh では、ディレクトリをパッケージとして指定して、Finder にディレクトリではなく単一のファイルとして表示することができます。このプロパティは、参照先のディレクトリがパッケージである場合は true、そのファイルがディレクトリでない場合、存在しない場合、またはパッケージでない場合は false に設定されます。他のオペレーティングシステムでは、このプロパティは常に false に設定されます。参照がシンボリックリンクであるかどうかを示します。File クラスでは、シンボリックリンクを直接作成することはできません。シンボリックリンクを使用すると、ファイルが、ディスク上の別のファイルまたはディレクトリを参照できるようになります。エイリアスまたはショートカットは常に (ディレクトリではなく) ファイルとして報告され、エイリアスまたはショートカットの読み取りや書き込みを行っても、そのエイリアスまたはショートカットの参照先である元のファイルまたはディレクトリが影響を受けることはありません。これに対し、シンボリックリンクは、通常、参照先のファイルまたはディレクトリと同じように動作します。シンボリックリンクは、ファイルまたはディレクトリとして報告され、シンボリックリンクの読み取りや書き込みを行うと、シンボリックリンク自体ではなく、参照先のファイルまたはディレクトリが影響を受けます。ただし、シンボリックリンクを削除すると、リンクの対象ではなくリンクが削除されます。ホストオペレーティングシステムで使用される行終了文字です。lineEnding 静的プロパティを使用して、すべての改行文字 (コードでは正規表現 /\n/g で表現) を、ホストオペレーティングシステムで推奨される行終了文字に置き換えます。ホストオペレーティングシステムの表現形式に従った完全パスです。AIR では、スラッシュが適切な円記号 (¥) 文字に自動で変換されます。直接に nativePath プロパティを設定するコードを記述することは可能ですが、特定プラットフォーム上でしか動作しないコードになる可能性があることに注意してください。それよりも、共通的に使用されるディレクトリを次の静的プロパティで参照するほうがはるかに望ましく、どのプラットフォームでも有効なコードを作成できます。resolvePath() メソッドを使用すると、上記の各種ディレクトリからの相対パスを取得できます。コメントは、Windows コンピュータでの結果の例を示しています。この File オブジェクトによって参照されているファイルまたはディレクトリを格納しているディレクトリです。
parent プロパティは、参照先のファイルまたはディレクトリが存在しない場合でも、それを格納しているディレクトリを指す File オブジェクトを返します (そのディレクトリが存在しなくても返します)
") の戻り値と同じですが、ルートディレクトリの親が null である点が異なります。次のコードでは、parent プロパティを使用して、一時ファイルを格納しているディレクトリを表示します。ホストオペレーティングシステムのパスコンポーネントの区切り文字です。ストリングリテラル内では、2 つの円記号によってストリング内の単一の円記号を表します。separator 静的プロパティを使用して、パス内のスラッシュ (/) 文字をオペレーティングシステムによって使用される区切り文字に置き換えます。File オブジェクトがシンボリックリンクを参照する場合、spaceAvailable はシンボリックリンクが参照する位置で使用可能な領域を示します。一般的に、ディレクトリまたはファイルで使用可能な領域は、ディレクトリまたはファイルを含むボリュームで使用可能な領域と同じです。ただし、使用可能な領域では、割り当ておよびディレクトリごとの制限が考慮される場合があります。一般に、ボリュームにファイルまたはディレクトリを追加すると、ファイルの実際のサイズまたはディレクトリの内容のサイズよりも大きな領域が必要になります。例えば、オペレーティングシステムでは、インデックス情報を保存するための追加領域が必要になる場合があります。また、必要なディスクセクタにより追加領域が使用される場合があります。さらに、使用可能な領域は動的に変化します。したがって、報告されたすべての領域がファイル記憶域のために割り当てられることを期待するのは不可能です。ホストオペレーティングシステムで使用されるデフォルトのエンコーディングです。完全な一覧については、サポートする文字セットを参照してください。この URL スキームは、アプリケーションの記憶領域ディレクトリ内のパスへの参照である場合は「app-storage」、アプリケーションディレクトリ内のパスへの参照である場合は「app」、それ以外の場合は「file」です。
この場合、AIR によってストリングが自動的にエンコードされます (たとえば、スペースが "%20" に変換されます)
コメントは、Windows コンピュータでの結果の例を示しています。ユーザーのディレクトリです。userDirectory プロパティを使用すると、異なるプラットフォームでも動作する方法でユーザーディレクトリを参照できます。File オブジェクトの nativePath または url プロパティを直接に設定するコードは、そのパスが有効であるプラットフォーム上でしか動作しません。次のコードでは、ユーザーディレクトリのルートレベルに格納されているファイルおよびディレクトリの一覧を出力します。
コンストラクタの詳細
File クラスのコンストラクタ関数です。引数 path を渡してファイルパスを指定することは可能ですが、特定プラットフォーム上でしか動作しないコードになる可能性があることに注意してください。それよりも、共通的に使用されるディレクトリを次の静的プロパティで参照するほうがはるかに望ましく、どのプラットフォームでも有効なコードを作成できます。その上で、resolvePath() メソッドを使用することにより、上記の各種ディレクトリからの相対パスを取得できます。
例えば、次のコードでは、アプリケーション記憶領域ディレクトリ内の settings
xml ファイルを指すように File オブジェクトをセットアップしています。パスの指定には、URL を使用するか、またはネイティブの(プラットフォーム固有の)パス表記を使用します。URL 表記を使用する場合に有効な path パラメータの値を次に示します。こうすると、プラットフォームやユーザーに依存しない方法でデスクトップディレクトリにアクセスできます。ネイティブのパスを指定する場合、Windows では、円記号文字またはスラッシュ文字をパス区切り文字としてこの引数で使用できます。ネイティブのパス表記を使用する場合に有効な path パラメータの値を次に示します。これにより、プラットフォームやユーザーに依存しない方法でデスクトップディレクトリにアクセスできます。
メソッドの詳細
ディレクトリ選択ダイアログボックスを表示して、ユーザーがディレクトリを選択できるようにします。ユーザーがディレクトリを選択すると、select イベントが送出されます。select:Event — ユーザーがディレクトリを選択して、ディレクトリ選択ダイアログボックスを閉じると、送出されます。ディレクトリを選択すると、選択したディレクトリの内容が trace() の出力に列挙されます。ファイルを開くダイアログボックスを表示して、ユーザーが開くファイルを選択できるようにします。ユーザーがファイルを選択すると、select イベントが送出されます。このパラメータを省略すると、すべてのファイルが表示されます。select:Event — ユーザーがファイルを選択して、ファイルを開くダイアログボックスを閉じると、送出されます。ファイルを選択すると、ファイルのデータがストリングに読み込まれます。ファイルを開くダイアログボックスを表示して、ユーザーが開くファイルを 1 つ以上選択できるようにします。このパラメータを省略すると、すべてのファイルが表示されます。ファイルを選択すると、選択されたファイルのパスが出力されます。ファイルの保存ダイアログボックスを表示して、ユーザーがファイルの保存先を選択できるようにします。ユーザーがファイルを選択すると、select イベントが送出されます。select:Event — ユーザーがファイルを選択して、ファイルの保存ダイアログボックスを閉じると、送出されます。browseForSave() メソッドを使用して、ユーザーがファイルを保存するためのパスを選択できるようにしています。ファイルを選択すると、選択したファイルパスにデータが保存されます。保留中の非同期処理をキャンセルします。File オブジェクトが既存のファイルまたはディレクトリを表している場合は、標準化によって、実際のファイル名またはディレクトリ名と大文字小文字が一致するようにパスが調整されます。File オブジェクトがシンボリックリンクである場合は、標準化によって、参照先のファイルまたはディレクトリが存在するかどうかにかかわらず、リンクが指しているファイルまたはディレクトリに一致するようにパスが調整されます。小文字と大文字が区別されるファイルシステム (Linux など) では、小文字と大文字が異なるだけの名前のファイルが複数存在すると、canonicalize() メソッドは (ファイルシステムによって指定された順序で) 最初に発見されたファイルと一致するようにパスを調整します。また、Windows では、標準化によって、短いファイル名が長いファイル名に変換されます。次のコードは、canonicalize() メソッドを使用して、大文字小文字が区別された正しいディレクトリ名を確認する方法を示しています。この例を実行する前に、ローカルコンピュータのデスクトップ上に AIR Test という名前のディレクトリを作成してください。この例では、C: ドライブのルートに AIR Test という名前のディレクトリが存在し、このディレクトリに対してシステムが短い名前 AIR~1 を割り当てていることを前提としています。この File オブジェクトのコピーを返します。イベント登録はコピーされません。メモ : このメソッドでは、ファイル自体がコピーされるのではありません。この File オブジェクトで指定された場所にあるファイルまたはディレクトリを、newLocation パラメータで指定された場所にコピーします。コピー処理によって、可能な場合には必要な親ディレクトリが作成されます。この File オブジェクトは、結果として得られる(コピーされる)ファイルまたはディレクトリを表すものであり、それを格納しているディレクトリへのパスを表すものではありません。true の場合は、同じ名前のファイルまたはディレクトリが存在すると、このファイルまたはディレクトリが上書きされます。Windows では、開いているファイルや、開いているファイルが格納されているディレクトリをコピーすることはできません。次のコードは、copyTo() メソッドを使用してファイルをコピーする方法を示しています。
このコードを実行する前に、ローカルコンピュータのドキュメントディレクトリ内の AIR Test サブディレクトリに test1
txt というファイルを作成しておく必要があります。
結果として得られるコピーファイルには test2
txt という名前の既存のファイルがあった場合はこのファイルが上書きされます。次のコードは、copyTo() メソッドを使用してファイルをコピーする方法を示しています。
このコードを実行する前に、ローカルコンピュータのホームディレクトリ内の AIR Test サブディレクトリに test1
txt というファイルを作成しておく必要があります。
結果として得られるコピーファイルには、test2
txt という名前が付けられます。try ステートメントと catch ステートメントは、エラーへの対処方法を示しています。この File オブジェクトで指定された場所にあるファイルまたはディレクトリを、destination パラメータで指定された場所にコピーする処理を開始します。コピー処理によって、可能な場合には必要な親ディレクトリが作成されます。この File オブジェクトは、結果として得られる(コピーされる)ファイルまたはディレクトリを表すものであり、それを格納しているディレクトリへのパスを表すものではありません。true の場合は、同じ名前のファイルまたはディレクトリが存在すると、このファイルまたはディレクトリが上書きされます。Windows では、開いているファイルや、開いているファイルが格納されているディレクトリをコピーすることはできません。
このコードを実行する前に、ローカルコンピュータのドキュメントディレクトリ内の AIR Test サブディレクトリに test1
txt というファイルを作成しておく必要があります。
結果として得られるコピーファイルには test2
txt という名前の既存のファイルがあった場合はこのファイルが上書きされます。指定されたディレクトリおよび必要な親ディレクトリを作成します。ディレクトリがすでに存在する場合は、何も行われません。
次のコードでは、デスクトップ上の test
txt という名前のファイルをドキュメントディレクトリ内の AIR Test サブディレクトリに移動します。新しい一時ディレクトリへの参照を返します。これは、システムの一時ディレクトリパスに作成される新しいディレクトリです。このメソッドを使用すると、新しい一意のディレクトリを指定できます。システムに照会してディレクトリが新規かつ一意であることを確認する必要はありません。一時ディレクトリは自動では削除されないため、アプリケーションを閉じる前に削除することを検討してください。このコードを実行するたびに、新しい (一意の) ファイルが作成されます。新しい一時ファイルへの参照を返します。これは、システムの一時ディレクトリパスに作成される新しいファイルです。このメソッドを使用すると、新しい一意のファイルを指定できます。システムに照会してファイルが新規かつ一意であることを確認する必要はありません。一時ファイルは自動では削除されないため、アプリケーションを閉じる前に削除することを検討してください。このコードを実行するたびに、新しい (一意の) ファイルが作成されます。ディレクトリを削除します。このファイルが実際にディレクトリに対するシンボリックリンクの場合は、ディレクトリではなくこのリンクが削除されます。false の場合、ディレクトリにファイルまたはサブディレクトリが格納されていると、このメソッドの呼び出しで例外がスローされます。Windows では、開いているファイルのあるディレクトリを削除することはできません。ディレクトリを非同期で削除します。このファイルが実際にディレクトリに対するシンボリックリンクの場合は、ディレクトリではなくこのリンクが削除されます。false の場合、ディレクトリにファイルまたはサブディレクトリが格納されていると、ioError イベントが送出されます。Windows では、開いているファイルのあるディレクトリを削除することはできません。ファイルを削除します。このファイルが実際にシンボリックリンクの場合は、ターゲットファイルではなくこのリンクが削除されます。Windows では、現在開いているファイルを削除することはできません。次のコードでは、一時ファイルを作成し、次に deleteFile() メソッドを呼び出して一時ファイルを削除します。ファイルを非同期で削除します。このファイルが実際にシンボリックリンクの場合は、ターゲットファイルではなくこのリンクが削除されます。Windows では、現在開いているファイルを削除することはできません。この File オブジェクトによって表されるディレクトリ内のファイルおよびディレクトリに対応する File オブジェクトの配列を返します。このメソッドは、サブディレクトリの内容は調べません。この File オブジェクトによって表されるディレクトリの内容に対応する File オブジェクトの配列を非同期で取得します。相対パスは、2 つ目の(パラメータ)参照を見つけるためにこの参照に追加(解決)されるコンポーネントのリストです。相対パスは、区切り文字 "/" を使用して返されます。必要に応じて、相対パスに "" 参照を含めることができますが、そのようなパスが明確なボリューム境界を越えることはありません。" コンポーネントを使用できるかどうかを指定します。ファイルシステムのルートディレクトリを列挙している File オブジェクトの配列を返します。ディスクが挿入されていない CD または DVD ドライブなどの空のドライブは、この配列に含まれません。次のコードでは、ルートディレクトリの一覧を出力します。この File オブジェクトで指定された場所にあるファイルまたはディレクトリを、destination パラメータで指定された場所に移動します。ファイルの名前を変更するには、そのファイルのディレクトリにある別の名前のファイルへのパスを指すように destination パラメータを設定します。移動処理によって、可能な場合には必要な親ディレクトリが作成されます。このオブジェクトは、結果として得られる(移動される)ファイルまたはディレクトリを表すものであり、それを格納しているディレクトリへのパスを表すものではありません。true の場合は、同じ名前のファイルまたはディレクトリが存在すると、このファイルまたはディレクトリが上書きされます。Windows では、開いているファイルや、開いているファイルが格納されているディレクトリを移動することはできません。次のコードは、moveTo() メソッドを使用してファイルの名前を変更する方法を示しています。ソースと宛先の File オブジェクトは両方とも同じディレクトリ (ユーザーのドキュメントディレクトリ内の Apollo Test サブディレクトリ) を指しているため、この moveTo() メソッドでは、ファイルが新しいディレクトリに移動されるのではなく、ファイルの名前が変更されます。
このコードを実行する前に、ローカルコンピュータのドキュメントディレクトリ内の AIR Test サブディレクトリに test1
txt というファイルを作成しておく必要があります。txt という名前の既存のファイルがあった場合はこのファイルが上書きされます。次のコードは、moveTo() メソッドを使用してファイルを移動する方法を示しています。
このコードを実行する前に、ローカルコンピュータのホームディレクトリ内の AIR Test サブディレクトリに test1
txt というファイルを作成しておく必要があります。try ステートメントと catch ステートメントは、エラーへの対処方法を示しています。この File オブジェクトで指定された場所にあるファイルまたはディレクトリを、newLocation パラメータで指定された場所に移動する処理を開始します。ファイルの名前を変更するには、そのファイルのディレクトリにある別の名前のファイルへのパスを指すように destination パラメータを設定します。移動処理によって、可能な場合には必要な親ディレクトリが作成されます。このオブジェクトは、結果として得られる(移動される)ファイルまたはディレクトリを表すものであり、それを格納しているディレクトリへのパスを表すものではありません。true の場合は、同じ名前のファイルまたはディレクトリが存在すると、このファイルまたはディレクトリが上書きされます。Windows では、開いているファイルや、開いているファイルが格納されているディレクトリを移動することはできません。次のコードは、moveToAsync() メソッドを使用してファイルの名前を変更する方法を示しています。ソースと宛先の File オブジェクトは両方とも同じディレクトリ (ユーザーのドキュメントディレクトリ内の Apollo Test サブディレクトリ) を指しているため、この moveToAsync() メソッドでは、ファイルが新しいディレクトリに移動されるのではなく、ファイルの名前が変更されます。txt というファイルを作成しておく必要があります。txt という名前の既存のファイルがあった場合はこのファイルが上書きされます。ファイルまたはディレクトリをごみ箱に移動します。IOError — 操作がオペレーティングシステムによって許可されなかったか、ファイルまたはディレクトリが存在しません。Windows では、開いているファイルや、現在開いているファイルが格納されているディレクトリを移動することはできません。ファイルまたはディレクトリを非同期でごみ箱に移動します。Windows では、開いているファイルや、現在開いているファイルが格納されているディレクトリを移動することはできません。path パラメータ (ストリング) に基づいて、この File オブジェクトのパスを基準とした相対的なパスを持つ新しい File オブジェクトを作成します。path パラメータとして相対パスまたは絶対パスを使用できます。相対パスを指定した場合、指定した path は File オブジェクトのパスの末尾に「追加」されます。」を path で使用すると、File オブジェクトの子ではないパスが結果として返されることがあります。結果として得られる参照は、実際のファイルシステムの場所を参照していなくても構いません。絶対ファイル参照を指定した場合、メソッドは、そのパスをポイントする File オブジェクトを返します。絶対ファイル参照では、ユーザーのオペレーティングシステムの有効なネイティブパス構文(Windows の「C:\\test」など)を使用する必要があります。結果として得られたパスは、すべて次のように正規化されます。"エレメントは無視されます。"エレメントは、その親エントリを使用します。" 参照がファイルシステムのルートまたはアプリケーションの永続記憶領域のルートに達している場合、そのノードを越えることはありません。これは無視されます。パスの区切り文字としては、常にスラッシュ(/)を使用してください。Windows では円記号(¥)も使用できますが、これを使用すると、アプリケーションが他のプラットフォームで動作しなくなる可能性があります。Linux では、ファイル名およびディレクトリ名の大文字と小文字は区別されます。
イベントの詳細
保留中の非同期処理がキャンセルされると、送出されます。このイベントには、次のプロパティがあります。false は、キャンセルするデフォルトの動作がないことを示します。イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。操作をキャンセルするオブジェクトへの参照です。非同期処理が完了すると、送出されます。このイベントには、次のプロパティがあります。false は、キャンセルするデフォルトの動作がないことを示します。イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。読み込みが完了したネットワークオブジェクトです。このイベントには、次のプロパティがあります。false は、キャンセルするデフォルトの動作がないことを示します。ファイルまたはディレクトリを表す File オブジェクトの配列が見つかりました。非同期ファイル処理中にエラーが発生すると、送出されます。このイベントには、次のプロパティがあります。false は、キャンセルするデフォルトの動作がないことを示します。イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。
特定のエラーに関連付けられた参照番号です(AIR のみ)
入出力エラーが発生したネットワークオブジェクトです。エラーメッセージとして表示されるテキストです。操作がセキュリティ制約に違反していると、送出されます。このイベントには、次のプロパティがあります。false は、キャンセルするデフォルトの動作がないことを示します。イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。セキュリティエラーを報告するネットワークオブジェクトです。エラーメッセージとして表示されるテキストです。ユーザーがファイルまたはディレクトリ参照ダイアログボックスからファイルまたはディレクトリを選択すると、送出されます。このイベントには、次のプロパティがあります。false は、キャンセルするデフォルトの動作がないことを示します。イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。アイテムが選択されたオブジェクトです。false は、キャンセルするデフォルトの動作がないことを示します。ファイルを表す File オブジェクトの配列が選択されました。Socket クラスを使用すると、コードでソケット接続を確立して生のバイナリデータを読み書きできます。これは XMLSocket に似ていますが、送受信するデータの形式に制約がありません。Socket クラスは、バイナリプロトコルを使用するサーバーとの通信に役立ちます。ローカルファイルシステムのサンドボックス内の SWF ファイルはソケットを使用できません。ターゲットホスト上のソケットポリシーファイルで、SWF ファイルがソケット接続できるホストと、その接続ができるポートを指定します。Flash Player の最近のリリースでは、ソケットポリシーファイルに関するセキュリティ要件が以前より厳密になっています。Flash Player のすべてのバージョンで、ソケットポリシーファイルを使用することをお勧めします。環境によっては、ソケットポリシーファイルの使用が必須となっています。このため、XMLSocket オブジェクトを使用している場合は、必要に応じてターゲットホストがソケットポリシーファイルを提供するようにしてください。次の一覧は、Flash Player の各バージョンにおけるソケットポリシーファイルの要件をまとめたものです。0 以降のバージョンでは、Socket 接続にソケットポリシーファイルが必要です。つまり、接続しているポートには関係なく、ターゲットホスト上にソケットポリシーファイルが必要ということです。また、SWF ファイルを提供している同じホスト上のポートに接続している場合でも同様です。0 以前のバージョンでは、1024 未満のポートに接続するか、SWF ファイルを提供しているホスト以外のホストに接続するときは、ターゲットホスト上にソケットポリシーファイルが必要です。0 では、ソケットポリシーファイルが不要な場合でも、ターゲットホストがソケットポリシーファイルを提供していないときに Flash Debug Player を使うと警告が表示されます。ただし、Adobe AIR では、アプリケーションセキュリティサンドボックス内のコンテンツ (AIR アプリケーションと共にインストールされたコンテンツ) は、これらのセキュリティ制限による制限を受けません。セキュリティ情報について詳しくは、以下を参照してください。継承されるパブリックプロパティを隠す。
継承プロパティの表示
[読み取り専用] 入力バッファで読み取ることができるデータのバイト数です。[読み取り専用] この Socket オブジェクトが現在、接続されているかどうかを示します。指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。データのバイト順序を示します。オブジェクトの書き込みまたは読み取り時に使用される AMF のバージョンを制御します。[静的] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。接続までの待ち時間(ミリ秒数)を示します。継承されるパブリックメソッドを隠す。
継承メソッドの表示
イベントリスナーオブジェクトを EventDispatcher オブジェクトに登録し、リスナーがイベントの通知を受け取るようにします。ソケットを閉じます。指定されたホストおよびポートにソケットを接続します。イベントをイベントフローに送出します。ソケットの出力バッファに蓄積されたデータをフラッシュします。EventDispatcher オブジェクトに、特定のイベントタイプに対して登録されたリスナーがあるかどうかを確認します。オブジェクトに指定されたプロパティが定義されているかどうかを示します。Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。指定されたプロパティが存在し、列挙できるかどうかを示します。ソケットからブール値を読み取ります。ソケットから符号付きバイトを読み取ります。ソケットから、length パラメータで指定したデータバイト数を読み取ります。ソケットから符号付き 32 ビット整数を読み取ります。指定した文字セットを使用して、バイトストリームからマルチバイトストリングを読み取ります。ソケットから AMF 直列化形式でエンコードされたオブジェクトを読み取ります。ソケットから符号付き 16 ビット整数を読み取ります。ソケットから符号なしバイトを読み取ります。ソケットから符号なし 32 ビット整数を読み取ります。ソケットから符号なし 16 ビット整数を読み取ります。ソケットから UTF-8 ストリングを読み取ります。ループ処理に対するダイナミックプロパティの可用性を設定します。指定されたオブジェクトのストリング表現を返します。指定されたオブジェクトのプリミティブな値を返します。指定されたイベントタイプについて、この EventDispatcher オブジェクトまたはその祖先にイベントリスナーが登録されているかどうかを確認します。ソケットにブール値を書き込みます。ソケットに 1 バイトを書き込みます。指定したバイト配列のバイトのシーケンスを書き込みます。ソケットに 32 ビット符号付き整数を書き込みます。指定した文字セットを使用して、バイトストリームからマルチバイトストリングを書き込みます。ソケットに AMF 直列化形式でオブジェクトを書き込みます。ソケットに 16 ビット整数を書き込みます。ソケットに 32 ビット符号なし整数を書き込みます。指定された UTF-8 ストリングの長さ (バイト単位) を示す 16 ビット符号なし整数をソケットに書き込み、その後にストリング自体を書き込みます。ソケットに UTF-8 ストリングを書き込みます。継承されるイベントを隠す。
継承されるイベントを表示
[ブロードキャストイベント] Flash Player または AIR アプリケーションがオペレーティングシステムのフォーカスを取得して、アクティブになったときに送出されます。サーバーによりソケット接続が閉じられたときに送出されます。ネットワーク接続が確立されたときに送出されます。[ブロードキャストイベント] Flash Player または AIR アプリケーションがオペレーティングシステムのフォーカスを失い、非アクティブになるときに送出されます。入出力エラーが発生して送信またはロード操作が失敗したときに送出されます。connect() の呼び出しによって、呼び出し元のセキュリティサンドボックスの外にあるサーバーや 1024 未満のポート番号に対して接続しようとしたときに送出されます。ソケットがデータを受信したときに送出されます。
プロパティの詳細
入力バッファで読み取ることができるデータのバイト数です。この Socket オブジェクトが現在、接続されているかどうかを示します。このプロパティの呼び出しは、現在ソケットが接続されている場合に値 true を、それ以外の場合は false を返します。データのバイト順序を示します。オブジェクトの書き込みまたは読み取り時に使用される AMF のバージョンを制御します。接続までの待ち時間(ミリ秒数)を示します。指定した時間内に接続できなかったときは、接続が失敗することになります。
コンストラクタの詳細
パラメータを指定しないと、初期状態では未接続のソケットが作成されます。パラメータを指定すると、指定したホストおよびポートへの接続が試行されます。注意:パラメータを指定せずにコンストラクタフォームを使用し、さらにいずれかのイベントリスナーを追加し、connect メソッドを呼び出す(host および port パラメータを指定する)ことを強く推奨します。このシーケンスによって、すべてのイベントリスナーが正しく動作するようになります。null を指定して、SWF ファイルが存在するホストサーバーに接続することもできます。呼び出し元の SWF ファイルが Web ブラウザ内で実行されている場合は、host が SWF ファイルと同じドメイン内に存在する必要があります。0 以降のバージョンでは、ターゲットホストは、SWF ファイルを提供するホストから指定のポートへのソケット接続を許可するように指定した、ソケットポリシーファイルを提供する必要があります。以前のバージョンの Flash Player では、1024 番未満のポートに接続するか、SWF ファイルを提供しているホスト以外のホストに接続するときのみ、ソケットポリシーファイルが必要です。connect() の呼び出しによって、ソケットポリシーファイルを提供しないサーバーや、特定のポートに対して呼び出し元のホストアクセスを許可しないポリシーファイルを持つサーバーに接続しようとしたときに送出されます。
メソッドの詳細
ソケットを閉じます。close() メソッドが呼び出された後は、データの読み書きはできません。close イベントは、サーバーにより接続が閉じられたときのみ送出されます。IOError — ソケットを閉じることができないか、またはソケットが開いていません。指定されたホストおよびポートにソケットを接続します。直後に接続が失敗した場合、イベントが送出されるか例外がスローされます。ホストが指定されている場合はエラーイベントが送出され、ホストが指定されていない場合は例外がスローされます。接続が成功した場合は、接続のステータスがイベントにより報告されます。ソケットが既に接続済みの場合、最初に既存の接続が閉じられます。ホストを指定しないと、接続するホストは、呼び出す ファイルが存在するホストになります。ホストを指定しない場合は、イベントリスナーを使用して接続が成功したかどうかを判定します。connect() の呼び出しによって、ソケットポリシーファイルを提供しないサーバや、特定のポートに対して呼び出し元のホストアクセスを許可しないポリシーファイルを持つサーバに接続しようとしたときに送出されます。ソケットの出力バッファに蓄積されたデータをフラッシュします。write メソッドで書き込まれるデータは、すぐには転送されません。flush() メソッドが呼び出されるまでキューに置かれます。ソケットからブール値を読み取ります。1 バイトを読み取った後、メソッドはバイトがゼロ以外の場合は true、それ以外の場合は false を返します。ソケットから符号付きバイトを読み取ります。ソケットから、length パラメータで指定したデータバイト数を読み取ります。このバイトは、指定したバイト配列の、offset で指定された位置以降に読み込まれます。デフォルト値の 0 に設定すると、すべてのデータが読み取られます。ソケットから符号付き 32 ビット整数を読み取ります。指定した文字セットを使用して、バイトストリームからマルチバイトストリングを読み取ります。完全な一覧については、「サポートする文字セット」を参照してください。メモ : charSet パラメータの値が現在のシステムによって認識されない場合、アプリケーションはシステムのデフォルトコードページを文字セットとして使用します。もう一方のマシンでは、アプリケーションがシステムのデフォルトコードページを使用することになります。ソケットから AMF 直列化形式でエンコードされたオブジェクトを読み取ります。* — 非直列化されたオブジェクトです。ソケットから符号付き 16 ビット整数を読み取ります。ソケットから符号なしバイトを読み取ります。ソケットから符号なし 32 ビット整数を読み取ります。ソケットから符号なし 16 ビット整数を読み取ります。ソケットから UTF-8 ストリングを読み取ります。このストリングには、バイト単位の長さを示す符号なし short 型整数が前に付いているものと見なされます。ソケットにブール値を書き込みます。このメソッドは 1 バイトを書き込みます。メモ : このメソッドで書き込まれるデータは、すぐには転送されません。flush() メソッドが呼び出されるまでキューに置かれます。ソケットに 1 バイトを書き込みます。メモ : このメソッドで書き込まれるデータは、すぐには転送されません。flush() メソッドが呼び出されるまでキューに置かれます。値の下位 8 ビットが使用されます。上位 24 ビットは無視されます。指定したバイト配列のバイトのシーケンスを書き込みます。書き込み操作は、offset で指定された位置から開始されます。length パラメータを省略するとデフォルトの長さ 0 が使用され、offset の位置からバッファ全体が書き込まれます。offset パラメータを省略した場合も、バッファ全体が書き込まれます。メモ : このメソッドで書き込まれるデータは、すぐには転送されません。flush() メソッドが呼び出されるまでキューに置かれます。デフォルト値の 0 に設定すると、offset パラメータで指定した値以降にバッファ全体が書き込まれます。メモ : このメソッドで書き込まれるデータは、すぐには転送されません。flush() メソッドが呼び出されるまでキューに置かれます。メモ : このメソッドで書き込まれるデータは、すぐには転送されません。flush() メソッドが呼び出されるまでキューに置かれます。ソケットに 32 ビット符号付き整数を書き込みます。メモ : このメソッドで書き込まれるデータは、すぐには転送されません。flush() メソッドが呼び出されるまでキューに置かれます。指定した文字セットを使用して、バイトストリームからマルチバイトストリングを書き込みます。メモ : このメソッドで書き込まれるデータは、すぐには転送されません。flush() メソッドが呼び出されるまでキューに置かれます。完全な一覧については、「サポートする文字セット」を参照してください。ソケットに AMF 直列化形式でオブジェクトを書き込みます。メモ : このメソッドで書き込まれるデータは、すぐには転送されません。flush() メソッドが呼び出されるまでキューに置かれます。ソケットに 16 ビット整数を書き込みます。次のようにバイトが書き込まれます。パラメータの下位 16 ビットが使用されます。上位 16 ビットは無視されます。メモ : このメソッドで書き込まれるデータは、すぐには転送されません。flush() メソッドが呼び出されるまでキューに置かれます。ソケットに 32 ビット符号なし整数を書き込みます。メモ : このメソッドで書き込まれるデータは、すぐには転送されません。flush() メソッドが呼び出されるまでキューに置かれます。指定された UTF-8 ストリングの長さ (バイト単位) を示す 16 ビット符号なし整数をソケットに書き込み、その後にストリング自体を書き込みます。ストリングを書き込む前に、メソッドによってストリングのすべての文字を表すのに必要なバイト数が計算されます。メモ : このメソッドで書き込まれるデータは、すぐには転送されません。flush() メソッドが呼び出されるまでキューに置かれます。ソケットに UTF-8 ストリングを書き込みます。メモ : このメソッドで書き込まれるデータは、すぐには転送されません。flush() メソッドが呼び出されるまでキューに置かれます。
イベントの詳細
サーバーによりソケット接続が閉じられたときに送出されます。close イベントは、サーバーにより接続が閉じられたときのみ送出されます。このイベントには、次のプロパティがあります。false は、キャンセルするデフォルトの動作がないことを示します。イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。接続が閉じられたオブジェクトです。ネットワーク接続が確立されたときに送出されます。このイベントには、次のプロパティがあります。false は、キャンセルするデフォルトの動作がないことを示します。イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。入出力エラーが発生して送信またはロード操作が失敗したときに送出されます。このイベントには、次のプロパティがあります。false は、キャンセルするデフォルトの動作がないことを示します。イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。
特定のエラーに関連付けられた参照番号です(AIR のみ)
入出力エラーが発生したネットワークオブジェクトです。エラーメッセージとして表示されるテキストです。connect() の呼び出しによって、呼び出し元のセキュリティサンドボックスの外にあるサーバーや 1024 未満のポート番号に対して接続しようとしたときに送出されます。このイベントには、次のプロパティがあります。false は、キャンセルするデフォルトの動作がないことを示します。イベントリスナーで Event オブジェクトをアクティブに処理しているオブジェクトです。セキュリティエラーを報告するネットワークオブジェクトです。エラーメッセージとして表示されるテキストです。ソケットがデータを受信したときに送出されます。このイベントには、次のプロパティがあります。false は、キャンセルするデフォルトの動作がないことを示します。Event をアクティブに処理しているオブジェクトです。リスナーがイベントを処理しているときに読み込まれたアイテム数またはバイト数です。このプロパティは、socketData イベントオブジェクトによって使用されません。進行状況をレポートする Socket オブジェクトです。次の例では、ソケットに対して読み取りおよび書き込みを行い、socket イベント中に転送される情報を出力します。メモ:この例をテストするには、次の操作を実行します。js ファイルを追加します。このプロジェクトのアプリケーション記述ファイルを作成し、ADL を使用してプロジェクトをテストします。デフォルトで、呼び出し元の ファイルおよび読み込む URL は、同じドメインにある必要があります。com に置かれているソースからのみデータを読み込むことができます。ただし、Adobe AIR では、アプリケーションセキュリティサンドボックス内のコンテンツ(AIR アプリケーションと共にインストールされたコンテンツ)は、これらのセキュリティ制限による制限を受けません。Adobe AIR で実行中のコンテンツの場合、アプリケーションセキュリティサンドボックス内のファイルは、次のいずれかの URL スキームを使って URL にアクセスできます。アプリケーションセキュリティドメインのファイル(AIR アプリケーションと共にインストールされるファイル)は、次の URL スキームのいずれかを使用して URL にアクセスできます。アプリケーションセキュリティサンドボックス内にないコンテンツには、ブラウザで実行されるコンテンツと同じ制限が適用され、コンテンツのドメインにより読み込み操作が管理されます。セキュリティ情報について詳しくは、以下を参照してください。継承されるパブリックプロパティを隠す。
継承プロパティの表示
この要求に対する正常な応答データをキャッシュするかどうかを指定します。指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。URL リクエストで送信されるデータを含むオブジェクトです。HTTP プロトコルスタックでこの要求のクッキーを管理するかどうかを指定します。HTTP フォーム送信メソッドを制御します。[静的] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。この URLRequest がデータを取得する前に、ローカルキャッシュを参照するかどうかを指定します。HTTP 要求で使用されるユーザーエージェントストリングを指定します。継承されるパブリックメソッドを隠す。
継承メソッドの表示
オブジェクトに指定されたプロパティが定義されているかどうかを示します。Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。指定されたプロパティが存在し、列挙できるかどうかを示します。ループ処理に対するダイナミックプロパティの可用性を設定します。指定されたオブジェクトのストリング表現を返します。指定されたオブジェクトのプリミティブな値を返します。
プロパティの詳細
以下の認証メソッドがサポートされています。この要求に対する正常な応答データをキャッシュするかどうかを指定します。true に設定すると、AIR アプリケーションはオペレーティングシステムの HTTP キャッシュを使用します。POST 処理は、マウスのクリックやキーの押下などのユーザーが開始したアクションに応答して実行する必要があります。POST 処理がクロスドメインである (POST ターゲットが、POST 要求を送信中の SWF ファイルと同じサーバー上にない) 場合は、クロスドメインアクセスを許可する URL ポリシーファイルをターゲットサーバーが提供する必要があります。シンタックスが有効でない場合は、アップロードに適用されるセキュリティ規則によって POST 処理が拘束されます。URL リクエストで送信されるデータを含むオブジェクトです。このプロパティはメソッドプロパティと一緒に使用します。データが使用される方法は、使用されるオブジェクトの型によって異なります。それ以外の場合、オブジェクトはストリングに変換され、そのストリングが POST または GET データとして使用されます。ArgumentError — 提供されるダイジェストは、ダウンロードされた署名付きファイルから抽出されたファイルのダイジェスト、またはキャッシュからロードされた署名付きファイルから抽出されたファイルのダイジェストとは一致しません。提供されたダイジェストの長さが誤っている場合、または提供されたダイジェストに無効な (16 進数以外の) 文字が含まれている場合にも、このエラーがスローされます。HTTP プロトコルスタックでこの要求のクッキーを管理するかどうかを指定します。true の場合、クッキーが要求に追加され、応答クッキーが記憶されます。false の場合、クッキーは要求に追加されず、応答クッキーは記憶されませんが、ユーザーは直接ヘッダを操作することでクッキー自体を管理できます。[インターネットのプロパティ] コントロールパネルを開き、[全般] タブをクリックします。HTTP フォーム送信メソッドを制御します。コンテンツがアプリケーションセキュリティサンドボックス内にある場合、ストリング値を使用できます。jsp でホストされるリモートアプリケーションを開き、URLVariables オブジェクトで捕捉したユーザーセッションに関するデータをアプリケーションに渡します。この例のハイライトは、次のとおりです。このとき、リモートアプリケーションの URL をパラメータとして取ります。メモ : この例を実行するには、この例のリモートアプリケーションの URL を実際の URL に置き換える必要があります。配列の各オブジェクトは、次のように名前ストリングと値ストリングを含む URLRequestHeader オブジェクトである必要があります。AIR ランタイムではリクエストヘッダーに対して一定の制限が設定されています。呼び出すメソッドのマニュアルを参照してください。ブラウザの制限により、カスタム HTTP リクエストヘッダは POST リクエストだけをサポートし、GET リクエストはサポートしません。デフォルトで、URL は呼び出し元のファイルと同じドメインにある必要があります。ただし、コンテンツがアプリケーションセキュリティボックスで実行中の場合を除きます。アプリケーションセキュリティサンドボックス内のファイル(AIR アプリケーションと共にインストールされるファイル)は、次の URL スキームのいずれかを使用して URL にアクセスできます。
IPv6 は、128 ビットのアドレスをサポートするインターネットプロトコルのバージョンです (32 ビットのアドレスをサポートする、以前の IPv4 プロトコルの機能を向上したものです)
ネットワークインターフェイスでの IPv6 のアクティブ化が必要になる場合があります。詳細については、データをホストするオペレーティングシステムのヘルプを参照してください。この URLRequest がデータを取得する前に、ローカルキャッシュを参照するかどうかを指定します。HTTP 要求で使用されるユーザーエージェントストリングを指定します。
コンストラクタの詳細
ロード処理が成功した場合、complete イベントが送出され、XML ファイル内のデータが出力されます。追加のイベントハンドラはエラーイベントを含む他のイベントをキャプチャします。ByteArray クラスには、バイナリデータの読み取り、書き込み、および操作を最適化するメソッドおよびプロパティがあります。メモ : ByteArray クラスは、バイトレベルでデータにアクセスする必要がある上級の開発者を対象としています。メモリ内データはバイトの詰め込み配列 (最もコンパクトなデータ型の表現) ですが、ByteArray クラスのインスタンスは標準 [] (配列アクセス) 演算子を使用して操作できます。また、URLStream および Socket クラスと同じメソッドを使用し、メモリ内ファイルとして読み取りおよび書き込みを行うことができます。
カスタム プロトコルを作成してサーバーに接続
データ型を使用したデータのサイズの最適化
継承されるパブリックプロパティを隠す。
継承プロパティの表示
[読み取り専用] バイト配列の現在の位置から最後までの読み取り可能なデータのバイト数です。指定されたオブジェクトインスタンスのクラスオブジェクトまたはコンストラクタ関数への参照です。0 の形式を使用する必要があるかどうかの特定に使用されます。ByteArray オブジェクト内でのファイルポインタの現在の位置をバイト単位で移動するか、または現在の位置をバイト単位で返します。[静的] クラスまたは関数オブジェクトのプロトタイプオブジェクトへの参照です。継承されるパブリックメソッドを隠す。
継承メソッドの表示
これにより、このクラスのメソッドおよびプロパティを使用して、データストレージおよびデータストリームを最適化できます。バイト配列の内容を消去し、長さと位置のプロパティを 0 にリセットします。バイト配列を圧縮します。deflate 圧縮アルゴリズムを使用してバイト配列を圧縮します。オブジェクトに指定されたプロパティが定義されているかどうかを示します。deflate 圧縮アルゴリズムを使用してバイト配列を圧縮します。Object クラスのインスタンスが、パラメータとして指定されたオブジェクトのプロトタイプチェーン内にあるかどうかを示します。指定されたプロパティが存在し、列挙できるかどうかを示します。バイトストリームからブール値を読み取ります。バイトストリームから符号付きバイトを読み取ります。バイトストリームから、length パラメータで指定したデータバイト数を読み取ります。バイトストリームから符号付き 32 ビット整数を読み取ります。指定した文字セットを使用して、バイトストリームから指定した長さのマルチバイトストリングを読み取ります。バイト配列から AMF 直列化形式でエンコードされたオブジェクトを読み取ります。バイトストリームから符号付き 16 ビット整数を読み取ります。バイトストリームから符号なしバイトを読み取ります。バイトストリームから符号なし 32 ビット整数を読み取ります。バイトストリームから符号なし 16 ビット整数を読み取ります。バイトストリームから UTF-8 ストリングを読み取ります。バイトストリームまたはバイト配列から、length パラメータで指定した UTF-8 バイトのシーケンスを読み取り、ストリングを返します。ループ処理に対するダイナミックプロパティの可用性を設定します。バイト配列をストリングに変換します。バイト配列を解凍します。指定されたオブジェクトのプリミティブな値を返します。ブール値を書き込みます。バイトストリームにバイトを書き込みます。バイトストリームに 32 ビット符号付き整数を書き込みます。指定した文字セットを使用して、バイトストリームにマルチバイトストリングを書き込みます。バイト配列に AMF 直列化形式でオブジェクトを書き込みます。バイトストリームに 16 ビット整数を書き込みます。バイトストリームに 32 ビット符号なし整数を書き込みます。バイトストリームに UTF-8 ストリングを書き込みます。
プロパティの詳細
バイト配列の現在の位置から最後までの読み取り可能なデータのバイト数です。ByteArray オブジェクトにアクセスするたびに bytesAvailable プロパティと読み取りメソッドを組み合わせて使用すれば、有効なデータを確実に読み取ることができます。0 の形式を使用する必要があるかどうかが特定されます。この長さに現在の長さよりも大きい値を設定すると、バイト配列の右側は 0 で埋められます。この長さに現在の長さよりも小さい値を設定すると、バイト配列は切り詰められます。0 の形式を使用する必要があるかどうかの特定に使用されます。ByteArray オブジェクト内でのファイルポインタの現在の位置をバイト単位で移動するか、または現在の位置をバイト単位で返します。これは、次に読み取りメソッドまたは書き込みメソッドを呼び出したときに読み取りまたは書き込みが開始されるポイントです。
コンストラクタの詳細
これにより、このクラスのメソッドおよびプロパティを使用して、データストレージおよびデータストリームを最適化できます。
メソッドの詳細
バイト配列の内容を消去し、長さと位置のプロパティを 0 にリセットします。このメソッドを明示的に呼び出すと、ByteArray インスタンスによって使用されるメモリを解放します。バイト配列を圧縮します。バイト配列全体が圧縮されます。position プロパティがバイト配列の末尾に設定されます。txt の説明を参照してください。
これらの圧縮形式のいずれかを使用してデータを圧縮した場合、その圧縮形式データ (zip ファイルなど) には、元のデータの圧縮されたバージョンに加えてメタデータ情報も保存されます。各種ファイル形式に含まれるメタデータの種類の例としては、ファイル名、ファイル修正日時、元のファイルサイズ、オプションのコメント、チェックサムデータなどがあります。特定のバイト位置に圧縮データに関するメタデータが格納され、それ以外のバイト位置に元の ByteArray データの実際に圧縮されたバージョンが格納されます。zlib 圧縮データ形式の仕様で規定されているように、このバイト部分 (つまり、元のデータの圧縮されたバージョンを含む部分) は deflate アルゴリズムを使用して圧縮されます。DEFLATE) を呼び出すだけでは目的を達することはできません。まず、圧縮データからメタデータを分離してから、deflate 形式を使用して圧縮データを解凍する必要があります。デフォルトでは zlib 形式が使用されます。deflate 圧縮アルゴリズムを使用してバイト配列を圧縮します。バイト配列全体が圧縮されます。position プロパティがバイト配列の末尾に設定されます。txt の説明を参照してください。まず、圧縮データからメタデータを分離してから、deflate 形式を使用して圧縮データを解凍する必要があります。deflate 圧縮アルゴリズムを使用してバイト配列を圧縮します。同じアルゴリズムを使用してバイト配列が圧縮されている必要があります。txt の説明を参照してください。まず、圧縮データ形式の構成要素であるメタデータを実際の圧縮データから分離する必要があります。指定された圧縮アルゴリズムと同じアルゴリズムを使用して圧縮されていません。バイトストリームからブール値を読み取ります。バイトストリームから符号付きバイトを読み取ります。バイトストリームから、length パラメータで指定したデータバイト数を読み取ります。デフォルト値の 0 に設定すると、すべてのデータが読み取られます。バイトストリームから符号付き 32 ビット整数を読み取ります。指定した文字セットを使用して、バイトストリームから指定した長さのマルチバイトストリングを読み取ります。完全な一覧については、「サポートする文字セット」を参照してください。メモ : charSet パラメータの値が現在のシステムによって認識されない場合、アプリケーションはシステムのデフォルトコードページを文字セットとして使用します。もう一方のマシンでは、アプリケーションがシステムのデフォルトコードページを使用することになります。バイト配列から AMF 直列化形式でエンコードされたオブジェクトを読み取ります。* — 非直列化されたオブジェクトです。バイトストリームから符号付き 16 ビット整数を読み取ります。バイトストリームから符号なしバイトを読み取ります。バイトストリームから符号なし 32 ビット整数を読み取ります。バイトストリームから符号なし 16 ビット整数を読み取ります。バイトストリームから UTF-8 ストリングを読み取ります。このストリングには、バイト単位の長さを示す符号なし short が前に付いているものと見なされます。バイトストリームまたはバイト配列から、length パラメータで指定した UTF-8 バイトのシーケンスを読み取り、ストリングを返します。バイト配列をストリングに変換します。配列のデータが Unicode バイト順マークで開始する場合、アプリケーションではストリングの変換時に、そのマークが使用されます。useCodePage を true に設定すると、アプリケーションでは、変換時の配列のデータは現在のシステムコードページにあると見なされます。バイト配列を解凍します。同じアルゴリズムを使用してバイト配列が圧縮されている必要があります。txt の説明を参照してください。まず、圧縮データ形式の構成要素であるメタデータを実際の圧縮データから分離する必要があります。データの圧縮に使用されたものと同じ圧縮アルゴリズムを指定する必要があります。デフォルトでは zlib 形式が使用されます。このパラメータは、Adobe AIR で実行しているコンテンツに対してのみ有効です。指定された圧縮アルゴリズムと同じアルゴリズムを使用して圧縮されていません。ブール値を書き込みます。バイトストリームにバイトを書き込みます。パラメータの下位 8 ビットが使用されます。上位 24 ビットは無視されます。バイトストリームに下位 8 ビットが書き込まれます。length パラメータを省略すると、デフォルトの長さの 0 が使用され、メソッドによって offset から開始されるバッファ全体が書き込まれます。offset パラメータも省略した場合は、バッファ全体が書き込まれます。バイトストリームに 32 ビット符号付き整数を書き込みます。指定した文字セットを使用して、バイトストリームにマルチバイトストリングを書き込みます。完全な一覧については、「サポートする文字セット」を参照してください。バイト配列に AMF 直列化形式でオブジェクトを書き込みます。バイトストリームに 16 ビット整数を書き込みます。パラメータの下位 16 ビットが使用されます。上位 16 ビットは無視されます。バイトストリームに 32 ビット符号なし整数を書き込みます。バイトストリームに UTF-8 ストリングを書き込みます。最初に UTF-8 ストリングの長さがバイト単位で 16 ビット整数として書き込まれ、その後にストリングの文字を表すバイトが続きます。バイトストリームに UTF-8 ストリングを書き込みます。次の例では、ブール値とパイの倍精度浮動小数表現をバイト配列に書き込みます。ここでは以下の手順を実行します。バイトと等価のブール値 false を書き込み、長さをチェックしてその値を戻します。pi の数値と等価の倍精度の浮動小数を書き込みます。バイト配列に書き込まれた 9 バイトを 1 つずつ読み出します。trace() がバイトに対して呼び出されると、バイト配列に保存された 10 進表現のバイトが出力されます。コードセグメントが最後に追加され、ファイルの終端エラーをチェックして、バイトストリームが最後まで読み取られないことを確認します。実行時に発生する可能性のあるエラーを次に示します。システムのメモリ不足です。システムで実行中のアプリケーションまたはプロセスのいくつかを終了してください。メソッド %1 は実装されていません。指定した値は予想範囲外の数値です。%1 は不正な値です。メソッドまたはプロパティの radix 引数として、2 未満または 36 より大きい値が渡されました。互換性のないオブジェクトに対してメソッド %1 が呼び出されました。指定されたオブジェクトでは使用できないメソッドを呼び出そうとしました。このエラーは、プロトタイプ関数をあるオブジェクトから別のオブジェクトにコピーして呼び出したときに、ターゲットオブジェクトの型が元のオブジェクトと異なる場合に発生します。ターゲットオブジェクトと元のオブジェクトは同じ型であることが必要です。配列インデックスが正の整数 (%1) ではありません。正の整数でないインデックス値を使用して、配列のメンバーにアクセスしようとしました。配列のインデックス値には、正の整数のみを渡します。%1 は関数ではありません。このエラーは、存在しない関数を呼び出そうとした場合に発生します。0 から API が変更されていないことを確認してください。また、正しいオブジェクトを使用していることを確認してください。例えば、次のコードでは最終行で変数 blg の代わりに誤って big を呼び出しているため、エラーが発生します。コンストラクタ以外にインスタンス化が試行されました。%1 があいまいです。一致するバインディングが複数見つかりました。null オブジェクト参照のプロパティまたはメソッドにアクセスすることはできません。評価結果が null になるオブジェクトは、プロパティを持つことができません。このエラーは、有効ではあるが予期しない状況で発生します。例えば、Sprite オブジェクトを作成する次のコードがあるとします。このように Sprite オブジェクトの stage プロパティにプロパティを設定できないため、この例ではエラーが発生します。条件は未定義であり、プロパティがありません。このエラーは、存在しないオブジェクトのプロパティにアクセスしようとした場合に発生します。例えば、次のような場合です。このエラーは、スペルを間違った場合にも表示されます。この表の下のメモを参照してください。最後の命令がコードサイズを超えました。この表の下のメモを参照してください。クラス %1 が見つかりません。メソッド %1 はデフォルトの xml 名前空間を設定できません。この表の下のメモを参照してください。) は型 %1 でサポートされていません。スコープのスタックオーバーフローが発生しました。この表の下のメモを参照してください。スコープのスタックアンダーフローが発生しました。この表の下のメモを参照してください。コードがメソッドの末尾からはみ出すことはできません。この表の下のメモを参照してください。最低 1 つのブランチターゲットがメソッドの有効な命令を反映していません。この表の下のメモを参照してください。Void 型は、関数の戻り型としてのみ使用できます。この表の下のメモを参照してください。スタックオーバーフローが発生しました。この表の下のメモを参照してください。スタックアンダーフローが発生しました。この表の下のメモを参照してください。無効なレジスタ %1 がアクセスされました。この表の下のメモを参照してください。スタックの深さがアンバランスです。この表の下のメモを参照してください。スコープの深さがアンバランスです。この表の下のメモを参照してください。強制型変換に失敗しました:%1 を %2 に変換できません。この表の下のメモを参照してください。%1 は定義済みです。同じスコープ内で同じ識別子名を持つ変数または関数を複数宣言することはできません。この表の下のメモを参照してください。メソッドは参照されるまで検証できません。この表の下のメモを参照してください。演算子の右側はクラスでなければなりません。is 演算子の右側の式は、クラスでなければなりません。ABC ファイルではありません。SWF を生成するツールが古いか、SWF 自体が破損している可能性があります。この表の下のメモを参照してください。
サポートされていない種類の機能 =%1
この表の下のメモを参照してください。エントリポイントが見つかりませんでした。この表の下のメモを参照してください。プロトタイプオブジェクトはバニラオブジェクトでなければなりません。この表の下のメモを参照してください。%1 をプリミティブに変換できません。この表の下のメモを参照してください。%1 へのアーリーバインディングアクセスが無効です。この表の下のメモを参照してください。例外ハンドラの範囲またはターゲットオフセットが無効です。この表の下のメモを参照してください。非ダイナミッククラスのインスタンスで存在しないプロパティに値を割り当てようとしています。この操作は、ダイナミッククラスのインスタンスでのみ可能です。%1 はメソッドしか含むことができません。この表の下のメモを参照してください。無効なオペランド型:%1 は %2 である必要があります。この表の下のメモを参照してください。このエラーは、データ型が int のプロパティに小数を割り当てようとした場合に表示されます。このエラーは、次のような範囲外の割り当てに対しても表示されます。また、ビット単位の左シフト演算子 (&lt&lt) を使用した場合にも表示されます。例えば、次のようなコードがあるとします。この例では、結果は負の値となり、uint 型のプロパティに割り当てられるとエラーとなります。次に回避策を示します。%1 の引数の数が一致しません。メソッド %1 をコンストラクタとして呼び出すことはできません。抽出されたメソッドは、抽出元のオブジェクトに永続的にバインドされます。そのため、後からコンストラクタとして呼び出すことはできません。例えば、次のようにクラス A で関数 f() を作成するとします。次のコードでは、関数の抽出はエラーになりませんが、関数の新しいインスタンスを作成するとエラーになります。変数 %1 は定義されていません。