ヘッダーをスキップ

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

前 |

# G サンプルのMAFアプリケーション

この付録では、サンプルのMAFアプリケーションについて説明します。

この付録には次の項が含まれます:

- 第G.1項「サンプルのMAFアプリケーションの概要」

## G.1 サンプルのMAFアプリケーションの概要

MAFは、基本的なアーティファクトの作成、デバイス・ネイティブな機能(SMSや電子メールなど)へのアクセス、ローカルのSQLiteデータベース上でのCRUD (作成/読取/更新/削除)操作の実行など、様々な開発シナリオを提供するサンプル・アプリケーションのセットとともに出荷されています。これらのアプリケーションは、開発コンピュータのJDeveloperインストール・ディレクトリ内の次の場所に存在する`PublicSamples.zip`ファイルにあります。

    jdev_install/jdeveloper/jdev/extensions/oracle.maf/Samples

これらのアプリケーションを表示するには、`PublicSamples.zip`ファイルをJDeveloper作業ディレクトリ(これは通常、`User Home Directory`/`jdeveloper/mywork`です)に抽出します。

これらのアプリケーションについては、すべて表G-1で説明されています。特に断りがないかぎり、これらのアプリケーションは、開発環境を構成した後でシミュレータにデプロイできます(『Oracle Mobile Application Frameworkのインストール』を参照)。

表G-1 サンプルのMAFアプリケーション

アプリケーション名 | 説明 | サンプル・アプリケーションの実行に必要な追加のリソース
--- | --- | ---
HelloWorld | フレームワークの基本的な構造を示す、MAFのhello worldアプリケーション。この基本アプリケーションには、ローカルのHTMLファイルによって実装される単一のアプリケーション機能があります。このアプリケーションを使用して、開発環境が、アプリケーションのコンパイルとデプロイのために正しく設定されていることを確認します。第2.2.2項「MAFアプリケーションの作成時に行われる処理」も参照してください。 |
ACS | このアプリケーションは、SecurityDemoアプリケーション内で使用されてログイン・サーバーとアクセス制御サービスを構成するRESTサービスを提供します。 | このWebアプリケーションは、Weblogic Serverにデプロイする必要があります。
APIDemo | このアプリケーションは、MAF AMXページ内からカスタムJavaScriptメソッドを起動する方法を示します。この方法を使用して、DeviceFeaturesデータ・コントロールには含まれていないApache Cordova APIを起動します。また、この方法を使用してカスタムJavaScriptメソッドをアプリケーションに追加し、これらのメソッドを起動することもできます。このアプリケーションは、JavaScriptメソッドからJavaへのコールバック方法も示します。詳細は、第3.3項「アプリケーション機能の表示プロパティの設定」および第B.2項「MAFコンテナ・ユーティリティAPI」を参照してください。 |
BarcodeDemo | このアプリケーションは、バッキングBeanから起動される埋込みJavaScriptからBarcodeScannerプラグインをコールすることによって、Cordovaプラグインを活用する方法を示しています。AndroidバージョンおよびiOSバージョンのプラグインは、手動でアプリケーション・コントローラ・プロジェクトおよびビュー・コントローラ・プロジェクトに追加され、`maf-application.xml`ファイル内で登録されます。詳細は、第9章「MAFアプリケーションでのプラグインの使用方法」を参照してください。 |
CompGallery | このアプリケーションは、これらのコンポーネントのすべてを示すことによって、MAF AMX UIコンポーネントを紹介する役割を果たします。このアプリケーションを使用して、これらのコンポーネントの属性を変更し、その変更の効果をリアルタイムで確認できます。変更を行うたびにアプリケーションを再コンパイルして再デプロイする必要はありません。一般的な情報については、第13章「MAF AMXユーザー・インタフェースの作成」を参照してください。 |
ConfigServiceDemo | このアプリケーションは、Configuration Serviceを使用して、MAFアプリケーションで使用されているエンド・ポイントを変更する方法を示しています。`connections.xml`内のエンド・ポイントの変更は、デバイス上のアプリケーションに伝播され、アプリケーションは再初期化されて新しいエンド・ポイントを消費します。詳細は、第16.1項「MAFアプリケーションで使用されるエンド・ポイントの構成の概要」を参照してください。 |
DeviceDemo | このアプリケーションは、DeviceFeaturesデータ・コントロールを使用して、地理的位置、電子メール、SMS、コンタクト先などのデバイス機能を公開する方法、およびデバイスにそのプロパティを問い合せる方法を示します。また、このアプリケーションは、DeviceFeaturesデータ・コントロールから`displayFile`メソッドを使用して、.doc、.ppt、.xls、.pngなどの様々なタイプのファイルを表示する方法も示します。詳細は、第14.11項「DeviceFeaturesデータ・コントロールの使用方法」および第14.11.9項「displayFileメソッドを使用してファイルの表示を可能にする方法」を参照してください。 | SMSおよび一部のデバイス・プロパティはiOSシミュレータまたはAndroidエミュレータ上で機能しないため、このアプリケーションを実際のデバイス上で実行する必要があります。
ExpandCollapseComponent | このアプリケーションは、どのタイプのAMXコンポーネントのコンテナとしても機能するカスタム・コンポーネントの作成方法を示しています。また、展開機能と縮小機能の例も提供します。詳細は、`js`フォルダ内の`cardview.js`ファイルを参照してください。このJavaScriptファイルには、コンポーネントのUIをレンダリングするメソッド(`expandcollapse.prototype.render`)が含まれています。さらに、カスタム・コンポーネントの子コンポーネントをレンダリングする方法を示すメソッドも含まれています。詳細は、第19.1項「カスタムUIコンポーネントの作成の概要」を参照してください。 |
FragmentDemo | このアプリケーションは、フラグメントを使用して、テンプレートとして使用できる再利用可能なアーティファクトを定義する方法を示します。各機能に対して複数のコンテンツ・タイプ(1つはタブレット用、もう1つは電話用)を含める方法、および毎回リスト/フォームをコード化する必要がないようにフラグメントを使用する方法を示します。 |
GestureDemo | このアプリケーションは、MAFアプリケーションにおいてジェスチャーをどのように実装および使用できるかを示します。第13.4項「ジェスチャーの有効化」も参照してください。 |
LifecycleEvents | このアプリケーションは、MAFアプリケーション自体およびその埋込みアプリケーション機能にライフサイクル・イベント・ハンドラを実装します。このアプリケーションは、アプリケーションがライフサイクルの特定の時点で自身のロジックを実行できるようにするためのコードを挿入する場所を示します。第11章「MAFアプリケーションでのライフサイクル・リスナーの使用方法」も参照してください。 | iOSの場合、LifecycleEventsサンプル・アプリケーションは、/Applications/Utilities/Console.appにあるコンソール・アプリケーションにデータを記録します。
Navigation | このアプリケーションは、バインドされたタスク・フローやルーターを含む、MAFの様々なナビゲーション技術を示します。様々なページ遷移についても示します。第12.2項「タスク・フローの作成」も参照してください。 | このアプリケーションは、`Samples`ディレクトリから開く必要があります。「デフォルト」のSpringboardオプションは、`maf-application.xml`の概要エディタの「アプリケーション」ページでいったんクリアし、再度選択する必要があります。
PrefDemo | このアプリケーションは、アプリケーション全体のユーザー設定ページおよびアプリケーション機能固有のユーザー設定ページを示します。一般的な情報については、第21章「ユーザー・プリファレンスの有効化」を参照してください。 |
PushDemo | このアプリケーションは、Apple Push NotificationサーバーとGoogle Could Messagingサーバーを対象としたプッシュ通知の登録方法と受信方法を示します。詳細は、第24.2項「プッシュ通知の有効化」を参照してください。 | このアプリケーションは、プッシュ通知を開始する機能を提供するPushServerサンプル・アプリケーションとともに使用します。
PushServer | このアプリケーションは、PushDemoサンプル・アプリケーションで受信するプッシュ通知を開始する機能を提供します。詳細は、24.2項「プッシュ通知の有効化」を参照してください。 | このWebアプリケーションは、Weblogic Serverにデプロイする必要があります。このアプリケーションは、Apple Push NotificationサーバーとGoogle Could Messagingサーバーを対象としたプッシュ通知の登録方法と受信方法を示すPushDemoサンプル・アプリケーションとともに使用します。
RangeChangeDemo | リスト・ビューが新しいデータを外部ソースからフェッチしてくる必要がある場合に、このアプリケーションは、RangeChangeEventを使用してJavaハンドラ メソッドを起動する方法を示しています。また、その属性を使用してリスト・ビューのスクロールとバッファの動作を構成する方法も示しています。詳細は、第13.3.15.1項「ページングおよび動的スクロールの構成」を参照してください。 |
RESTDemo | このアプリケーションは、REST Webサービスの使用方法を示します。REST-JSONアプリケーション機能は、一般に公開されているWebサービスを使用して任意のIPアドレスの地理座標を取得します。このサービスはJSON形式のデータを戻します。REST-JSON機能では、URL接続はWebサービスを呼び出すために`RESTServiceAdapter`ヘルパー・クラスによって直接使用され、このレスポンスは`JSONSerializationHelper`クラスを使用して解析され、Beanデータ・コントロールに移入されます。ユーザー・インタフェースはこのBeanにバインドされます。アプリケーション機能では、Webサービス・コールの結果としてフォームまたはマップが生成されます。後者は、戻された地理座標が含まれるマーカーとともに中央に配置されます。 |
SecurityDemo | このアプリケーションは、MAFアプリケーションを保護する方法、認証およびログイン・サーバーを構成する方法、アクセス制御サービスを使用する方法、セキュアなWebサービスにアクセスする方法を示しています。詳細は、第29.1項「MAFセキュリティの概要」を参照してください。 | このアプリケーションは、ACSサンプル・アプリケーションで使用され、ログイン・サーバーとアクセス制御サービスの構成に使用されるRESTサービスを提供します。
SkinningDemo | このアプリケーションでは、提供されているスタイル・シートをオーバーライドするか、独自のスタイル・シートを使用して拡張することで、アプリケーションにスキンを適用し、固有のルック・アンド・フィールを追加する方法を示します。また、このアプリケーションは、スキンがどのようにして、デバイスのタイプに基づいてMAF AMX UIコンポーネントのスタイルを制御するかも示します。実行時にスキン・ファミリ(初期状態またはカスタム)を変更する機能も示します。第7章「MAFアプリケーションのスキニング」も参照してください。 |
SlidingWindows | このアプリケーションは、`AdfmfSlidingWindowUtilities` APIの使用方法を示しています。このAPIを使用すると、画面に複数の機能を同時に表示できます。この例は、`AdfmfSlidingWindowUtilities` APIを使用してカスタムSpringboardまたはグローバル・ナビゲーション・バーを作成する方法を示しています。 |
StockTracker | このサンプルは、SQLite DBとdeanデータ・コントロールを使用して、CRUD操作を構築する方法の簡単な例を示します。このサンプルでは在庫のリストが表示され、在庫の作成、更新、削除または並替えを行うことができます。これは、ローカルのSQLiteデータベースを使用して、そのデータを格納します。StockTrackerアプリケーションにより、CRUD操作中にデータが保持されます。このサンプルは、データ変更イベントがどのようにJavaを使用して、データ変更をユーザー・インタフェースに反映できるかも示します。また、様々なレイアウト・ユースケース、ジェスチャーおよび基本的なMAFアプリケーション・レイアウト・パターンもあります。このサンプルは、作成操作および削除操作を使用して、アイテムをコレクションに追加したり、コレクションから削除する方法も示します。詳細は、Portfolioパッケージにある`Portfolio.java`クラスの`addStock`および`deleteStock`メソッドを参照してください。また、第14.13項「データ変更イベントについて」も参照してください。 |
UIDemo | このアプリケーションは、ユーザー・インタフェース・レイアウトと、MAFアプリケーションで一般的に使用される様々なリストおよびボタン・スタイルの作成方法を示します。また、ポップアップ・コンポーネントのアクション・シート・スタイルの作成方法、および様々なチャートおよびゲージ・コンポーネントの使用方法も示します。第13.3項「UIコンポーネントの作成と使用方法」および第13.5項「データ視覚化の指定」を参照してください。 | このアプリケーションは、`Samples`ディレクトリから開く必要があります。「デフォルト」のSpringboardオプションは、`maf-application.xml`の概要エディタの「アプリケーション」ページでいったんクリアし、再度選択する必要があります。
WorkBetter | この人事管理アプリケーションには個人と組織の2つの機能があり、個人機能には、個人の検索ができる検索コンポーネントが含まれます。また、カスタム・コンポーネントの作成機能、再利用可能なレイアウトをフラグメントとして構築する方法、および異なる機能間でこのフラグメントを使用する方法も示します。業績、報酬および時系列関連の情報を表示する各種のDVT視覚化コンポーネントの使用方法を示しています。Organizations: People機能と同様に、フラグメントとして再利用可能なレイアウトを構築する方法およびそれを様々な機能間で使用する方法を示しています。また、異なるフォーム・ファクタのビューを作成し、これらのビューを構成する方法も示します。 このアプリケーションは、様々なUI技術および使用可能なコンポーネントのエンドツーエンドのデモとして設計されています。様々なレイアウト・パターンを示し、一般的なコンポーネントとより複雑なコンポーネントの様々な使用方法について説明します。このアプリケーションは、アプリケーション全体のショーケースではなく、ユーザー・インタフェースに重点を置いています。データ・モデル、Webサービスなどについては、他のサンプルを参照してください。 |