首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
您现在的位置: 程式碼之家 >> 編程語言 >  >> Java 程式設計 >> J2ME

使用 Java 撰寫手機應用程式(MIDP 入門完整指南)

     編輯:J2ME

前言

手機與 PDA 融合趨勢下,Java 成為跨平台開發首選。手機上的 Java 應用稱為 MIDlet,本文基於 Motorola J2ME SDK (iDEN 平台) 完整示範從安裝到執行的全流程。

取得與安裝 Motorola J2ME SDK

  1. 註冊 Motorola iDEN Developer (https://commerce.motorola.com/idenonline/ideveloper/),免費取得下載密碼。
  2. 下載 Motorola J2ME SDK Components Developer Edition Drop 7.0 (~3 MB)。
  3. 安裝前移除舊版,執行 Motorola_SDK.exe,輸入下載頁提供的安裝密碼。

SDK 目錄結構

Motorola J2ME SDK/
├── bin/          # Emulator.jar, ConfigTool.jar, preverifier.exe
├── lib/          # 類別庫 (CLDC/MIDP API)
├── demo/midlets/ # 範例原始碼
├── docs/         # 文件
└── scripts/      # 執行腳本 (runEmul.bat 等)

MIDlet 程式結構

繼承 javax.microedition.midlet.MIDlet,實作三個方法:

  • startApp():啟動/恢復
  • pauseApp():暫停
  • destroyApp(boolean):銷毀

編譯與預驗證

使用 demo/midlets/compileAll.bat 簡化流程:

compileAll HelloMIDlet.java

內部執行:

  1. javac -O -bootclasspath ..\..\lib HelloMIDlet.java
  2. preverifier -classpath ..\..\lib;. -d . HelloMIDlet

若源碼不在 demo 目錄,手動指定 -bootclasspath 與 -classpath 指向 SDK lib 目錄。

執行模擬器

切換至 scripts 目錄,執行:

  • runEmul HelloMIDlet(預設模擬器)
  • runMotoi1000 HelloMIDlet(i1000 外觀)
  • runMotoiDEN HelloMIDlet(iDEN 平台外觀)
  • runStarTac HelloMIDlet(StarTac 外觀)
  • runMyDevice HelloMIDlet(自訂裝置,需 .props 檔)

命令列完整參數範例(含裝置外觀指定):

java -Djava.library.path=d:\MotoSDK\lib
     -classpath d:\MotoSDK\bin\Emulator.jar;d:\MotoSDK\bin\ConfigTool.jar
     com.mot.tools.j2me.emulator.Emulator
     -classpath .;d:\MotoSDK\lib
     -deviceFile resources\MotorolaiDENPlatform.props
     javax.microedition.midlet.AppManager
     HelloMIDlet
     -JSA 1 1

HelloMIDlet 完整代碼

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

public class HelloMIDlet extends MIDlet {
    private Display display;
    private Form form;

    public HelloMIDlet() {
        display = Display.getDisplay(this);
        form = new Form("Hello MIDlet");
        form.append(new StringItem("Hello", "MIDlet"));
    }

    protected void startApp() { display.setCurrent(form); }
    protected void pauseApp() {}
    protected void destroyApp(boolean u) {}
}
  1. 上一篇文章:
  2. 下一篇文章:
Copyright © 程式碼之家 All Rights Reserved