Mobile Application Frameworkを使用すると、Apple iOSプラットフォームを搭載したモバイル・デバイスやAndroidデバイスで実行されるさまざまなタイプのコンテンツを収容可能なアプリケーションを作成できます。このセクションでは環境の構成を通して、開発、JDeveloperおよびAndroid環境を使用したMAFアプリケーションのテストができます。ビルドの構成、Android環境およびエミュレータを使用して小さなアプリケーションをテストします。エミュレータを使用して環境を構成しますが、実際のAndroidデバイスにデプロイすることもできます。

このチュートリアルは、PC環境上のAndroidで動作するようにしたい人のために書かれています。また、Appleの環境でAndroidのエミュレータで動作させたり、これらの手順は基本的にはいくつかのマイナーなバリエーションと同じです。

次の画像は、チュートリアルを完了したときにシミュレータに表示される画面です。

シミュレータでのHello WorldアプリシミュレータでのHello Worldアプリ
ステップ1: 必要なコンポーネントのダウンロードとインストール
  1. Android SDKをhttp://developer.android.com/sdk/index.htmlからダウンロードしてインストールします。
    SDKをダウンロードする前に条件に同意する必要があります。

    check for updates

  2. StudioおよびSDKをインストールするためにandroid-studio-bundle-135.1641136.exeを実行します。インストールのプロセスにおいて、StudioおよびSDKのファイル配置を選択することができます。以下はこのチュートリアルで使用されたものです。
    (このチュートリアルを書いている時点ではこのファイル名でしたが、後日に変更しているかもしれません。ファイルのサイズは約850MBでした。)

    check for updates

  3. SDK Manager.exe」アプリケーションを見つけてダブルクリックします。Android SDK Managerが起動します。Managerはすべてのパッケージおよび使用するエミュレータをインストールするために使用されるものです。

    check for updates

  4. デフォルトでは、Android SDK ToolsAndroid SDK Platform-toolsAndroid Build-tools、そしていくつかのパッケージがインストールされています。

    check for updates

  5. Android 5.0.1 (API 21) コンポーネントを選択、インストールします。パッケージをインストールするためにソフトウェア条項に同意する必要があります。

    check for updates

  6. Google Cloud Messaging for Android Libraryのインストールも必要です。このオプションを参照するためには、ウィンドウの下部でObsoleteチェックボックスを選択する必要があります。SDK Managerの最下部までスクロールし、Google Cloud Messaging for Android Libraryを選択します。

    また、エミュレータのためのパッケージをダウンロード、インストールする必要があります。Extrasノードで見つけることができます。Intel x86 Emulator Accelerator (HAXM) Installerはすでにインストールされているかもしれません。もしインストールされていなければ、それも選択します。

    クリックして、インストールします。

    check for updates

  7. Intel x86 Emulator Acceleratorを使用するためには、一度ダウンロードし、ドライバをインストールする必要があります
    Intel HAXM実行可能ファイルをインストールするには、IntelHaxm.exeをハード・ドライブで検索します。

    <android_home>\sdk\extras\Intel\Hardware_Accelerated_Execution_Manager\intelhaxm.exeの位置を見つけることができます。インストールしている間に、デフォルト値を使用することができます。

    check for updates

  8. JDeveloper 12.1.3以降のインストールが必要です。Oracle JDeveloperページからJDeveloperをダウンロードできます。JDeveloperのダウンロードのためにダウンロードタブをクリックします。

  9. JDeveloper Update Centerを使用して、MAF拡張をインストールします。 JDeveloperを起動して、メニュー項目で「Help」、「Check for Updates」の順に選択します。

    check for updates

  10. Welcomeダイアログで「Next」をクリックします。

  11. Search Update Center」ラジオ・ボタンを選択し、「Next」をクリックします。

  12. Check for Updatesのステップ1
  13. Available Updatesで、Mobile Application Framework拡張のチェックボックスを選択します。

    次にNextをクリックします。

    check for updatesのステップ2

  14. ライセンス契約書に同意します。 「Next」をクリックして、ダウンロードが完了したら、Finishをクリックします。

    Check for Updatesのステップ2

  15. JDeveloperをリスタートする必要があります。シャットダウンおよびJDeveloperのリスタートのためにYesをクリックします。
    1, 2分ほどかかることがあります。

    JDeveloperの再起動メッセージ

  16. JDeveloperが再起動したら、「Studio Developer (All Features)」を選択して、MAF拡張を使用できるようにします。

    プロンプトが表示されたら、JDeveloperの前バージョンからプリファレンスをインポートしないでください。

  17. 次に、MAFが使用するJAVA JDKを設定します。JAVA 8をインストールした場所を指定するように求められます。

    preferences menu

  18. 次に、MAFが使用するSDKを設定しなければなりません。メニュー項目 Tools > Preferences を選択します。

    preferences menu
  19. Preferences画面の左側で、「Mobile Application Framework」ノードを展開します。

    モバイル設定

  20. 次に、「Android Platforms」を選択します。

  21. すべての項目を正しいディレクトリの場所で更新します。 SDKをデフォルトの場所にインストールした場合は、入力リストの横にある虫メガネをクリックして、画像での例のようにAndroid SDKのディレクトリにナビゲートします。Androidプラットフォームの場所と、aapt.exeファイルを含むディレクトリを指しているAndroid Build Toolsの場所に同じ操作を行います。

    デバッグKeyおよびKeystoreのためのデフォルト・パスワードがあります。今はそれらの値を無視できます。

    プラットフォームSDKの場所
  22. OK」をクリックしてPreferencesペインを終了します。

  23. Android SDK Managerを再び開いて、モバイル・デプロイメントに使用するAndroidエミュレータを作成および起動します。

    check for updates

  24. Android SDK ManagerTools」、「Manage AVDs...」の順に選択します。

    Android Virtual Device Managerダイアログが表示されます。

    check for updates

  25. Create ボタンをクリックし、プロパティに以下の値を指定します。

    すでにリストで作成した別のエミュレータを持っていることがあります。これを使用せず、下記の指定に応じた新しいものを作成するようにしてください。

    check for updates

    AVD Name = MAF
    Device = Nexus 7
    Target = Android 5.0.1 - API Level 21
    CPU/ABI = Intel Atom (x86_64)
    Internal Storage = 200 MiB
    Skin = No Skin
    Front Camera = Emulated
    Back Camera = None
    Memory Options Ram = 1024
    SD Card = 640 MiB
    Use Host GPU = Selected

    残りはデフォルトのままにして、「OK」ボタンを押します。

    別のデバイス・タイプも選択できますが、デバイスが新しいほど、リソースに関する要件は高くなり、マシンでRAMの問題が発生する可能性があることに注意してください。

    check for updates

  26. 新しいAVDを選択し、Startボタンをクリックします。

    check for updates

  27. Launch Optionsペインの値はデフォルトのままにして、「Launch」をクリックします。

  28. check for updates

  29. エミュレータが起動し、稼働し始めるまで、2、3分かかる場合があります。 稼働したら、テストおよびモバイル・デプロイメントを継続できます。

    check for updates

ステップ2: MAFアプリケーションの作成

    このパートでは、“Hello World” MAFアプリケーションを作成してから、このアプリケーションをAndroidエミュレータにデプロイします。 MAFアプリケーションのデプロイの準備ではおもに、プラットフォーム固有のデプロイメント・プロファイルを作成します。
    デプロイメント・プロファイルは、iOSまたはAndroidプラットフォームのいずれかにデプロイするアーカイブにアプリケーションをパッケージ化する方法を定義します。
    デプロイメント・プロファイルは次の役割を果たします。
    - アーカイブの形式とコンテンツを指定する。
    - ソース・ファイル、デプロイメント・ディスクリプタ、およびアーカイブ・ファイルにパッケージ化するその他の補助ファイルを一覧にする。
    - 作成するアーカイブ・ファイルのタイプと名前を記述する。
    - 依存情報、プラットフォーム固有の指示、その他の情報をハイライトする。

  1. アプリケーション・ナビゲータで「New Application」をクリックして、New Galleryダイアログ・ボックスを起動します。

    New Application

  2. New Galleryで、「General」、「Applications」の順にノードを展開し、「Mobile Application Framework Application」を選択します。
    OK」をクリックします。

    New Galleryのモバイル・アプリケーション項目


  3. Name your applicationページのApplication NameフィールドにMyMobileAppと入力して、「Next」をクリックします。

    モバイル・アプリケーションの命名

  4. 最初のプロジェクトのProject FeaturesApplicationControllerを確認します。

    アプリケーション・コントローラ・プロジェクトの機能
  5. Next」を2回クリックして、Name your projectページで、2番目のプロジェクトのViewControllerのために、デフォルトのプロジェクト名をそのままにします。ViewControllerプロジェクトのProject Featuresを確認します。 プロジェクトではMobile Application Framework, HTML and CSS, Java, およびJavaScriptプロジェクト機能を使用します。

    ViewControllerプロジェクトのプロジェクト機能

  6. Next」、「Finish」の順にクリックします。 Application Navigatorでは、新しいMAFアプリケーションに関連するすべてのファイルを表示できます。

    モバイル・アプリ作成後のアプリケーション・ナビゲータ・ファイル

    MAF Frameworkアプリケーションが完成すると、JDeveloperによってプロジェクトとアプリケーション・レベルの両方のアーティファクトが追加されます。このようなアーティファクトには、MAFフレームワーク・モデル・プロジェクト、MAFフレームワーク機能アプリケーション・リソースを持つビュー・コントローラ・プロジェクト(デフォルト名はViewController)があります。 これらのリソースには、アプリケーション機能用の構成ファイル、maf-feature.xmlが含まれます。この構成ファイルは、スタブXMLディスクリプタ・ファイルであり、アプリケーションの実行時に表示される機能アプリケーションを定義することを可能にします。maf-feature.xmlは、アイコン、コンテンツ・タイプ、起点など、各機能の詳細を定義します。

    maf-application.xmlファイルは、機能への参照を含めたアプリケーション自体の詳細を定義します。これらの機能アプリケーションを、Feature Archiveファイル(FAR)というJARファイルにパッケージ化すると、他のMAFアプリケーションが使用できる再使用可能なコンテンツが提供されます。このような区別をする理由の1つは、開発者が機能アーカイブ(maf-feature.xmlで参照される機能が1つ以上含まれています)を作成した後で、機能アーカイブを呼び出すだけでアプリケーションを作成できるようにするためです。もちろん、各アプリに含まれるmaf-application.xmlは1つだけです。

    FARは基本的に、アイコン・イメージ、リソース・バンドル、HTML、JavaScript、または他の実装固有ファイルなど、機能が必要とするすべてのものを集め内蔵しています。FARには、1つのmaf-feature.xmlファイルが含まれており、このファイルにより、各パッケージ機能アプリケーションが一意のIDで識別されます。このファイルを編集して、機能プロパティを更新できます。たとえば、コンテンツの実装を指定できます(ローカルまたはリモートHTMLファイル、AMXページ、またはプラットフォーム固有の言語で作成されたネイティブ・アプリケーション)。また、ユーザー・ロールや権限、またはデバイス・プロパティなどの要素に基づいてコンテンツの表示を制御できます。モバイル・アプリケーションは、1つのFARまたは複数のFARを参照できます。あるいは、FARをまったく参照しなくてもかまいません。

  7. ViewController」プロジェクトを右クリックして、「New > From Gallery」を選択します。
    New Galleryで、「Web Tier - HTML」、「HTML Page」項目の順に選択します。

    OK」をクリックします。

    モバイル・アプリ作成後のアプリケーション・ナビゲータ・ファイル

  8. デフォルトのFile NameDirectoryのまま、「OK」をクリックします。

    モバイル・アプリ作成後のアプリケーション・ナビゲータ・ファイル

  9. エディタで、次のテキスト"Deployment Successful"を入力します。
    次に、Properties Windowsで、Styleノードを展開し、Font Sizeをxx-largeに設定します。

    モバイル・アプリ作成後のアプリケーション・ナビゲータ・ファイル

    モバイル・アプリ作成後のアプリケーション・ナビゲータ・ファイル

    モバイル・アプリ作成後のアプリケーション・ナビゲータ・ファイル
  10. すべての作業を保存します。



ステップ3: ページへのUIアクセスの追加

    このセクションでは、新しい機能を構成することで、ユーザーが新たに定義されたローカルHTMLページにネイティブ・アプリケーション・コンテナからアクセスできるようにします。 アプリケーションにページまたはタスク・フローを追加するたびに、このタスクを実行する必要があります。

  1. アプリケーション・ナビゲータで、「ViewController」プロジェクトを展開します。 「Application Sources」フォルダを見つけて展開します。 次に、「META-INF」フォルダを展開します。 maf-feature.xmlファイルが次のように表示されます。

    アプリケーション・ナビゲータで選択されたmaf-feature.xml

  2. maf-feature.xml」ファイルをダブルクリックして、Featureエディタを開きます。

    エディタのmaf-feature.xml

  3. エディタの上の方にあるFeatures表の緑のプラス記号をクリックして、新しい機能を追加します。 プラス記号が表示されていない場合は、Featureエディタを右側にスクロールします(Featureエディタの右端にプラス記号があります)。

    デフォルト値のCreate MAF Featureペインが表示されたmaf-feature.xml

  4. Create MAF Featureダイアログで、次の値を変更します。

    - Feature Name: Success
    - Feature ID: oracle.success

    ディレクトリの値はデフォルトのままにして、「Add a corresponding feature reference to maf-application.xml」チェック・ボックスが選択されていることを確認してから、「OK」をクリックします。

    適切な値のCreate MAF Featureペインが表示されたmaf-feature.xml

  5. Features表で、新たに作成した機能「oracle.success」を選択します。 Features表の下の「Content」タブをクリックして、Content表を見つけます。 コンテンツ項目oracle.Success.1はデフォルトで作成されています。

  6. 変更を保存します。

  7. Contentエリアで、TypeプロパティをLocal HTMLに設定します。

    適切なタイプが設定されたContentタブ

  8. Contentセクションで、URLテキスト・ボックスを見つけます。

    URLテキスト・ボックスの右側にある虫メガネ・アイコンをクリックします。

    緑のプラス記号をクリックしたときに選択されるタスク・フロー

  9. Openウィンドウで、先ほど作成したHTMLページを選択します。 ここでは、untitled1.htmlです。 次に「Open」をクリックします。

    Contentタブで選択されたView Controller Task Flowオプション

  10. 結果の定義は次のイメージのように表示されます。

    エディタで表示される完成した機能

  11. すべての作業を保存します。


ステップ4: Androidエミュレータでのページのデプロイとテスト

    環境をインストールして、アプリケーションを作成したので、アプリケーションをエミュレータにデプロイする準備が整いました。

  1. エミュレータが実行中であることを確認します。 エミュレータの下部にある「Applications」アイコンをクリックすると、インストールしたすべてのアプリケーションを照会できます。

  2. エミュレータを開いたまま、JDeveloperとMyMobileAppアプリケーションに戻ります。

    check for updates

  3. Applicationメニューで「Deploy」、「New Deployment Profile」の順に選択して、Create Deployment Profileダイアログ・ボックスを起動します。

    Deploy→New Deployment Profileメニュー・オプション

  4. Profile Typeドロップダウン・リストで、MAF for Androidが選択されていることを確認します。Deployment Profile Nameに「Android2」と入力して、「OK」をクリックします。

    デプロイメント・プロファイルの名前

  5. Android Optionsノードを選択して、値が以下のようになっていることを確認します。

    シミュレータの対象バージョンを5.0に設定

  6. OK」をクリックして、すべての作業を保存します。

  7. Applicationメニューで、「Deploy」、「Android2...」の順に選択します。

    Deployメニュー・オプション

  8. 続くダイアログ・ボックスで「Deploy application to emulator」を選択して、「Finish」をクリックします。

    シミュレータ・ウィンドウへのプロファイルのデプロイ

  9. エラーがないかDeployment Logウィンドウを調べてください。 コンパイルとデプロイメント・プロセスが予想どおりに完了すると、Deployment Logウィンドウが次のように表示されます。

    Deployment Logウィンドウ - デプロイの終了

  10. エミュレータに戻ります。

    先ほど作成し、デプロイしたMyMobileAppアプリケーションが表示されます。

  11. MyMobileApp」アイコンをクリックして、アプリケーションを起動します。

  12. iOS Simulatorのアプリケーション

    MyMobileAppアプリケーションには現在、MAFアプリケーション内で実行中のHTMLページが含まれています。

    シミュレータのHello Worldアプリケーション

  13. 終了したら、エミュレータを閉じます。ただし、再度デプロイするときには、デプロイ前にエミュレータを再起動してください。

ブックマーク 印刷 すべて表示 | すべて非表示

トップへ戻る
Copyright © 2015, Oracle. All rights reserved.