// 
//     Licensed to the Apache Software Foundation (ASF) under one
//     or more contributor license agreements.  See the NOTICE file
//     distributed with this work for additional information
//     regarding copyright ownership.  The ASF licenses this file
//     to you under the Apache License, Version 2.0 (the
//     "License"); you may not use this file except in compliance
//     with the License.  You may obtain a copy of the License at
// 
//       http://www.apache.org/licenses/LICENSE-2.0
// 
//     Unless required by applicable law or agreed to in writing,
//     software distributed under the License is distributed on an
//     "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
//     KIND, either express or implied.  See the License for the
//     specific language governing permissions and limitations
//     under the License.
//

= モバイル埋込みアプリケーションの作成、デバッグおよびプロファイリング
:jbake-type: tutorial
:jbake-tags: tutorials 
:jbake-status: published
:icons: font
:syntax: true
:source-highlighter: pygments
:toc: left
:toc-title:
:description: モバイル埋込みアプリケーションの作成、デバッグおよびプロファイリング - Apache NetBeans
:keywords: Apache NetBeans, Tutorials, モバイル埋込みアプリケーションの作成、デバッグおよびプロファイリング

Sungmoon Cho、Alyona Stashkova

モバイル埋込みアプリケーションは、産業用計測デバイス、自動販売機、セキュリティ・システム、モデム、家庭用電子機器、同様に表示が単純であるか表示がなく、ネットワーク接続が限定されているデバイスなどの、小型埋込みデバイスで使用されています。この例では、link:http://jcp.org/en/jsr/detail?id=228[+JSR 228+]、Information Module Profile-Next Generation API (IMP-NG)のサポートを含むOracle Java Micro Edition Embeddedプラットフォームを使用してNetBeans IDEで新しいJava ME埋込みプロジェクトを開発する方法を示します。Oracle Java ME EmbeddedのNetBeansサポートを使用して独自のIMletをデバッグおよびプロファイリングする方法も説明します。



image::images/netbeans-stamp-80-74-73.png[title="このページの内容は、NetBeans IDE 7.3以降に適用されます"]


*このチュートリアルを完了するには、次のソフトウェアとリソースが必要です。*

|===
|ソフトウェアまたはリソース |必須バージョン 

|link:https://netbeans.org/downloads/index.html[+NetBeans IDEとJava ME+] |バージョン7.3またはそれ以降 

|link:http://www.oracle.com/technetwork/java/javase/downloads/index.html[+Java Development Kit+] (JDK) |バージョン6、7または8 

|link:http://www.oracle.com/technetwork/java/javame/javamobile/download/sdk/index.html[+Java ME SDK+] |バージョン3.2またはそれ以降 
|===

*重要:* このチュートリアルは、Win32互換プラットフォームでのみ稼働します。


== Oracle Java ME Embeddedのインストール

NetBeans IDEをWindowsプラットフォーム用のOracle Java ME Embeddedソフトウェアとともに設定するには、次の操作を行う必要があります。

* Oracle Java ME SDKのインストール
* NetBeans IDEでのJava ME機能のアクティブ化
* NetBeans IDEへのOracle Java ME Embeddedプラットフォームのインストール

*Oracle Java ME SDKをインストールする手順:*

1. link:http://www.oracle.com/technetwork/java/javame/javamobile/download/sdk/index.html[+Java ME SDKダウンロード+]・ページに移動します。
2. 「Accept License Agreement」オプションをクリックします。
3. Oracle Java ME SDKインストーラ・ファイル(oracle-jmesdk-3-4-rr-win32-bin.exeなど)をダウンロードし、コンピュータ上の任意の場所に保存します。
4. インストーラ・ファイルをダブルクリックしてインストーラを実行し、指示に従います。
インストールが完了すると、Java (TM) ME Platform SDK Device Managerアイコン(image::images/icon.png[])がWindowsシステム・トレイに表示されます。

*Java ME機能をアクティブにする手順:*

1. IDEのメイン・ツールバーから「ツール」→「プラグイン」を選択します。
2. 「プラグイン」ダイアログ・ボックスで、「インストール済み」タブをクリックし、使用可能な機能のリストで「Java ME」を選択します。

[.feature]
--
image::images/plugins-small.png[role="left", link="images/plugins.png"]
--


[start=3]
. 「アクティブ化」をクリックします。

[start=4]
. 「インストーラ」ダイアログ・ボックスの「ようこそ」パネルで「アクティブ化」をクリックします。

[.feature]
--
image::images/installer-small.png[role="left", link="images/installer.png"]
--


[start=5]
. アクティブ化が正常に完了したら、「終了」をクリックします。

[start=6]
. 「閉じる」をクリックして「プラグイン」ダイアログ・ボックスを閉じます。

*Oracle Java ME Embeddedプラットフォームをインストールする手順:*

1. 「ツール」→「Javaプラットフォーム」を選択します。
「Javaプラットフォーム・マネージャ」ダイアログ・ボックスが表示されます。

[.feature]
--
image::images/jpmanager-small.png[role="left", link="images/jpmanager.png"]
--


[start=2]
. 「プラットフォームの追加」をクリックします。

[start=3]
. 「Javaプラットフォームの追加」ウィザードの「プラットフォーム・タイプを選択」で、「Java ME CLDCプラットフォーム・エミュレータ」を選択し、「次」をクリックします。
IDEに、「プラットフォームを検索するディレクトリを選択してください」ダイアログ・ボックスが表示されます。

[start=4]
. Java ME SDKプラットフォームをインストールしたディレクトリ( ``C:\Java_ME_Platform_SDK_3.2`` など)を選択し、「開く」をクリックします。

[start=5]
. 「Javaプラットフォームの追加」ウィザードの「プラットフォームのフォルダ」パネルで、前の手順で選択したプラットフォームが選択されていることを確認し、「次」をクリックします。

[start=6]
. IDEがプラットフォームを検出したらすぐに、「Javaプラットフォームの追加」ウィザードの「検出されたプラットフォーム」パネルで「終了」をクリックします。

[.feature]
--
image::images/jpdetected-small.png[role="left", link="images/jpdetected.png"]
--

これで、Oracle Java MEプラットフォームがNetbeans IDEに登録されます。

[.feature]
--
image::images/jpregistered-small.png[role="left", link="images/jpregistered.png"]
--


[start=7]
. 「Javaプラットフォーム・マネージャ」ダイアログ・ボックスで、「閉じる」をクリックします。

これで、NetBeans IDEがモバイル開発用に設定されます。


== 埋込みプロジェクトの作成

新規プロジェクトの作成は、NetBeans IDEでの新規Java ME Embeddedアプリケーションの開発の最初の手順です。

1. 「ファイル」>「新規プロジェクト」を選択します。
「新規プロジェクト」ダイアログ・ボックスが表示されます。

[start=2]
. 「Java ME」カテゴリと「埋込みアプリケーション」プロジェクトを選択します。「次」をクリックします。

[start=3]
. 新規埋込みアプリケーション・ウィザードの「名前と場所」パネルで、プロジェクト名として「 ``EmbeddedApp`` 」を指定します。

[.feature]
--
image::images/newappname-small.png[role="left", link="images/newappname.png"]
--


[start=4]
. 「デフォルト・パッケージとIMletクラスの作成」オプションは選択したままにし、「次」をクリックします。

[start=5]
. CLDC Oracle Java(TM) Platform Micro Edition SDKがエミュレータ・プラットフォームとして選択され、IMPNGPhone1がデバイスとして選択されていることを確認します。

[start=6]
. 「終了」をクリックします。
IMP-NGアプリケーションとIMLetが標準IDEプロジェクトに作成されます。

image::images/prjcreated.png[]

<<top,先頭>>


== アプリケーションの実行

アプリケーションが正しく稼働していることを確認するには、アプリケーション・ソース・コードを次のように修正します。

1. 「プロジェクト」ウィンドウで、「 ``IMlet.java`` 」ファイルをダブルクリックし、「編集」を選択します。
IDEによって、 ``IMlet.java`` ファイルがソース・エディタに開かれます。

[start=2]
. ソース・コードをスクロールし、 ``StartApp`` メソッドを探します。

[start=3]
.  ``StartApp`` メソッドの本体に、次の太字の行を挿入します。

[source,java]
----

 public void startApp() {
      *System.out.println("Hello, world!");*
 }
----

[start=4]
. IDEのメイン・メニューから「ファイル」→「保存」を選択して、編集内容を保存します。

これでアプリケーションが作成され、次の説明に従ってIDEでアプリケーションを実行できます。

1. 「 ``EmbeddedApp`` 」プロジェクトを右クリックし、「消去してビルド」を選択します。
「出力」ウィンドウにBUILD SUCCESSFUL文が表示されます。

*注意:* 「出力」ウィンドウが表示されない場合は、IDEのメイン・メニューから「ウィンドウ」→「出力」→「出力」を選択します。


[start=2]
. IDEのメニュー・バーから、「実行」→「プロジェクトの実行」を選択します。
IMPNGPhone1エミュレータが起動し、実行されているEmbeddedAppアプリケーションが表示されます。

[.feature]
--
image::images/emulator-small.png[role="left", link="images/emulator.png"]
--

*注意:* Java ME Embeddedエミュレータの詳細は、link:http://docs.oracle.com/javame/config/cldc/rel/3.2/get-started-win/title.htm[+Oracle Java ME Embeddedスタート・ガイド for Windows 32プラットフォーム+]を参照してください。

「出力」ウィンドウに、プログラムからの出力として`Hello, world!`が表示されます。

[.feature]
--
image::images/output-small.png[role="left", link="images/output.png"]
--


[start=3]
. エミュレータで、「 ``Embedded App (running)`` 」を選択し、右側の「一時停止」をクリックします。
アプリケーションが一時停止します。

[start=4]
. 「再開」をクリックします。
アプリケーションの実行が再開します。

[start=5]
. アプリケーションを停止し、エミュレータを終了するには、「停止」をクリックし、エミュレータのメニューから「アプリケーション」→「終了」を選択します。
IDEで実行プロセスが終了します。

<<top,先頭>>


== アプリケーションのデバッグ

埋込みプロジェクトのデバッグは、一般的なJavaプロジェクトのデバッグと同様に実行します。

プロジェクトを右クリックし、「デバッグ」を選択してデバッグ・セッションを開始します。エミュレータが開き、プログラムの実行が任意の設定したブレークポイントで停止します。

<<top,先頭>>


== アプリケーションのプロファイリング

標準CPUまたはメモリー・プロファイリングなどの一般的なプロファイリング・タスクを使用して、信頼性のあるモバイル埋込みアプリケーションをビルドします。

アプリケーションをプロファイリングする前に、次のようにJava ME SDK Toolsプラグインをインストールする必要があります。

1. NetBeans IDEで、「ツール」→「プラグイン」を選択します。
2. プラグイン・マネージャで、「使用可能なプラグイン」タブを選択します。
3. 「使用可能なプラグイン」タブで、Java ME SDK Toolsプラグインを探し、選択してインストールします。

[.feature]
--
image::images/available-plugins-small.png[role="left", link="images/available-plugins.png"]
--


[start=4]
. 「インストール」をクリックします。

[start=5]
. 「インストーラ」ダイアログ・ボックスの「ようこそ」ページで「次」をクリックします。

[start=6]
. 「ライセンス契約」ページで、プラグインに関連するライセンス契約を読みます。ライセンス契約のすべての条件に同意する場合は、該当するオプションをクリックしてから「インストール」をクリックします。

[start=7]
. インストール・プロセスが完了したら、「今すぐIDEを再起動」オプションを選択したままにして「終了」をクリックします。

NetBeans IDEの再起動後に、IDEを使用したモバイル埋込みアプリケーションのプロファイリングを開始できます。

1. IDEの「プロジェクト」タブで、`EmbeddedApp`プロジェクト名を選択します。
2. メイン・メニューから「プロファイル」→「プロジェクトをプロファイル」を選択して、プロファイリング・セッションを開始します。

*注意:* プロジェクトが初めてプロファイリングされるときに、プロファイラの統合を求められます。

[.feature]
--
image::images/enable-small.png[role="left", link="images/enable.png"]
--


[start=3]
. (プロジェクトの初回プロファイリングに適用)「プロファイリングの有効化」ダイアログ・ボックスで、「はい」をクリックして統合を実行します。

[start=4]
. 「プロファイル」ダイアログ・ボックスで、CPUプロファイラを選択し、オプションでプロファイル・システム・クラスをチェックします。

[start=5]
. 「実行」をクリックします。
`EmbeddedApp`アプリケーションが実行されたエミュレータが開きます。

[start=6]
. アプリケーションと対話します。

[start=7]
. アプリケーションを終了するか、エミュレータを閉じます。
IDEにより、「`cpu:_time_`」ウィンドウにプロファイル・データが表示されます。

[.feature]
--
image::images/cpu-small.png[role="left", link="images/cpu.png"]
--

*注意:* 後で参照するためにエミュレーション・セッション中に収集されたデータを保存するには、次のいずれかを行います。

* 「エクスポート先」ボタン(image::images/export.png[])をクリックして、データを`nps`ファイルにエクスポートする
* 「現在のビューを画像に保存」ボタン(image::images/image.png[])をクリックして、スナップショットを`png`ファイルに保存する
link:/about/contact_form.html?to=6&subject=Creating,%20Debugging,%20and%20Profiling%20an%20Embedded%20Application[+このチュートリアルに関するご意見をお寄せください+]


<<top,先頭>>


== 関連項目

* link:imp-ng-screencast.html[+デモ: NetBeans IDEでのIMP-NGプロファイルのサポート+]
* link:http://www.oracle.com/technetwork/java/javame/javamobile/training/jmesdk/index.html[+Javaモバイル - 学習の開始+]
* link:http://www.oracle.com/technetwork/java/embedded/resources/me-embeddocs/index.html[+Oracle Java ME Embeddedクライアント・ドキュメント+]
* link:https://blogs.oracle.com/javamesdk/[+Java ME SDK Teamブログ+]
* _NetBeans IDEによるアプリケーションの開発_のlink:http://www.oracle.com/pls/topic/lookup?ctx=nb8000&id=NBDAG1552[+Java MEアプリケーションの開発+]

<<top,先頭>>

