Oracle® Fusion Middleware Oracle Application Development Frameworkモバイル開発者ガイド 11g リリース2 (11.1.2.3.0) B70750-01 |
|
前 |
次 |
この章では、Oracle JDeveloperのウィザードおよびツールを使用して基本的なADFモバイル・アプリケーションを作成する方法を説明します。さらに、アプリケーションの作成時に自動的に生成されるアーティファクトについても説明します。
この章には、次の項が含まれます。
JDeveloperの設計操作性が拡張され、ADFモバイル・アプリケーション開発をサポートするようになったため、コード行を記述せずにADFモバイル・アプリケーションを作成、デプロイおよびテストできるようになりました。
ADFモバイル拡張機能により、JDeveloperには、基本ファイルによって完全なプロジェクトをシードするアプリケーション・テンプレートが提供されています。ADFモバイル・アプリケーションを構築する最初の手順は、名前の割当てと、ソース・ファイルを保存するディレクトリの指定です。JDeveloperに用意されているアプリケーション・テンプレートを使用してアプリケーションを作成すると、ワークスペースが必要な構成ファイルとともに自動的に編成され、プロジェクトに含められます。
アプリケーションの作成ウィザードを使用して、アプリケーションを作成します。
始める前に:
ADFモバイル・アプリケーション拡張機能をダウンロードする必要があります。詳細は、第3.3項「JDeveloperの設定」して参照してください。すべてのターゲット・プラットフォームに対して、ADFモバイル・アプリケーション拡張機能をダウンロードおよび構成する必要がある場合もあります。ネイティブ機能(オペレーティング・システムのネイティブ・コントロールとの統合機能)を含む複雑なアプリケーションでは、追加でSHLIB_PATH
およびCLASSPATH
変数が必要になる場合があります。
ADF Mobileアプリケーションを作成するには、次を実行します。
「ファイル」→「新規」→「モバイル・アプリケーション(ADF)」を選択します(図4-1を参照)。
図4-2に示すMobileApplicationのように、「アプリケーション名」フィールドにアプリケーションの名前を入力します。必要に応じて、「ディレクトリ」フィールドにプロジェクトの新しい場所を入力します。「アプリケーション・パッケージの接頭辞」フィールドに接頭辞を入力することで、アプリケーション・パッケージが一意となるようにします。「次へ」をクリックします。
アプリケーションは、ADFモバイル・アプリケーションの最上位構造になります。アプリケーションは、このウィザードの後続ページで定義する様々なプロジェクト層をまとめます。
プロジェクト1の名前ページで、必要に応じて、アプリケーション・コントローラ・プロジェクトの名前と場所を変更します(図4-3を参照)。変更しない場合は、プロジェクトのデフォルト名、ApplicationControllerをそのまま使用します。このページの「プロジェクトの機能」ウィンドウには、アプリケーション・コントローラ・プロジェクトで使用できるテクノロジがリストされます。
このプロジェクトにはアプリケーション全体のリソースがすべて格納されます。詳細は、表4-1を参照してください。
「次へ」をクリックして、アプリケーション・コントローラ・プロジェクトのJava設定ページ(図4-4に示すプロジェクト1のJava設定)を表示します。アプリケーション・コントローラ・プロジェクトのデフォルトのパッケージ名(application
)と、Java SOURCEPATH
ディレクトリ(src
)およびJava出力ディレクトリ(classes
)の場所を、そのまま使用するか変更します。
「次へ」をクリックして、プロジェクト2の名前ページに移動します。ここでは、必要に応じて、ビュー・コントローラ・プロジェクトの名前を変更できます。このページの「プロジェクトの機能」ウィンドウ(図4-5を参照)には、ADFモバイルのビュー・コントローラ・プロジェクトで使用できるテクノロジがリストされます。ビュー・コントローラ・プロジェクト内で作成されるアーティファクトの詳細は、表4-2を参照してください。
「次へ」をクリックします。ビュー・コントローラ・プロジェクトのJava設定ページ(図4-6を参照)で、アプリケーション・コントローラ・プロジェクトのデフォルトのパッケージ名(mobile
)と、プロジェクトのJava SOURCEPATH
ディレクトリ(src
)およびJava出力ディレクトリ(classes
)の場所を、そのまま使用(または変更)します。
「終了」をクリックして、ADFモバイル・アプリケーションとそのプロジェクトの作成を完了します。
ヒント: 前述の手順に従ったADFモバイル・アプリケーションの作成に加え、(使用している開発用コンピュータの |
ADFモバイル・アプリケーション・プロジェクトが完成すると、JDeveloperによってアプリケーション・レベルおよびプロジェクト・レベルのアーティファクトが追加されます。これらには、「アプリケーション・ナビゲータ」(図4-7を参照)からアクセスできます。さらに、JDeveloperは、DeviceFeaturesデータ・コントロールを作成します。このデータ・コントロールによってPhoneGap Java APIが抽象化され、ADFモバイルAMXとして実装されているアプリケーション機能は、デバイスに埋め込まれている様々なサービスにアクセスできるようになります。さらにJDeveloperは、ApplicationFeaturesデータ・コントロールも作成します。これによってSpringboardページの構築が可能になります。DeviceFeaturesデータ・コントロールによって提供される操作を「ADFモバイルAMX」ページにドラッグ・アンド・ドロップすることで(第9.5項「DeviceFeaturesデータ・コントロールの使用方法」を参照)、デバイスに格納されたユーザーのコンタクト先を管理したり、電子メールとSMSテキスト・メッセージを作成して送信したり、デバイスの場所を突きとめたり、デバイスのカメラを使用したり、デバイスのファイル・システムに格納されたイメージを取得したりする機能を追加します。
JDeveloperは、アプリケーション・コントローラ・プロジェクト内にADFモバイル・アプリケーション用のファイルを生成します。これらのファイル(表4-1を参照)には、ADFモバイル・アプリケーションのメタデータを記述するための構成ファイルが含まれています。これらのファイルには、「アプリケーション・ナビゲータ」の「アプリケーション・リソース」ペインからアクセスします(図4-8を参照)。
アプリケーション・コントローラ・プロジェクトにはアプリケーション全体のリソースが格納されており、ADFモバイル・アプリケーションのプレゼンテーション・レイヤーを提供しています。ここには、モバイル・デバイスでのアプリケーションの表示方法を構成するためのメタデータ・ファイルが含まれています。このプロジェクトはADFモバイル・アプリケーションのセキュリティを指定しており、アプリケーションのログイン・ページ、アプリケーション全体のリソースを含むことができます。アプリケーション・コントローラ・プロジェクトは、本質的には、アプリケーション機能とそのコンテンツを定義するビュー・コントローラ・プロジェクトのコンシューマです。詳細は、第4.2.2.2項「ビュー・コントローラ・プロジェクトについて」を参照してください。
表4-1 アプリケーション・リソースを介してアクセスされるモバイル・アプリケーション・レベルのアーティファクト
アーティファクト | ファイルの場所 | 説明 |
---|---|---|
|
たとえば、次のようになります。
|
ADFモバイル・アプリケーションを定義できるようにする、スタブXMLアプリケーションの識別子ファイル。ADF Fusion Webアプリケーションのアプリケーション識別子と同様に、このファイルによって、アプリケーションのコンテンツ、ナビゲーション動作およびユーザー認証要件を定義できます。詳細は、第5.2項「モバイル・アプリケーションの構成ファイルについて」を参照してください。 |
|
たとえば、次のようになります。
|
ADFモバイル・アプリケーションに使用されるデフォルト・スキンの構成に使用されます。詳細は、第5.11項「ADFモバイル・アプリケーションのスキニング」を参照してください。 |
アプリケーション・イメージ |
たとえば、次のようになります。
|
iOSおよびAndroidアプリケーションのデプロイメントに必要とされる一連のイメージ。ここには、アプリケーション・アイコンやスプラッシュ画面のPNGイメージも含まれます。iPhoneなどのiOSデバイスへのデプロイメントでは、様々なサイズのイメージ・セットが必要です。 プロジェクトで提供されるデフォルトのiOSイメージは次のとおりです。
これらのイメージをオーバーライドするには、第16.2.4.3項「iOSアプリケーションへのカスタム・イメージの追加」を参照してください。 |
|
たとえば、次のようになります。
|
システム全体のキーストアである |
|
たとえば、次のようになります。
|
ロギング・レベルやロギング・コンソールなど、アプリケーション・エラーのロギングを設定できます。詳細は、第18.5項「ロギングの使用方法と構成」を参照してください。 |
|
たとえば、次のようになります。
|
Java仮想マシン、JVM 1.4の構成ファイル。このファイルを使用して、アプリケーションの起動やヒープ領域の割当て、JavaおよびJavaScriptのデバッグ・オプションを構成します。詳細は、第18.3.4項「JavaコードおよびJavaScriptのデバッグを有効にする方法」を参照してください。 |
|
たとえば、次のようになります。
|
構成サービス・パラメータなど、アプリケーション・レベルの設定の構成に使用します。詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』のadf-config.xmlに関する項を参照してください。第10.7項「Webサービスの管理」も参照してください。 |
|
たとえば、次のようになります。
|
ADFモバイル・アプリケーションで定義されているすべての接続のリポジトリ。『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』のconnections.xmlに関する項も参照してください。 |
アプリケーション・コントローラ・プロジェクト自体(図4-9を参照)において、JDeveloperは、次の表4-2に示すアーティファクトを作成します。
表4-2 アプリケーション・コントローラのアーティファクト
アーティファクト | ファイルの場所 | 説明 |
---|---|---|
|
たとえば、次のようになります。
|
使用可能なスキンを定義するもので、新しいスキンを定義することもできます。 詳細は、第5.11項「ADFモバイル・アプリケーションのスキニング」を参照してください。 |
|
たとえば、次のようになります。
|
|
|
たとえば、次のようになります。
|
データ・コントロールのレジストリ。デバイスのサービスを活用するDeviceFeatureデータ・コントロールの使用方法の詳細は、第9章「バインディングの使用とデータ・コントロールの作成」を参照してください。埋込みアプリケーション機能をコールするSpringboardページを作成できるようにするApplicationFeaturesデータ・コントロールの詳細は、第5.4.5項「ADFモバイルAMXコンテンツによるカスタムSpringboardアプリケーション機能について」を参照してください。詳細は、『Oracle Fusion Middleware Oracle Application Development Framework Fusion開発者ガイド』のOracle ADデータ・バインディング・ファイルに関する項を参照してください。 |
ビュー・コントローラ・プロジェクト(ViewController
というデフォルト名で生成されます(図4-10参照))には、アプリケーション機能のリソースが格納されます。第4.2.2.1項「アプリケーション・レベルのリソースについて」で説明したアプリケーション・コントローラ・プロジェクトとは異なり、ビュー・コントローラ・プロジェクトのメタデータ・ファイルでは、アプリケーション機能レベルのリソース、特に、実行時にモバイル・デバイスでADFモバイル・アプリケーション自体のSpringboard内またはそのナビゲーション・バーに表示できるように1つのADFモバイル・アプリケーションに集約可能な様々なアプリケーション機能を記述します。さらに、アプリケーション機能のメタデータ・ファイルでは、アプリケーション機能をHTMLページとADFモバイルAMXページのどちらで構成するのかが記述されます。また、ビュー・コントローラ・プロジェクトには、これらのアプリケーション・ページと、アプリケーション機能レベルのリソース(ADFモバイル・アプリケーション用に定義された、Springboardおよびナビゲーション・バー上のアプリケーション機能を表すアイコン・イメージなど)を含むことができます。
ビュー・コントローラ・プロジェクトはアプリケーション・コントローラ・プロジェクトと分離して、別のモバイル・アプリケーションで再使用できるように、アーカイブ・ファイルとしてデプロイできます(第5.12項「機能アーカイブ・ファイルの使用」を参照)。また、稀なケースとして、アプリケーション・コントローラ・プロジェクトが複数のビュー・コントローラ・プロジェクトを使用することもできます。
表4-3に示すように、これらのリソースには、adfmf-feature.xml
と呼ばれるアプリケーション機能の構成ファイルが含まれます。
表4-3 ビュー・コントローラのアーティファクト
アーティファクト | ファイルの場所 | 説明 |
---|---|---|
|
たとえば、次のようになります。
|
アプリケーション機能を定義できるようにする、スタブXMLの識別子ファイル。詳細は、第5.7項「モバイル機能アプリケーションの構成ファイルについて」を参照してください。第3.3.1項「プラットフォームとフォーム・ファクタに応じた開発環境の構成方法」の説明に従ってモバイル・プリファレンスを構成したら、デフォルトのデプロイメント・プロファイル設定を使用して、このアプリケーションをデプロイできます。詳細は、第16章「ADFモバイル・アプリケーションのデプロイ」を参照してください。 |
アプリケーション固有のコンテンツ |
たとえば、次のようになります。
|
|
アプリケーションを作成するとadfmf-application.xml
ファイルが生成されます。これによりモバイル・アプリケーションおよびadfmf-features.xml
ファイルも構成できるようになります。このファイルを使用して、モバイル・アプリケーション内に埋め込まれるアプリケーション機能を追加、削除または編集します。ADFモバイル拡張機能によってこれら両方のファイルには概要エディタが提供されているので、これらのファイルは宣言的に変更できます。図4-11は、adfmf-application.xml
ファイルの概要エディタの例を示しています。
図4-11に示すように、adfmf-application.xml
ファイルは、「アプリケーション・ナビゲータ」の「アプリケーション・リソース」パネルで、「ディスクリプタ」および「ADF META-INF」ノードの下に表示されます。このファイルは、この場所からダブルクリックで開くことができます。このファイルにアクセスすると、JDeveloperによって、関連付けられた概要エディタが開かれるだけでなく、コンポーネント・パレットに該当するページ・コンポーネントが表示されます。これは、エディタの「ソース」ページか「構造」ウィンドウにドラッグ・アンド・ドロップできます(図4-12を参照)。adfmf-application.xml
ページのコンポーネントについては、第5.2項「モバイル・アプリケーションの構成ファイルについて」を参照してください。
図4-13に示すように、adfmf-feature.xml
構成ファイルは、「アプリケーション・ナビゲータ」の「プロジェクト」パネルで、「ViewController」および「META-INF」ノードの下にあります。このファイルを使用して、ADFモバイル・アプリケーションのコンテンツを構成します。
adfmf-application.xml
ファイルの概要エディタと同じように、JDeveloperによって、adfmf-features.xml
構成ファイルの要素を構築するために使用するADFモバイル・コンポーネントが提示されます(第5.7項「モバイル機能アプリケーションの構成ファイルについて」を参照)。「概要」ページを使用するか、「コンポーネント・パレット」から「構造」ウィンドウまたはソース・エディタ自体へコンポーネントをドラッグ・アンド・ドロップできます。adfmf-feature.xml
ファイルを選択すると、JDeveloperによって「コンポーネント・パレット」にADFモバイル機能コンポーネントが移入されます。
第7章「ADFモバイルAMXページの作成」に示すように、ADFモバイルAMXコンポーネントを使用すると、プラットフォーム固有の言語で作成されたページとまったく同じように実行されるページを構築できます。これらのページは、(ADFモバイル・アプリケーションを作成し、その中にアプリケーション機能を埋め込む)アプリケーション・アセンブラによって作成される場合もあります。または、別の開発者によって開発され、アプリケーション機能またはADFモバイル・アプリケーションに対するリソースとして、ADFモバイル・アプリケーションに組み込まれる場合もあります。
ADFモバイルAMXページを作成するプロジェクトによって、このページが単一のアプリケーション機能のコンテンツ配信に使用されるのか、またはADFモバイル・アプリケーション全体に対するリソースとして使用されるのかが決まります。たとえば、図4-17に示すような、アプリケーション・コントローラ・プロジェクト内で作成されたページは、アプリケーション全体のリソースとして使用されます。一方、ビュー・コントローラ・プロジェクト内で作成されるADFモバイルAMXページは、アプリケーション機能にコンテンツを配信する目的のみに使用されます。
同じように、ADFモバイルのタスク・フローを使用して、アプリケーション機能にコンテンツを配信することもできます。図4-15に示すように、ADFモバイルでは、ADFモバイルAMXページ、タスク・フローおよびアプリケーション機能を追加するためのウィザードが提供されます。
これらのウィザードにアクセスするには、まず「アプリケーション・ナビゲータ」でプロジェクトを選択してから、「ファイル」→「新規」を選択します。「クライアント層」内で「ADFモバイル」を選択してから、いずれかのウィザードを選択します。
「ADFモバイルAMXページ」ウィザードを使用して、アプリケーション機能コンテンツとして使用されるAMXページと、単独でADFモバイル・アプリケーションへのリソースとして使用されるAMXページを作成できます。アプリケーション機能コンテンツの詳細は、第5.9.1項「アプリケーション・コンテンツの定義方法」を参照してください。
アプリケーション機能のコンテンツとしてADFモバイルAMXページを作成するには:
「アプリケーション・ナビゲータ」で、ビュー・コントローラ・プロジェクトを右クリックします。
「ファイル」を選択し、「新規」を選択します。
「新規ギャラリ」の「クライアント層」ノードで、「ADFモバイルAMXページ」を選択して、「OK」をクリックします。
「ファイル名」フィールドに名前を入力して、「ADFモバイルAMXページの作成」ダイアログの入力を完了します(図4-16を参照)。「ディレクトリ」フィールドに、ファイルの場所を入力します。この場所は、ビュー・コントローラ・プロジェクトのpublic_html
フォルダ内である必要があります。
「パネル・ページ」内で、ヘッダーおよびフッターの作成に使用する「ファセット」を選択(または選択解除)します。「OK」をクリックします。
詳細は、第8.2.2項「パネル・ページ・コンポーネントの使用方法」を参照してください。
ADFモバイルAMXページを構築します。ADFモバイルAMXコンポーネントの使用方法の詳細は、第7.3.1.2項「ADFモバイルAMXページの作成」を参照してください。第5.9.1項「アプリケーション・コンテンツの定義方法」も参照してください。
ADFモバイル・アプリケーションに対するリソースとしてADFモバイルAMXページを作成するには:
「アプリケーション・ナビゲータ」で、アプリケーション・コントローラ・プロジェクトを選択します。
「ファイル」を選択し、「新規」を選択します。
「新規ギャラリ」の「クライアント層」ノードで、「ADFモバイルAMXページ」を選択して、「OK」をクリックします。
「ファイル名」フィールドに名前を入力して、「ADFモバイルAMXページの作成」ダイアログの入力を完了します(図4-17を参照)。「ディレクトリ」フィールドに、ファイルの場所を入力します。この場所は、アプリケーション・コントローラ・プロジェクトのpublic_html
フォルダ内である必要があります。「OK」をクリックします。
ADFモバイルAMXページを構築します。詳細は、第7.3.1.2項「ADFモバイルAMXページの作成」を参照してください。
アプリケーション機能のコンテンツをADFモバイル・タスク・フローとして配信できます。
アプリケーション機能のコンテンツとしてADFモバイル・タスク・フローを作成するには:
「アプリケーション・ナビゲータ」で、ビュー・コントローラ・プロジェクトを選択します。
「ファイル」を選択し、「新規」を選択します。
「新規ギャラリ」の「クライアント層」ノードで、「ADFモバイル・タスク・フロー」を選択して、「OK」をクリックします。
「ファイル名」フィールドに名前を入力して、「ADFモバイルAMXページの作成」ダイアログの入力を完了します(図4-18を参照)。「ディレクトリ」フィールドに、ファイルの場所を入力します。この場所は、ビュー・コントローラ・プロジェクトのpublic_html
フォルダ内である必要があります。「OK」をクリックします。
タスク・フローを構築します。第7.2項「タスク・フローの作成」も参照してください。
JDeveloperは、ADFモバイルAMXページとタスク・フローを、ビュー・プロジェクトの「Webコンテンツ」ノードに配置します。これは、図4-19で、custom_springboard.amx
およびViewController-task-flow.xml
(このプロジェクト内で作成されるタスク・フローのデフォルト名)によって示されています。第5.5項「モバイル・アプリケーション内のアプリケーション機能の構成」で説明するように、これらのアーティファクトはadfmf-feature.xml
ファイル内で参照されます。図4-19は、カスタマイズされたアプリケーションのスプラッシュ画面(または起動)イメージやナビゲーション・バーのイメージなど、その他のリソースもWeb Contentノードに格納されていることも示しています。詳細は、表4-3を参照してください。
JDeveloperは、ADFモバイルAMXページとタスク・フローを、ADFモバイル・アプリケーションへのアプリケーション・リソースとして、アプリケーション・コントローラ・プロジェクトの「Webコンテンツ」ノードに配置します。図4-19に示すように、ADFモバイルAMXページ用のファイルはapplication_resource.amx
という名前で、タスク・フローのファイルはApplicationController-task-flow.xml
という名前です(デフォルト名)。