ヘッダーをスキップ

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

前 |

# F サンプルのモバイル・アプリケーション・フレームワーク・アプリケーション

この付録では、サンプルのモバイル・アプリケーション・フレームワーク・アプリケーションについて説明します。

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

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

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

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

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

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

注意: サンプルのアプリケーションは、`Samples`ディレクトリに抽出する必要があり、このディレクトリから開く必要があります。これらのアプリケーションを正しく動作させるには、第4.5.1項「アプリケーションのナビゲーションの構成方法」の説明に従って`maf-application.xml`ファイルを更新することにより、Springboardをクラスパスに追加しておく必要があります。 Springboardをクラスパスに追加する手順は次のとおりです。 `Samples`ディレクトリからアプリケーションを開きます。 `maf-application.xml`ファイルの概要エディタの「アプリケーション」ページで、Springboardオプションを「デフォルト」から「なし」に変更します。 Springboardオプションとして「デフォルト」を選択します。 「すべて保存」をクリックします。 アプリケーションをデプロイします。

これらのアプリケーションについては、すべて表F-1で説明されています。他に説明されていないかぎり、これらのアプリケーションは、第2章「開発環境の設定」の説明に従って開発環境を構成した後、シミュレータにデプロイできます。

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

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