ヘッダーをスキップ

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

前 |

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

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

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

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

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

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

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

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

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

アプリケーション名 | 説明 | サンプル・アプリケーションの実行に必要な追加のリソース
--- | --- | ---
APIDemo | このアプリケーションは、MAF AMXページ内からカスタムJavaScriptメソッドを呼び出す方法を示します。DeviceFeaturesデータ・コントロールに含まれていないApache Cordova APIを呼び出すには、このアプローチを使用します。また、このアプローチを使用してカスタムのJavaScriptメソッドをアプリケーションに追加し、それらを呼び出すこともできます。このアプリケーションは、JavaScriptメソッドからのJavaへのコールバックも示します。詳細は、第4.10.1項「アプリケーション機能の基本情報の定義方法」および第B.2項「MAFコンテナ・ユーティリティAPI」を参照してください。 |
BarcodeDemo | このアプリケーションは、バッキングBeanから起動する埋込みJavaScriptからBarcodeScannerプラグインをコールすることで、Cordovaプラグインの活用方法を示しています。AndroidおよびiOSバージョンのプラグインは手動でアセンブリ・プロジェクトおよびビュー・プロジェクトに追加され、`maf-application.xml`内で登録されます。第4.15項「モバイル・アプリケーションへのCordovaプラグインの統合」を参照してください。 |
CompGallery | このアプリケーションは、これらのコンポーネントのすべてを示すことによって、MAF AMX UIコンポーネントを紹介する役割を果たします。このアプリケーションを使用して、これらのコンポーネントの属性を変更し、その変更の効果をリアルタイムで確認できます。変更を行うたびにアプリケーションを再コンパイルして再デプロイする必要はありません。一般的な情報については、第6章「MAF AMXユーザー・インタフェースの作成」を参照してください。 |
DeviceDemo | このアプリケーションは、DeviceFeaturesデータ・コントロールを使用して、地理的位置、電子メール、SMS、コンタクト先などのデバイス機能を公開する方法、およびデバイスにそのプロパティを問い合せる方法を示します。この機能は、DeviceFeaturesデータ・コントロールから`displayFile`メソッドを使用して、.doc、.ppt、.xlsおよび.pngなどの様々なタイプのファイルを表示する方法を示します。詳細は、第7.10項「DeviceFeaturesデータ・コントロールの使用方法」および第7.10.9項「ファイルの表示を有効にするためのdisplayFileメソッドの使用方法」を参照してください。 | SMSおよび一部のデバイス・プロパティはiOSシミュレータまたはAndroidエミュレータ上で機能しないため、このアプリケーションを実際のデバイス上で実行することも必要です。
ExpandCollapseComponent | このアプリケーションは、任意のタイプのAMXコンポーネント用のコンテナとして機能でき、展開、縮小機能を提供するカスタムコンポーネントの作成方法を示します。 詳細は、`「js」`フォルダの下の`cardview.js`ファイルを確認してください。このJavaScriptファイルには、コンポーネントのUIをレンダリングするメソッド(`'expandcollapse.prototype.render')`が含まれます。さらに、カスタム・コンポーネントの子コンポーネントをレンダリングする方法を示すメソッドも含まれます。 |
FragmentDemo | このアプリケーションは、フラグメントを使用してテンプレートとして使用できる再利用可能なアーティファクトを定義する方法を示します。これは、各機能(1つはタブレット用、1つは電話用)に対して複数のコンテンツ・タイプを所有し、毎回リストまたはフォームをコーディングしなくても済むようにフラグメントを使用する方法を示します。 |
GestureDemo | このアプリケーションは、MAFアプリケーションにおいてジェスチャーをどのように実装および使用できるかを示します。第6.4項「ジェスチャーの有効化」も参照してください。 |
HelloWorld | フレームワークの基本的な構造を示す、MAFのhello worldアプリケーション。この基本アプリケーションには、ローカルのHTMLファイルによって実装される単一のアプリケーション機能があります。このアプリケーションを使用して、開発環境が、アプリケーションのコンパイルとデプロイのために正しく設定されていることを確認します。第3.2.2項「MAFアプリケーション作成時の処理」も参照してください。 |
LifecycleEvents | このアプリケーションは、アプリケーション自体およびその埋込みアプリケーション機能にライフサイクル・イベント・ハンドラを実装します。このアプリケーションは、アプリケーションがライフサイクルの特定の時点で自身のロジックを実行できるようにするためのコードを挿入する場所を示します。第4.8項「ライフサイクル・イベント・リスナーについて」も参照してください。 | iOSの場合、LifecycleEventsサンプル・アプリケーションは、/Applications/Utilities/Console.appにあるコンソール・アプリケーションにデータを記録します。
Navigation | このアプリケーションは、バインドされたタスク・フローやルーターを含む、MAFの様々なナビゲーション技術を示します。様々なページ遷移についても示します。第5.2項「タスク・フローの作成」も参照してください。 | .
PrefDemo | このアプリケーションは、アプリケーション全体のユーザー設定ページおよびアプリケーション機能固有のユーザー設定ページを示します。一般的な情報については、第13章「ユーザー・プリファレンスの有効化」を参照してください。 |
RangeChangeDemo | このサンプルは、リスト・ビュー・コンポーネント内の「さらに行をロード」リンクがアクティブ化されるか、リスト・ビューが最後までスクロールされたときに、Javaハンドラ・メソッドを呼び出すことによって`rangeChangeListener`を呼び出す方法を示します。また、リスト・ビューによって新しいデータが取得されるたびに`rangeChangeListener`が呼び出されることを示します。これは、`RangeChangeEvent`を使用してクライアントにさらにデータをダウンロードできるかどうかを定義する方法を示します。 |
SecurityDemo | セキュリティを示します。 |
SkinningDemo | このアプリケーションでは、提供されているスタイル・シートをオーバーライドするか、独自のスタイル・シートを使用して拡張することで、アプリケーションにスキンを適用し、固有のルック・アンド・フィールを追加する方法を示します。また、このアプリケーションは、スキンがデバイスのタイプに基づいてMAF AMX UIコンポーネントのスタイルを制御する方法も示します。また、実行時にスキン・ファミリ(初期状態またはカスタム)を変更する機能も示します。第4.13項「モバイル・アプリケーションのスキニング」も参照してください。 |
StockTracker | このサンプルは、SQLite DBおよびディーン・データ・コントロールを使用してCRUD操作を構築する方法の単純な例を示します。これはストックのリストを表示し、ストックを作成、更新、削除または並替えできるようにします。これは、ローカルのSQLiteデータベースを使用して、そのデータを格納します。StockTrackerアプリケーションはCRUD操作中にデータを維持します。このサンプルは、データ変更イベントがJavaを使用して、データ変更をユーザー・インタフェースに反映できるようにする方法も示します。また、様々なレイアウト・ユースケース、ジェスチャーおよび基本的なモバイル・アプリケーション・レイアウト・パターンもあります。またこのサンプルは、CREATEおよびDELETE操作を使用してコレクションに対するアイテムの追加または削除を行う方法も示します。詳細は、Portfolioパッケージにある`Portfolio.java`クラスの`addStock`メソッドおよび`deleteStock`メソッドを確認してください。第7.12項「データ変更イベントについて」も参照してください。 |
UIDemo | このアプリケーションは、ユーザー・インタフェース・レイアウトと、モバイル・アプリケーションで一般的に使用される様々なリストおよびボタン・スタイルの作成方法を示します。また、ポップアップ・コンポーネントのアクション・シート・スタイルの作成方法、および様々なチャートおよびゲージ・コンポーネントの使用方法も示します。第6.3項「UIコンポーネントの作成と使用方法」および第6.5項「データ視覚化の指定」を参照してください。 |
URLSchemeDemo | このアプリケーションは、URLスキーム機能を示します。 |
Weather1 | Javaコードを使用しないこのアプリケーションは、宣言Webサービスを使用して示します。このアプリケーションで使用するWebサービスはSOAP Webサービスで、具体的には郵便番号で天気予報を提供するCDYNE社(`http://www.cdyne.com/`)により提供される公開Webサービスです。このアプリケーションを実行する前に、このサービスが利用可能であるかを確認してください。一般的な情報については、第8章のWebサービスの使用方法に関する説明を参照してください。 |
Weather2 | このアプリケーションは、Webサービスのプログラム的な呼出しを使用し、実際のJavaオブジェクトに返された`GenericType`オブジェクトを解析して示します。次に、ユーザー・インタフェースが、Webサービスに直接ではなく、Java Beansにバインドされます。詳細は、第8.6項のJavaからのWebサービスの呼出しに関する説明を参照してください。 |
Weather3 | このアプリケーションは、Weather2サンプル・アプリケーションと同じですが、Webサービスの呼出しに、ブロックしていないバックグラウンド・スレッドを使用し、サービスが返される際にユーザー・インタフェースが更新される方法を示します。このアプリケーションは、スレッドからデータ変更イベントをフラッシュしてユーザー・インタフェースを更新する方法を示します。 |
WorkBetter | この人事管理アプリケーションには、「人々」および「組織」の2つの機能が含まれます。「人々」: この機能には、人を検索できる検索コンポーネントが含まれます。これは、カスタム・コンポーネントを作成する機能、および再利用可能なレイアウトをフラグメントとして構築し、それらを異なる機能間で使用する方法も示します。これは、様々なDVT視覚化コンポーネントを使用してパフォーマンス、補償、時系列関連の情報を表示する方法を示します。「組織」: 「人々」の機能と同様に、この機能は再利用可能なレイアウトをフラグメントとして構築し、それらを異なる機能間で使用する方法を示します。また、異なるフォーム・ファクタのビューを作成し、それらを構成する方法も示します。 このアプリケーションは、様々なUI技術および使用可能なコンポーネントのエンドツーエンドのデモです。多様なレイアウト・パターンを表示し、共通およびより複雑なコンポーネントに対する様々な使用方法を示します。これは、競合アプリケーションを例示するのではなく、ユーザー・インタフェースに焦点を置いています。データモデルまたはWebサービスなどについては他のサンプルを参照してください。 |