ヘッダーをスキップ

Oracle® Mobile Application Framework Oracle Mobile Application Frameworkでのモバイル・アプリケーションの開発 2.1.1.0.0 E64867-01 |
| 目次

前 | 次 |

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

この章では、MAFアプリケーションのアプリケーション機能で使用可能なコンテンツ・タイプの概要と、アプリケーション機能でサポートされている各コンテンツ・タイプの作成方法について説明します。

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

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

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

- 第5.3項「アプリケーション機能のコンテンツをMAF AMXページまたはタスク・フローとして定義する方法」

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

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

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

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

例5-1 <adfmf:content>要素

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

概要エディタの「コンテンツ」タブ(図5-1を参照)には、例5-1に示したターゲット・コンテンツ関連の要素と属性を定義するためのドロップダウン・リストとフィールドが表示されます。このタブのフィールドを使用すると、アプリケーション機能用に配信されるコンテンツのタイプと、そのコンテンツ・タイプで使用するナビゲーションとSpringboardアイコンのイメージを制御できる制約を設定できます。

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

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

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

概要エディタの「コンテンツ」タブ(図5-1を参照)には、例5-1に示したターゲット・コンテンツ関連の要素と属性を定義するためのドロップダウン・リストとフィールドが表示されます。このタブのフィールドを使用すると、アプリケーション機能用に配信されるコンテンツのタイプと、そのコンテンツ・タイプで使用するナビゲーションとSpringboardアイコンのイメージを制御できる制約を設定できます。

始める前に

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

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

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

アプリケーション・コンテンツをリモートURLまたはローカルHTMLとして定義するには:

1. `maf-feature.xml`ファイルの「機能」表にリストされているアプリケーション機能を選択します。

2. 「コンテンツ」をクリックします。

3. 「追加」をクリックして、「コンテンツ」表に新しい行を作成します。

4. 次のいずれかのコンテンツ・タイプで、生成されたIDに対応するものを選択します。

   - リモートURL

   - ローカルHTML

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

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

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

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

     注意: この接続は、アプリケーション・リソースとしてのみ作成できます。

     図5-3 URL接続の作成

   - ローカルHTMLコンテンツの場合は、ローカル・バンドルの場所を入力します。または、「URL」フィールドで「追加」をクリックし、図5-4に示すダイアログに入力して、JDeveloperのHTMLエディタを使用してページを構築することで、HTMLページを作成します。これはアプリケーション機能なので、このページはビュー・コントローラ・プロジェクトのWeb Contentフォルダに格納されます。

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

6. 必要に応じて、次の手順を実行します。

   - このコンテンツをユーザーが使用できるようになるための条件を示す制約を入力します。詳細は、第22章「アプリケーション機能に関する制約の設定」を参照してください。

   - ナビゲーション・バーとSpringboardのイメージを選択します。

## 5.3 アプリケーション機能のコンテンツをMAF AMXページまたはタスク・フローとして定義する方法

概要エディタの「コンテンツ」タブ(図5-1を参照)には、例5-1に示したターゲット・コンテンツ関連の要素と属性を定義するためのドロップダウン・リストとフィールドが表示されます。このタブのフィールドを使用すると、アプリケーション機能用に配信されるコンテンツのタイプと、そのコンテンツ・タイプで使用するナビゲーションとSpringboardアイコンのイメージを制御できる制約を設定できます。

始める前に

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

- MAF AMX: アプリケーション機能に対するデフォルトのコンテンツ・タイプ。MAF AMXページの詳細は、第12章「MAF AMXページの作成」を参照してください。

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

  MAF AMXページとこれらを格納するMAFアプリケーションは、両方とも「新規ギャラリ」のウィザードを使用して作成できます。これらのウィザードにアクセスするには、まず「アプリケーション」ウィンドウでビュー・コントローラ・プロジェクトを強調表示してから、次に「新規」を選択します。

  注意: `maf-feature.xml`ファイル内にある、タスク・フロー、MAF AMXページ、CSSおよびJavaScriptファイルへの参照を手動で編集する場合、デバイスで使用されているファイル・システムによって大文字と小文字が区別され、特殊文字が許可されない可能性があることに注意してください。これらのファイルを確実に参照できるようにするには、モバイル・デバイスの仕様を確認してください。

- MAFタスク・フロー: アプリケーション機能の制御フローの定義にモジュール型アプローチを提供します。タスク・フローを使用して、1つのタスクを構成する一連のアクティビティを定義します。タスク・フローに含めることのできるアクティビティには、ビュー(MAF AMXページの表示に使用)、メソッド・コール(マネージドBeanのメソッドの起動に使用)、タスク・フロー・コール(別のタスク・フローのコールに使用)などがあります。タスク・フローの詳細は、第12.2項「タスク・フローの作成」を参照してください。

MAF AMXページまたはタスク・フローをアプリケーション機能のコンテンツとして使用する手順:

1. アプリケーション機能を選択します。

2. 「コンテンツ」をクリックします。

3. 必要に応じて、「追加」をクリックして「コンテンツ」表に行を作成し、「タイプ」列のドロップダウン・リストから「MAF AMXページ」または「MAFタスク・フロー」を選択します(次の図を参照)。

   図5-5 「MAF AMXページ」または「MAFタスク・フロー」をコンテンツ・タイプとして選択

4. 「ファイル」フィールドで、該当するオプションを選択します。

   - MAF AMXページまたはタスク・フローを作成済の場合は、「参照」アイコンをクリックしてページまたはタスクの場所を選択します。

   - 新しいMAF AMXページを作成するには、「追加」アイコンをクリックして、新しいMAF AMXページまたはタスク・フローの作成が可能なダイアログを起動します。

5. 必要に応じて、次の手順を実行します。

   - 「包含」表で「追加」をクリックしてJavaScriptファイルを入力し、「JavaScript」を選択し、ファイルの場所を参照します。詳細は、第7.7項「デフォルト・スキン・スタイルのオーバーライド」を参照してください。

   - 最初に`「追加」`をクリックして、次に「スタイルシート」を選択することで、maf-config.xmlで指定されているデフォルトのスタイルシートをオーバーライドします。ファイルの場所を参照します。詳細は、第7章「MAFアプリケーションのスキニング」を参照してください。

   - 制約を入力します(第22章「アプリケーション機能に関する制約の設定」を参照)。

   - ナビゲーション・バーとSpringboardのイメージを選択します。

   注意: イメージ、スタイルシートおよびJavaScriptファイルは、デプロイ可能にするために、`public_html`フォルダ内に配置する必要があります。第5.4項「外部リソースの選択に関する必知事項」を参照してください。

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

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

- `<adfmf:feature>`の`icon`および`image`属性(例: `<adfmf:feature id="PROD" name="Products" icon="feature_icon.png" image="springboard.png">`)。第3.3項「アプリケーション機能の表示プロパティの設定」も参照してください。

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

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

- <`adfmf: localHTML`>の`url`属性(例: `<adfmf:localHTML url="oracle.hello/index.html"/>`)。第5.1項「アプリケーション機能のコンテンツ・タイプの概要」および第29.5.4.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"/>`)。第7章「MAFアプリケーションのスキニング」も参照してください。

MAFは、別の場所から参照されるリソースをサポートしていません。つまり、たとえば、`../`を接頭辞として使用して、`public_html`ディレクトリ外部に値を入力することはできません。`public_html`外部のリソースを参照しないようにする安全策として、MAFには、「ファイルがpublic_htmlディレクトリにありません」と呼ばれる監査ルールが含まれています。MAFの監査プロファイル(図5-6を参照)には、「ツール」→「プリファレンス」→「監査」→「プロファイル」と選択することで、「プリファレンス」の「監査」の下の「プロファイル」ノードからアクセスできます。

図5-6 MAFの監査プロファイル

このプロファイルを選択した場合、リソースの場所を変更すると、JDeveloperによって警告が発行されます。図5-7に示すように、デフォルト値がオーバーライドされると、JDeveloperはこうした警告を表示します。監査の詳細は、『Oracle Fusion Middleware Oracle Jdeveloperユーザーズ・ガイド』の「Javaプロジェクトの監査とモニタリング」の章を参照してください。

図5-7 外部リソースの警告