ヘッダーをスキップ
Oracle® Fusion Middleware Oracle Mobile Application Frameworkでのモバイル・アプリケーションの開発
2.0
E56274-01
  目次へ移動
目次

前
 
 

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

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

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

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です)に抽出します。


注意:

デフォルトのSpringboardを含むサンプル・アプリケーションをSamplesディレクトリに抽出して開く必要があります。これらのアプリケーションを正しく動作させるには、第4.5.1項「アプリケーションのナビゲーションの構成方法」の説明に従ってmaf-application.xmlファイルを更新することにより、Springboardをクラスパスに追加しておく必要があります。

Springboardをクラスパスに追加する手順は次のとおりです。

  1. Samplesディレクトリからアプリケーションを開きます。

  2. maf-application.xmlファイルの概要エディタの「アプリケーション」ページで、Springboardオプションを「デフォルト」から「なし」に変更します。

  3. Springboardオプションとして「デフォルト」を選択します。

  4. 「すべて保存」をクリックします。

  5. アプリケーションをデプロイします。


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


ヒント:

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


表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視覚化コンポーネントを使用して、業績、給与、スケジュール関連情報を表示する方法を示します。組織機能では、個人機能と同様、再利用可能なレイアウトをフラグメントとして構築する方法、および異なる機能間でこのフラグメントを使用する方法を示します。また、異なるフォーム・ファクタのビューを作成し、これらのビューを構成する方法も示します。

このアプリケーションは、様々なUI技術および使用可能なコンポーネントのエンドツーエンドのデモとして設計されています。様々なレイアウト・パターンを示し、一般的なコンポーネントとより複雑なコンポーネントの様々な使用方法について説明します。このアプリケーションは、アプリケーション全体のショーケースではなく、ユーザー・インタフェースに重点を置いています。データ・モデル、Webサービスなどについては、他のサンプルを参照してください。


Skinning

このアプリケーションでは、提供されているスタイル・シートをオーバーライドするか、独自のスタイル・シートを使用して拡張することで、アプリケーションにスキンを適用し、固有のルック・アンド・フィールを追加する方法を示します。また、このアプリケーションは、スキンがどのようにして、デバイスのタイプに基づいて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.4項「RESTを使用したWebサービス・データ・コントロールの作成方法」を参照してください。


APIDemo

このアプリケーションは、MAF AMXページ内からカスタムJavaScriptメソッドを起動する方法を示します。この方法を使用して、DeviceFeaturesデータ・コントロールには含まれていないApache Cordova APIを起動します。また、この方法を使用してカスタムJavaScriptメソッドをアプリケーションに追加し、これらのメソッドを起動することもできます。このアプリケーションは、JavaScriptメソッドからJavaへのコールバック方法も示します。詳細は、第4.9.1項「アプリケーション機能の基本情報の定義方法」および第B.2項「MAFコンテナ・ユーティリティAPI」を参照してください。


PushNotifications

このアプリケーションは、アプリケーションのユーザーがアプリケーションに関連するパーソナライズされたプッシュ通知を受信できるように、Apple Push Notification Service (APNs)およびGoogle Cloud Messaging (GCM)のプッシュ通知プロバイダに登録する方法を示します。また、アプリケーションでプッシュ通知を受信して、その受信したプッシュ通知を処理する方法も示します。詳細は、第17章「プッシュ通知の有効化」を参照してください。


RangeChangeListener

このサンプルは、リスト・ビュー・コンポーネント内の「さらに行をロード」リンクがアクティブ化されている場合、またはリスト・ビューが末尾までスクロールされている場合に、Javaハンドラ・メソッドを起動してrangeChangeListenerを起動する方法を示します。また、新しいデータがリスト・ビューによってフェッチされるたびにrangeChangeListenerがコールされることを示します。このサンプルは、RangeChangeEventを使用して、クライアントにデータをさらにダウンロードできるかどうかを定義する方法を示します。