プライマリ・コンテンツに移動

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

前 |

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

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

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

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

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

モバイル・アプリケーション・フレームワークには、基本アーティファクトの作成、SMSおよび電子メールなどのデバイス・ネイティブな機能などへのアクセス、またはローカルのSQLiteデータベースでのCRUD(作成、読取り、更新および削除)操作の実行などの、様々な開発シナリオを提供するサンプル・アプリケーションのセットが付属されています。これらのサンプル・アプリケーションは、「ファイル」→「新」→「MAFサンプル」にあります。

これらのアプリケーションについては、すべて表G-1で説明されています。別に記載されている場合を除き、これらのアプリケーションは、開発環境の構成後にシミュレータにデプロイできます(Oracle Enterprise Pack Oracle Enterprise Pack for Eclipseのインストールを参照)。

ヒント: モバイル・アプリケーションの作成方法について理解するには、これらのアプリケーションを表G-1に記載されている順番で確認してください。

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

アプリケーション名 | 説明 | サンプル・アプリケーションの実行に必要な追加のリソース
--- | --- | ---
HelloWorld | フレームワークの基本的な構造を示す、MAFのhello worldアプリケーション。この基本アプリケーションには、ローカルのHTMLファイルによって実装される単一のアプリケーション機能があります。このアプリケーションを使用して、開発環境が、アプリケーションのコンパイルとデプロイのために正しく設定されていることを確認します。第2.2.2項「MAFアプリケーション作成時の処理」も参照してください。 |
APIDemo | このアプリケーションは、MAF AMXページ内からカスタムJavaScriptメソッドを呼び出す方法を示します。DeviceFeaturesデータ・コントロールに含まれていないApache Cordova APIを呼び出すには、このアプローチを使用します。また、このアプローチを使用してカスタムのJavaScriptメソッドをアプリケーションに追加し、それらを呼び出すこともできます。このアプリケーションは、JavaScriptメソッドからのJavaへのコールバックも示します。詳細は、第B.2項「MAFコンテナ・ユーティリティAPI」を参照してください。 |
BarcodeDemo | このアプリケーションは、バッキングBeanから起動する埋込みJavaScriptからBarcodeScannerプラグインをコールすることで、Cordovaプラグインの活用方法を示しています。詳細は、第10章「MAFアプリケーションでのプラグインの使用方法」を参照してください。 |
BeaconDemo | このアプリケーションは、Cordovaプラグインを使用してiBeaconを検出する方法を示しています。 |
CompGallery | このアプリケーションは、これらのコンポーネントのすべてを示すことによって、MAF AMX UIコンポーネントを紹介する役割を果たします。このアプリケーションを使用して、これらのコンポーネントの属性を変更し、その変更の効果をリアルタイムで確認できます。変更を行うたびにアプリケーションを再コンパイルして再デプロイする必要はありません。一般的な情報については、第13章「MAF AMXユーザー・インタフェースの作成」を参照してください。 |
ConfigServiceDemo | このアプリケーションは、Configuration Serviceを使用して、MAFアプリケーションで使用されているエンド・ポイントを変更する方法を示しています。`connections.xml`内のエンド・ポイントの変更は、デバイス上のアプリケーションに伝播され、アプリケーションは再初期化されて新しいエンド・ポイントを消費します。詳細は、第18.1項「エンド・ポイントの構成の概要」を参照してください。 |
DeviceDemo | このアプリケーションは、DeviceFeaturesデータ・コントロールを使用して、地理的位置、電子メール、SMS、コンタクト先などのデバイス機能を公開する方法、およびデバイスにそのプロパティを問い合せる方法を示します。この機能は、DeviceFeaturesデータ・コントロールから`displayFile`メソッドを使用して、.doc、.ppt、.xlsおよび.pngなどの様々なタイプのファイルを表示する方法を示します。詳細は、第14.10項「DeviceFeaturesデータ・コントロールの使用方法」および第14.10.9項「ファイルの表示を有効にするためのdisplayFileメソッドの使用方法」を参照してください。 | SMSおよび一部のデバイス・プロパティはiOSシミュレータまたはAndroidエミュレータ上で機能しないため、このアプリケーションを実際のデバイス上で実行することも必要です。
ExpandCollapseComponent | このアプリケーションは、任意のタイプのAMXコンポーネント用のコンテナとして機能でき、展開、縮小機能を提供するカスタムコンポーネントの作成方法を示します。 詳細は、`「js」`フォルダの下の`cardview.js`ファイルを確認してください。このJavaScriptファイルには、コンポーネントのUIをレンダリングするメソッド(`'expandcollapse.prototype.render')`が含まれます。さらに、カスタム・コンポーネントの子コンポーネントをレンダリングする方法を示すメソッドも含まれます。詳細は、第19.1項「カスタムUIコンポーネントの作成の概要」を参照してください。 |
FakeBeacon | このアプリケーションは、Cordovaプラグインを使用してiBeaconを装う方法を示しています。このアプリケーションは、テスト用の実際のiBeaconがない場合に、BeaconDemoアプリケーションと組み合せて使用できます |
FragmentDemo | このアプリケーションは、フラグメントを使用してテンプレートとして使用できる再利用可能なアーティファクトを定義する方法を示します。これは、各機能(1つはタブレット用、1つは電話用)に対して複数のコンテンツ・タイプを所有し、毎回リストまたはフォームをコーディングしなくても済むようにフラグメントを使用する方法を示します。 |
GestureDemo | このアプリケーションは、MAFアプリケーションにおいてジェスチャーをどのように実装および使用できるかを示します。第13.4項「ジェスチャーの有効化」も参照してください。 |
Java8Example | このアプリケーションは、AMXアプリケーションでのJava 8言語機能の使用方法を示します。 |
LifecycleEvents | このアプリケーションは、アプリケーション自体およびその埋込みアプリケーション機能にライフサイクル・イベント・ハンドラを実装します。このアプリケーションは、アプリケーションがライフサイクルの特定の時点で自身のロジックを実行できるようにするためのコードを挿入する場所を示します。第11.1項「MAFアプリケーションでのライフサイクル・イベント・リスナーの使用について」も参照してください。 | iOSの場合、LifecycleEventsサンプル・アプリケーションは、/Applications/Utilities/Console.appにあるコンソール・アプリケーションにデータを記録します。
LocalNotificationDemo | このアプリケーションは、MAFアプリケーション内でローカル通知のスケジュールおよび受信を行う方法を示します。第25章「通知の有効化と使用方法」も参照してください。 |
MAFMCSUtility | この例は、MAFMCSUtilityViewプロジェクトのMAF MCSユーティリティのソース・コードを示しています。 |
MAFMCSUtilitySample | このアプリケーションは、MAF MCSユーティリティを使用して、Oracle Mobile Cloud Service (MCS)にアクセスする方法を示しています。これはAndroidおよびiOSタブレットでの使用に最適化されています。このアプリケーションに付属しているMAF MCSユーティリティjarは、分析、診断、記憶域収集などのMCSコア・サービスをMAF開発者が簡単に使用できるようにするAPIのセットを提供します。ユーティリティ・クラスのソースが参照用として含まれています。 | このサンプル・アプリケーションを実行するには、Oracle Mobile Cloud Serviceに接続できるようにOracle MCSサブスクリプションが必要です。Oracle MCSインスタンス内では、少なくとも1人のモバイル・ユーザー、テスト用のモバイル・バックエンド(MBE)、および1つ以上のサンプル記憶域収集を作成し、それらをMBEに割り当てる必要があります。
Navigation | このアプリケーションは、バインドされたタスク・フローやルーターを含む、MAFの様々なナビゲーション技術を示します。第30章「MAFアプリケーションの保護」でも様々なページ遷移を示しています。第12.2項「タスク・フローの作成」も参照してください。 |
PrefDemo | このアプリケーションは、アプリケーション全体のユーザー設定ページおよびアプリケーション機能固有のユーザー設定ページを示します。一般的な情報については、第22章「ユーザー・プリファレンスの有効化」を参照してください。 |
PushDemo | このアプリケーションは、Apple Push NotificationサーバーとGoogle Could Messagingサーバーを対象としたプッシュ通知の登録方法と受信方法を示します。詳細は、第25.2項「プッシュ通知の有効化」を参照してください。 |
RangeChangeDemo | このサンプルは、リスト・ビュー・コンポーネント内の「さらに行をロード」リンクがアクティブ化されるか、リスト・ビューが最後までスクロールされたときに、Javaハンドラ・メソッドを呼び出すことによって`rangeChangeListener`を呼び出す方法を示します。また、リスト・ビューによって新しいデータが取得されるたびに`rangeChangeListener`が呼び出されることを示します。これは、`RangeChangeEvent`を使用してクライアントにさらにデータをダウンロードできるかどうかを定義する方法を示します。 |
RESTDemo | このアプリケーションは、RestServiceAdapterを使用してRESTサービスのJSON形式に接続する方法を示します。詳細は、第16章「RESTサービスの使用」を参照してください。 |
RESTEasy | この例は、OEPEのRESTサービス・エディタ機能で使用され、RESTサービスを起動するMAFアプリケーションを宣言的に構築します。詳細は、第16章「RESTサービスの使用」を参照してください。 | この例を実行するために、テスト用のモックRESTサーバーが提供されます。サーバーのインポートおよび実行方法の詳細は、`OEPE_install``/plugins/oracle.eclipse.tools.maf.examples.v213/examples/MockHRReSTServer.zip.README.txt`を参照してください。 このように、この例はAndroidエミュレータで実行するように構成されていますが、iOSシミュレータで実行するように簡単に再構成できます。(この違いは、ツールの種類により、ホストマシンのポートがどのように参照されるかによって発生します。実際、あるデバイスは関連するホスト・プロセスではなく、特定のサーバーにアクセスするように常に構成されます。) AndroidとiOSを切り替えるには、次のいずれかの方法を使用します。「接続」ビュー(デフォルトのMAFパースペクティブの左下)で、`RESTEasy/HRRestService`をダブルクリックし、接続の管理ダイアログのURL (ホストはiOSの場合`127.0.0.1`、Androidの場合`10.0.2.2`)を編集します。または、サンプルのRESTEasyプロジェクトで、`adf/META-INF/connections.xml`を編集し、該当する`urlconnection`要素をコメント化/コメント解除します(要素をコメント解除する場合は、1回に1つのみにしてください。両方のコメントを解除すると、予想どおりに機能しなくなる可能性があります。)
SecurityDemo | このアプリケーションは、MAFアプリケーションを保護する方法、認証およびログイン・サーバーを構成する方法、アクセス制御サービスを使用する方法、セキュアなWebサービスにアクセスする方法を示しています。詳細は、第30章「MAFアプリケーションの保護」を参照してください。 | このサンプル・アプリケーションは、Oracle Weblogic Serverにデプロイされた`ACS.ear`アプリケーションに接続します。 `ACS.ear`をデプロイするには、`OEPE-install``\plugins\oracle.eclipse.tools.maf.examples.v21_2.1.0.2015` `nnnnnn``\examples\ACS.ear.README.txt`の指示に従ってください。
SkinningDemo | このアプリケーションでは、提供されているスタイル・シートをオーバーライドするか、独自のスタイル・シートを使用して拡張することで、アプリケーションにスキンを適用し、固有のルック・アンド・フィールを追加する方法を示します。また、このアプリケーションは、スキンがデバイスのタイプに基づいてMAF AMX UIコンポーネントのスタイルを制御する方法も示します。また、実行時にスキン・ファミリ(初期状態またはカスタム)を変更する機能も示します。第8章「MAFアプリケーションのスキニング」も参照してください。 |
SlidingWindows | このアプリケーションは、`AdfmfSlidingWindowUtilities` APIの使用方法を示しています。このAPIを使用すると、画面に複数の機能を同時に表示できます。この例は、`AdfmfSlidingWindowUtilities` APIを使用してカスタムSpringboardまたはグローバル・ナビゲーション・バーを作成する方法を示しています。 |
StockTracker | このサンプルは、データ変更イベントがどのようにJavaを使用して、データ変更をユーザー・インタフェースに反映できるかを示します。また、様々なレイアウト・ユースケース、ジェスチャーおよび基本的なモバイル・パターンがあります。このサンプルは、`amx:validationGroup`コンポーネントでクライアント側の検証を使用する方法も示します。詳細は、ポートフォリオ機能内でeditStock.amxを参照してください。第14.12項「データ変更イベントについて」も参照してください。 |
UIDemo | このアプリケーションは、ユーザー・インタフェース・レイアウトと、モバイル・アプリケーションで一般的に使用される様々なリストおよびボタン・スタイルの作成方法を示します。また、ポップアップ・コンポーネントのアクション・シート・スタイルの作成方法、および様々なチャートおよびゲージ・コンポーネントの使用方法も示します。第13.3項「UIコンポーネントの作成と使用方法」および第13.5項「データ視覚化の指定」を参照してください。 |
URLSchemeDemo | このアプリケーションは、ブラウザのURLリンクまたは電子メールからを起動できるように、アプリケーションのカスタムURLスキームを定義する方法を示します。第21.4項「カスタムURLスキームを使用したMAFアプリケーションの起動」も参照してください。 |
WorkBetter | この人事管理アプリケーションには、「人々」および「組織」の2つの機能が含まれます。「人々」: この機能には、人を検索できる検索コンポーネントが含まれます。これは、カスタム・コンポーネントを作成する機能、および再利用可能なレイアウトをフラグメントとして構築し、それらを異なる機能間で使用する方法も示します。これは、様々なDVT視覚化コンポーネントを使用してパフォーマンス、補償、時系列関連の情報を表示する方法を示します。「組織」: 「人々」の機能と同様に、この機能は再利用可能なレイアウトをフラグメントとして構築し、それらを異なる機能間で使用する方法を示します。また、異なるフォーム・ファクタのビューを作成し、それらを構成する方法も示します。 このアプリケーションは、様々なUI技術および使用可能なコンポーネントのエンドツーエンドのデモです。多様なレイアウト・パターンを表示し、共通およびより複雑なコンポーネントに対する様々な使用方法を示します。これは、競合アプリケーションを例示するのではなく、ユーザー・インタフェースに焦点を置いています。データモデルまたはWebサービスなどについては他のサンプルを参照してください。 |