【3/18〜】Amazon、VMwareが語る『クラウドの未来』 スラッシュドット    はてなブックマーク  Yahoo!ブックマークに登録  印刷
携帯アプリを作って学ぶJava文法の基礎
連載一覧へ
携帯アプリを作って学ぶJava文法の基礎(2)

キャリアとプロファイルを覚えて「Hello Javaアプリ!」


エスマテック株式会社
緒方聡
2008/2/12


初めてのMIDPアプリ作成 MIDP

 ここからは、MIDPアプリで「hello, world」を表示させる簡単なプログラムを作成します。

 スタートメニューから「Wireless Toolkit 2.5.2」を起動します。図22の画面が起動します。

図22 「Kツールバー」
図22 「Kツールバー」

 この画面は、本連載では「Kツールバー」と表記します。「Kツールバー」の[新規プロジェクト]を押してください。

図23 MIDPアプリ[新規プロジェクト]
図23 MIDPアプリ[新規プロジェクト]

 プロジェクト名とクラス名を入力しなければなりませんが、ここでは深く考えずに図23のように「HelloWorldMIDlet」と入力して[プロジェクトの作成]ボタンを押してください。

図24 プロジェクト設定
図24 プロジェクト設定

 作成したプロジェクト「HelloWorldMIDlet」の設定画面が表示されます。本来であれば、細かい設定を行わなければならないのですが、最初のプログラムなので簡単なため、ここではすべてデフォルト設定を使用します。そのまま[了解]を押してください。

図25 新規プロジェクト作成後の「Kツールバー」
図25 新規プロジェクト作成後の「Kツールバー」

 次に、所定の場所にソースファイルを作成します。ここで確認ですが、インストールフォルダは「C:\Java\WTK」ですが、プロジェクトは「C:\Documents and Settings\User\j2mewtk\2.5.2」に作成されている状態だと思います。

 筆者の場合は、図25のログで作成された場所が確認できました。これはWTK 2.5.2からの新機能で、主にWindows Vista対応によるものです(この場所を、以降「%USERPROFILE%\j2mewtk\2.5.2」と表記します)。

 こうなると、「%USERPROFILE%\j2mewtk\2.5.2\apps\HelloWorldMIDlet\src」にソースファイルを作成しなければなりませんので、以下のソースコードをコピーして、HelloWorldMIDlet.javaという名前で上記フォルダに保存してください。

import javax.microedition.lcdui.*;
import javax.microedition.midlet.*;

public class HelloWorldMIDlet extends MIDlet {

    public HelloWorldMIDlet() {
        Form form = new Form("Start MIDlet");
        form.append("hello, world");
        Display.getDisplay(this).setCurrent(form);
    }
    protected void startApp() {
    }
    protected void pauseApp() {
    }
    protected void destroyApp(boolean unconditional) {
    }
}

 保存できたら、「Kツールバー」の[ビルド]ボタンを押してください。ソースコードに間違いがなければ、以下の画面のように[ビルドは完了しました]と表示されます。

図26 ビルドが正常終了した「Kツールバー」
図26 ビルドが正常終了した「Kツールバー」

 ソースコードに間違いがある場合、エラー個所とエラー内容が表示されるので、間違っている個所を探して直してみてください(正しいソースファイルはこちらからダウンロードできます)。ビルドが成功したら、「Kツールバー」の[実行]ボタンを押してください。

図27 「エミュレーション端末画面」 図28 「hello, world」が表示された「エミュレーション端末画面」
図27 「エミュレーション端末画面」 図28 「hello, world」が表示された「エミュレーション端末画面」

 図27のような、どのアプリを起動するかを選択する画面が出ます(本連載ではこの画面を「エミュレーション端末画面」と表記します)。アプリは1つしかないので、そのまま右ソフトキー([起動]と表示されているすぐ下のキー)を押してください。 「hello, world」が画面に表示されました(図28)。

 プログラムを終了する場合は、メニューの[MIDlet]→[終了]を選択するかタイトルバーの[×]ボタンを押してください。

プログラムの仕組み

 この初めてのMIDPプログラム「HelloWorldMIDlet」は、図29のような仕組みになっています。

図29 HelloWorldMIDletの構成
図29 HelloWorldMIDletの構成

 MIDletがMIDPアプリの本体で、その上にFormが載っていて、Formにはtitleがあり、「hello, world」と書かれたStringItemを追加しました。プログラムは部品に分けることができ、部品の役割が把握できれば、オブジェクト指向が理解でき始めています。

次回からゲーム作成でJava文法の基礎を習得開始!

 初めてのプログラミングはどうでしたか? 「プログラミングって思っていたよりも結構簡単」という印象を持ってもらえたのではないかと思います。

 次回からは、連載第1回「あなたの携帯電話でJavaアプリは動きますか?」で紹介したテトリスみたいなゲーム「Trimis」のアプレット版のソースコードを追いながら、Javaの文法を学びつつ、ケータイJavaプログラミングの作法を習得していきます。

@IT関連記事


ドコモの仕様とMIDPはどう違う?
携帯Java最新事情
 いよいよNTTドコモのiモードJava携帯端末が出荷された。そろそろ携帯Javaの周辺事情を知ってみたいとお思いではありませんか?
Java Solution」フォーラム 2001/1/27
DoJaによるiアプリの開発入門
NTTドコモが提供する公式開発ツールJ2ME Wireless SDK for the DoJaを利用したiアプリの開発について解説する
第1回 NTTドコモの公式開発ツールを使おう
第2回 実機で動作するiアプリの作成
第3回 メディアリソースを利用して絵と音のあるiアプリ作成
第4回 HTTP通信とスクラッチパッドへのアクセス
第5回 CGIによるGET/POSTメソッドを使った送受信
第6回 互換性のあるiアプリ作成法
第7回 iアプリを10Kbytesに収めるテクニック
Mobile Connection」フォーラム 2001/8/30
MIDPプログラミング入門
MIDPはケータイJavaの基本。J-フォン、au、DDIポケットPHSのMIDP採用で再び注目を集めるMIDPをJ2ME Wireless Toolkitで学んでみよう

前編 プロジェクトの作成まで理解しよう (2001/3/15)
後編 基本的なプログラミングを理解しよう (2001/3/20)
携帯電話のソフトウェア開発で必要な資質
組み込みエンジニアは何を見るか(2) 
さまざまな機能を積み、ソフトウェアのコーディング量が増大しつつある携帯電話。そのソフトウェア開発に必要な資質とは?
次世代ケータイ開発を一変させるソフト基盤とは?
連載:組み込み企業最前線(9)
 「JBlend」のアプリックスが、今度は携帯電話向けソフトウェアの開発を根本から変えるミドルウェアフレームワークの開発に乗り出した
組み込み開発」フォーラム 2006/3/28

1-2-3-4

 Index
第2回 キャリアとプロファイルを覚えて「Hello Javaアプリ!」
  Page1
ケータイJavaアプリはキャリアによって何が違うの?
コラム 「SoftBankのMEXAって?」
コラム 「全キャリア対応アプリは難しいの?」
初めてのケータイJavaプログラミング
コラム 「いまさら聞けない、『hello, world』とは?」
iアプリ開発キットのセットアップ DoJa
  Page2
コラム 「『iDK』のサンプルアプリはオブジェクト指向」
  Page3
初めてのiアプリ作成! DoJa
コラム 「Javaの命名規約」
MIDPアプリ開発ツールのセットアップ MIDP
Page4
初めてのMIDPアプリ作成 MIDP
次回からゲーム作成でJava文法の基礎を習得開始!




ご意見、ご感想はJava Solution 会議室へどうぞ


Java Solution全記事一覧



ホワイトペーパーTechTargetジャパン

Java Solution フォーラム 新着記事

@ITメールマガジン 新着情報やスタッフのコラムがメールで届きます(無料)

RSSフィード

スキルアップ/キャリアアップ(JOB@IT)

- PR -
- PR -

お勧め求人情報

キャリアアップ 〜JOB@IT
@IT Special -PR-
  おばかアプリ選手権、第4弾開催中!!
ムダにカッコよくてくだらない作品求ム!

  社内ファイルサーバを“クラウド”に統合
VPN直結「クラウド型ストレージ」を紹介

  Twitterのアカウントはなぜ突破された?
メールによる新手の攻撃手法とその対策

  もう仮想化のお試しフェイズは終わりだ!
Hyper-V 2.0が基幹システムも仮想化

  美人!? まあまあ? 気になる いやし系!!
PV急増で「美人時計」がとった手段とは?

  クライアント企業から求められる人材
⇒IT技術と経営戦略を併せ持つ「戦略家」

  .NET編集長が実践する「技術情報検索術」
サンプル・コードを簡単に探す“技”は?

  業務効率と情報セキュリティ対策を両立!
手間なく確実に機密情報を守る方法とは?

  直属上司が海外にいるのエンジニアに見る
【実例】場所に捉われないワークスタイル

  「仮想化工房」のマイスターが選んだのは
VMware、Hyper-V、そしてVirtageだった!

  進化を続ける富士通ストレージETERNUS DX
製品開発者の自信を裏付けるものとは何か

  運用管理の課題を“2つの観点”から分析
ユーザー満足度の高い「仮想環境」とは?

  【CTC事例】約30の基幹システムを統合!
膨大なバッジジョブを制御した方法は?

  仮想化すればコストは削減できるか?
仮想化に必要な「3つの視点」を解説する

  その数、なんと400台以上! グループ内
サーバの「統合管理」によるメリットは?