ドキュメント



Oracle Java SE Embedded: 開発者ガイド

3 アプリケーション開発者のためのクイック・スタート

埋込みデバイスにインストールされているJREに一致するコンパクト・プロファイルで実行されるようにアプリケーションをテストする方法について学習します。

このページのトピックは次のとおりです。

埋込みアプリケーション開発者の一般的なタスク

ここでは、埋込みアプリケーション開発者が埋込みデバイスのアプリケーションを開発するために使用する基本的なタスクを示します。

ノート:

Java SE Embeddedで設定する必要があるデバイスまたは独自のデバイスがある場合は、「プラットフォーム開発者のためのクイック・スタート」を参照してください。

クイック・スタートの例

次の各項のタスクでは、埋込みデバイスのアプリケーションを開発する方法の簡単な例を説明します。 これらの手順は、次の条件を前提としています:

  • アプリケーション開発用のホスト・コンピュータで作業します。 通常の開発ツールを使用して、サポートされている標準のJDKインストールを操作できます。 標準JDKのダウンロード元:https://www.oracle.com/technetwork/java/javase/downloads/index.html

  • あなたは、Javaプログラミング言語とJava SEテクノロジの基本的な知識を持っています。

  • どのコンパクト・プロファイルがJREの一部として埋込みデバイスにインストールされるか、またはインストールされるかがわかります。

コンパクト・プロファイルの基本情報については、「コンパクト・プロファイルについて」を参照してください。

このクイック・スタート・シナリオは非常に簡単です。 詳細およびその他のオプションについては、各セクションの最後にある「詳細情報」リンクを参照してください。

ヒント:

NetBeans IDEは、ホスト・コンピュータとターゲット・デバイスの両方でアプリケーションのプロファイリング、実行およびデバッグをサポートします。 「NetBeans IDEでの埋込みアプリケーションの開発」を参照してください。

タスク1アプリケーションの開発

通常のJava開発ツールと標準のJDKを使用してアプリケーションを開発します。 標準開発との違いは、アプリケーションのライブラリがデバイスにインストールされているコンパクト・プロファイルの要件を満たしていることを確認するために、アプリケーションを頻繁にテストすることです。

プロセスを説明するために、簡単なヘッドレス・アプリケーションの例を2つ取りましょう: Hello WorldとHello RMI。

「例3-1」に示すHello Worldの例では、アプリケーションは単に"こんにちは世界"をコンソールに出力します。

例3-1 Hello Worldアプリケーション

public class HelloWorld {
  public static void main (String args[]) {
    System.out.println("Hello world!");
  }
}

「例3-2」に示すように、Hello RMIの例では、RMI LocateRegistryクラスを使用してリモート・オブジェクトにアクセスし、エラーが発生した場合はスタック・トレースを出力します。

例3-2 Hello RMIアプリケーション

import java.rmi.registry.LocateRegistry;
import java.rmi.registry.Registry;
 
public class HelloRMI {
  public static void main (String args[]) {
    if (System.getSecurityManager() == null) {
      System.setSecurityManager(new SecurityManager());
    }
    try {
      Registry registry = LocateRegistry.getRegistry("testRMI");
      System.out.println("Hello RMI!");
      } catch (Exception e) {
        System.err.println("RMI exception:");
          e.printStackTrace();
      }
  }
}

詳細情報:

ノート:

ほとんどの場合、組み込みデバイスはヘッドレス・アプリケーション (ユーザー・インタフェースなし)を実行します。 ヘッドフル・アプリケーションを使用している場合は、「ヘッドフル・アプリケーションの開発」を参照してください。

タスク2アプリケーションの頻繁なテスト

アプリケーションを開発する際は、頻繁にテストして、ライブラリがデバイス用に計画されているコンパクト・プロファイルに適合していることを確認します。 「カスタムJRE作成時の選択肢」を参照してください。

テストするには、まずアプリケーションをコンパイルしてから、jdepsコマンドを実行します。 より複雑なアプリケーションでは、ターゲット・デバイスでアプリケーションをさらにテストできます。

jdepsツールを使用するには、アプリケーションをコンパイルする必要があります。 「例3-3」に示すように、-profileオプションを指定せずにjavacを使用します。これは、プロファイルを決定するためです。

例3-3 Hello WorldおよびHello RMIのコンパイル・コマンド

% javac HelloWorld.java
% javac HelloRMI.java

これで、jdepsツールを使用して、各アプリケーションの実行に必要な最小限のコンパクト・プロファイルを決定できます。 「例3-4」は、Hello Worldアプリケーションのコマンドと結果を示します。

例3-4 Hello Worldアプリケーションのjdepsコマンドおよび結果

% jdeps -P HelloWorld.class
 
HelloWorld.class -> /net/test11.us.example.com/export/java-re/jdk/8/ea/b124/binaries/linux-i586/jre/lib/rt.jar
   <unnamed> (HelloWorld.class)
      -> java.io                                            compact1
      -> java.lang                                          compact1

「例3-4」の結果は、compact1プロファイルがHelloWorldアプリケーションの実行に必要な最小プロファイルであることを示しています。

「例3-5」は、Hello RMIアプリケーションのjdepsコマンドの結果を示します。

例3-5 jdeps Hello RMIアプリケーションのコマンドおよび結果

% jdeps -P HelloRMI.class
HelloRMI.class -> /net/test11.us.example.com/export/java-re/jdk/8/ea/b124/binaries/linux-i586/jre/lib/rt.jar
   <unnamed> (HelloRMI.class)
      -> java.io                                            compact1
      -> java.lang                                          compact1
      -> java.rmi.registry                                  compact2

「例3-5」の結果は、Hello RMIアプリケーションのjava.rmi.registryクラスにcompact2プロファイルが必要であるため、compact2をインストールする必要がある最小プロファイルであることが示されます。

詳細情報:

タスク3アプリケーションのパッケージ化とデプロイ

「javacコマンドでのプロファイルの指定」 「例3-6」の例に示すように、-profileオプションを使用して最終アプリケーションをコンパイルします。

例3-6 javacコマンドでのプロファイルの指定

$ javac -profile compact1 HelloWorld.java

通常の方法でJARファイルを作成して、アプリケーションをパッケージ化します。

アプリケーションをデプロイするには、JARファイルおよびリソース・ファイルを、デバイスにコピーする埋込みdevice.Howにコピーするだけで、ネットワーク・カードとSDカードのどちらを使用するかによって異なります。

ヒント:

大規模なアプリケーションでは、アプリケーションの動作を確認するために、反復的なステップで埋込みデバイスでアプリケーションをテストすることがベスト・プラクティスです。 このようにして、教職コンポーネントの開発の初期段階で、アプリケーションのパフォーマンス向上を変更できます。

詳細情報:

ウィンドウを閉じる

目次

Oracle Java SE Embedded: 開発者ガイド

展開 | 縮小