ヘッダーをスキップ

Oracle Enterprise Pack for Eclipse Oracle Mobile Application Framework (OEPE Edition)でのモバイル・アプリケーションの開発 リリース2.1.2 E64870-01 |
| 目次

前 | 次 |

# 6 MAFアプリケーション機能のコンテンツ・タイプの定義

この章では、MAFアプリケーション・エディタとMAF機能エディタを使用してモバイル・アプリケーションのSpringboardおよびナビゲーション・バーの表示動作を定義し、アプリケーション機能を埋め込むことでコンテンツを指定する方法について説明します。

この章の内容は次のとおりです。

- 第6.1項「アプリケーション機能のコンテンツ・タイプの概要」

- 第6.2項「アプリケーション機能のコンテンツをリモートURLまたはローカルHTMLとして定義する方法」

- 第6.3項「外部リソースの選択に関する必知事項」

## 6.1 アプリケーション機能のコンテンツ・タイプの概要

アプリケーション機能のコンテンツ・タイプには、ユーザー・インタフェースの形式が記述されます。このコンテンツ・タイプは、MAF AMXコンポーネントまたはHTML(5)タグを使用して構成できます。また、アプリケーション機能では、モバイル・コンテキストに適したコンテンツを含む、リモートでホストされたページから、自身のコンテンツを導出することもできます。このようなWebページとして考えられるのは、スマートフォン向けのApache Trinidadで作成されたJavaServerページや、タブレット・デバイス上で実行されるアプリケーション向けのADF Facesコンポーネントから構成されたページです。モバイル・アプリケーションに埋め込まれた各アプリケーション機能では、様々なコンテンツ・タイプを保持できます。

モバイル・アプリケーションには、様々なコンテンツ・タイプを持つアプリケーション機能が含まれますが、アプリケーション機能自体も、ユーザーおよびデバイス固有の要件に応じた様々なコンテンツ・タイプを保持する場合があります(第22章「アプリケーション機能に関する制約の設定」)。アプリケーション機能によって、様々なコンテンツ・タイプがどのように提供されるかについては、第22章「アプリケーション機能に関する制約の設定」を参照してください。次に示すように、子要素を`<adfmf:content>`要素に追加すると、アプリケーション機能にユーザー・インタフェースをどのように実装するかを定義できます。

    <adfmf:content id="Feature1">
          <adfmf:amx file="FeatureContent.amx">
    </adfmf:content>

## 6.2 アプリケーション機能のコンテンツをリモートURLまたはローカルHTMLとして定義する方法

MAF機能エディタで機能を作成したら、機能のコンテンツを定義するために、各機能を右クリックして新規オブジェクト・ダイアログ(図6-1を参照)を開きます。このダイアログでは、目的のコンテンツ関連要素を選択できます。このダイアログの選択項目を使用すると、アプリケーション機能用に配信されるコンテンツのタイプと、そのコンテンツ・タイプで使用するナビゲーションとSpringboardアイコンのイメージを制御できます。

各コンテンツ・タイプには、独自のパラメータ・セットがあります。たとえば、図6-1に示すように、MAF AMXページの場所、またはMAF AMXコンテンツとして実装するアプリケーション機能のタスク・フローの場所を指定する必要があります。さらにオプションで、アプリケーション機能に他のアプリケーション機能(またはモバイル・アプリケーション自体)とは異なるルック・アンド・フィールを設定するCSSファイルを選択したり、MAF AMXコンポーネントのアクションを制御するJavaScriptファイルを選択することもできます。

図6-1 アプリケーション機能の実装の定義

始める前に:

各コンテンツ・タイプには、次のような独自の前提条件があります。

- 「AMXページ」: 個々のMAF AMXページの両方が含まれる、アプリケーション機能のデフォルトのコンテンツ・タイプ。MAF AMXコンテンツは、一連のモバイル固有のユーザー・インタフェース・コンポーネント、ADFデータ・バインディング、カメラなどのデバイス・サービスを統合するデータ・コントロール、およびチャート、グラフ、テーマ・マップなどのデータ視覚化ツールを使用して、宣言的に構築できます。MAF AMXページの構築の詳細は、第12章「MAF AMXページの作成」を参照してください。

  MAF AMXとして実装されるアプリケーション機能には、既存のビュー(つまり、単一のMAF AMXページ)が必要です。JavaScriptファイルを追加すると、MAF AMXコンポーネントに対するレンダリング・ロジックが提供されるか、既存のレンダリング・ロジックがオーバーライドされます。アプリケーション機能に対するカスタムのルック・アンド・フィールを指定するセレクタを持つスタイルシート(CSS)を含めます。これは、モバイル・アプリケーション・レベルで定義されたスタイル(アプリケーション機能にデフォルトで使用されるスタイル)をオーバーライドします。つまり、アプリケーション機能全体で確実に独自のルック・アンド・フィールを持つようになります。

  MAF AMXページとこれらを格納するモバイル・アプリケーションは、両方とも「ファイル」→「新」から呼出し可能なウィザードを使用して作成できます。プロジェクト・エクスプローラでビュー・プロジェクトを右クリックして「新」を選択したときに表示されるポップアップ・メニュー(図6-2を参照)を使用してMAF AMXページを作成することもできます。

  図6-2 MAFページを作成するためのポップアップ・メニュー

- 「タスク・フロー」: タスク・フロー・ページでは、アプリケーション内のパスを機能ごとに定義します。タスク・フロー・ファイルにはコントロール・フローの仕様とアクティビティが含まれ、アクティビティとしてメソッドのコール、ルーターの使用、別のタスク・フローのコール、タスク・フローからの復帰、ビュー・ページの表示などがあります。詳細は、第12.2項「タスク・フローの作成」を参照してください。

- ローカルHTML: ユーザーのモバイル・アプリケーション内にパッケージ化されるHTMLページを参照します。`HelloWorld`サンプル・アプリケーション(付録G「サンプルのMAFアプリケーション」を参照)で示したようなHTMLページでJavaScriptを参照できます。MAFがアプリケーション機能の実装に最適ではない場合、このコンテンツ・タイプを使用し、Cordova JavaScript APIを使用してアプリケーション機能を実装することを検討してください。JavaScript APIおよびMAFの詳細は、付録B「ローカルHTMLおよびアプリケーション・コンテナAPI」を参照してください。

- リモートURL: Webアプリケーションへの参照。既存のWebアプリケーションをモバイル用に拡張し、さらにデバイス・サービスを拡張できます。リモート・コンテンツでは、ローカル・データ・キャッシュや、サーバー側データおよび機能の一式を提供することによって、MAF AMXおよびローカルHTMLコンテンツの両方を補完できます。リモートURL実装には、有効なWebアドレスとホストされたモバイル・アプリケーションが必要です。詳細は、第20章「リモートURLを使用したアプリケーション機能コンテンツの実装」を参照してください。

新しいアプリケーション・コンテンツを作成するには:

1. MAF機能エディタの「アウトライン」にリストされているアプリケーション機能を選択します。

2. 右マウス・ボタンをクリックし、「新」を選択します(図6-3を参照)。

   図6-3 新しい機能のためのポップアップ・メニュー

3. 新規オブジェクト・ダイアログで、「コンテンツ」ノードを展開し、必要に応じて、生成されたIDに対応する次のコンテンツ・タイプのいずれかを選択し、「OK」をクリックします。

   - 「AMXページ」。図6-7を参照してください。

   - 「タスク・フロー」

   - 「ローカルHTML」。図6-4を参照してください。

   - 「リモートURL」。図6-6を参照してください。

4. コンテンツ固有のパラメータを定義します。

   - AMXページの場合は、「参照」をクリックして既存のページを指定するか、または「作成」をクリックして新規MAFページ・ダイアログを開きます。図6-7を参照してください。

   - タスク・フローの場合は、「参照」をクリックして既存のページを指定するか、または「作成」をクリックして新規MAFタスク・フロー・ダイアログを開きます。

   - ローカルHTMLファイルの場合は、「参照」をクリックして既存のページを指定するか、または「作成」をクリックして新規モバイルHTMLページ・ダイアログを開きます。図6-4を参照してください。

   - ローカルHTMLファイルの場合は、「参照」をクリックして既存のページを指定するか、または「作成」をクリックして新規モバイルHTMLページ・ダイアログを開きます。図6-4を参照してください。このファイルの親フォルダを選択し、後で使用できるように説明的なファイル名を付けます。ファイルをHTMLまたはXHTMLのいずれの形式で保存するかを選択し、「終了」をクリックします。これはアプリケーション機能なので、このページはビュー・コントローラ・プロジェクトのWeb Contentフォルダに格納されます。

     図6-4 アプリケーション機能のコンテンツとしてのローカルHTMLページの作成

   - リモートURLコンテンツの場合は、図6-5のように接続を選択します。これは、サーバー上のWebページのアドレス(および起動ページの場所)を表しています。

     図6-5 ホスト・アプリケーションの接続の選択

     この接続を作成するには、まず「作成」をクリックし、次に「URL接続の作成」ダイアログに入力します(図6-6を参照)。このダイアログの詳細は、Oracle Enterprise Pack for Eclipseのオンライン・ヘルプを参照してください。この接続は、`connections.xml`ファイルに格納されます。

     図6-6 URL接続の作成

アプリケーション機能のコンテンツをAMXページとして指定するには:

1. 新しいAMXページの親フォルダを選択します。

2. モバイル・アプリケーションでの作業時に簡単に識別できるよう説明的な名前をページに付けます。

3. 「終了」をクリックしてページを保存します。図6-7に新規MAFページ・ダイアログを示します。

   図6-7 MAF AMXをコンテンツ・タイプとして選択

## 6.3 外部リソースの選択に関する必知事項

デプロイメントを可能にするために、次の属性によって参照されるすべてのリソースは、ビュー・プロジェクトの`ViewContent`ディレクトリ内に配置する必要があります。

- `<adfmf:feature>`の`icon`および`image`属性(例: `<adfmf:feature id="PROD" name="Products" icon="feature_icon.png" image="springboard.png">`)。

- `<adfmf:content>`の`icon`および`image`属性(例: `<adfmf:content id="PROD" icon="feature_icon.png" image="springboard_image.png">`)。第6.1項「アプリケーション機能のコンテンツ・タイプの概要」も参照してください。

- `<adfmf:amx>`の`file`属性(例: `<adfmf:amx file="PRODUCT/home.amx" />`)。第6.1項「アプリケーション機能のコンテンツ・タイプの概要」も参照してください。

- <`adfmf: localHTML`>の`url`属性(例: `<adfmf:localHTML url="oracle.hello/index.html"/>`)。第6.1項「アプリケーション機能のコンテンツ・タイプの概要」および第29.5.3.2項「カスタム・ログイン・ページ」も参照してください。

- `<adfmf:includes>`の`type=stylesheet`および`type=JavaScript`に対して定義するファイル属性(例: `<adfmf:include type="JavaScript" file="myotherfile.js"/>`または`<adfmf:include type="StyleSheet" file="resources/css/stylesheet.css" id="i3"/>`)。第8章「MAFアプリケーションのスキニング」も参照してください。

MAFは、別の場所から参照されるリソースをサポートしていません。つまり、たとえば、`../`を接頭辞として使用して、`public_html`ディレクトリ外部に値を入力することはできません。