Số 33
HỒ LÔ BIẾN

Lập trình Java trên điện thoại di động:

Làm quen với Java MIDP
HOÀNG NGỌC GIAO

Ngày nay dù có "tìm đỏ con mắt" bạn cũng khó mà thấy được ứng dụng Java nào trên máy tính để bàn. Tuy nhiên, ứng dụng Java tràn ngập trên các thiết bị cầm tay (bao gồm điện thoại di động). Với bản chất trung tính, Java thường không tận dụng được những thế mạnh đặc thù của từng "mô-đen" nhưng lại tỏ ra đặc biệt hữu ích cho các ứng dụng "đại trà" cần chạy được trên nhiều loại máy khác nhau. Nếu dự định tham gia "cuộc chơi" lập trình Java trên điện thoại di động, bạn có thể yên tâm rằng mình chẳng mất chi cả (có "một lô một lốc" công cụ miễn phí để phát triển ứng dụng) mà lại có nhiều dịp để thi thố ý tưởng cùng thiên hạ.

Nền tảng Java nhỏ gọn dùng cho thiết bị cầm tay được gọi là J2ME (Java 2 Micro Edition). Tuy nhiên, J2ME cũng có "năm bảy đường". Với điện thoại di động, J2ME chủ yếu gồm 2 cấp: cấp dưới gọi là CLDC (Connected Limited Device Configuration), cấp trên gọi là MIDP (Mobile Information Device Profile). Nếu mới nghe lần đầu, những tên gọi như vậy dường như... vô nghĩa đối với bạn, có "diễn nôm" cũng chẳng ích gì. Ta chỉ có thể hiểu chúng thực sự sau khi "sờ mó" ít nhiều. Người lập trình ứng dụng Java trên điện thoại di động chẳng mấy khi thích "lê la" trên cấp thấp CLDC mà thường khoái "lăn lộn" ở cấp cao MIDP có đầy đủ tiện nghi. Khi nghe nói "lập trình trên Java MIDP", bạn hiểu rằng người ta muốn nói đến chuyện viết ứng dụng Java cho các loại điện thoại di động (cả máy nhắn tin hai chiều nữa).

Ứng dụng Java MIDP được gọi bằng cái tên rất "dễ xương" là MIDlet. Nói cho rõ, ứng dụng của bạn có thể bao gồm vài ba MIDlet, chứ không chỉ có một.

Bắt đầu từ đâu?

Trong buổi đầu làm quen, bạn có thể dùng hai công cụ thô sơ:
- Java 2 SDK, Standard Edition, v.1.4.1
- J2ME Wireless Toolkit 2.0

Khi đã "nóng máy", bạn sẽ cần đến những công cụ tinh vi hơn, chẳng hạn như:
- Nokia Developer's Suite for J2ME™, v.2.0
- JBuilder 9
- Sun ONE Studio 4 Mobile Edition

Bạn cần cài đặt trước Java 2 SDK rồi mới tính đến J2ME Wireless Toolkit (bản thân công cụ này được viết bằng Java). Khi bạn cài đặt J2ME Wireless Toolkit, "nó" tự động nhận biết sự hiện diện của Java 2 SDK để sau này còn "nhờ vả" mỗi khi biên dịch các MIDlet. Cài đặt xong xuôi, bạn nên thử tạo ra ngay một ứng dụng đầu tay của mình để lấy cảm hứng.

MIDlet đầu tay của bạn

Bạn chọn Start > Programs > J2ME Wireless Toolkit 2.0 > KToolbar. Khi cửa sổ KToolbar xuất hiện, bạn bấm nút New Project.

Theo truyền thống, ứng dụng "vỡ lòng" bao giờ cũng là "Hello World" nhằm hiển thị một lời chào (từa tựa việc học ngoại ngữ luôn bắt đầu bằng chào hỏi). Sau lần bật ra "tiếng nói" đầu tiên, bạn sẽ tự nhiên thấy có nhiều "chiện" cần "xía vô".

Trên hộp thoại New Project, bạn gõ Hello ở ô Project Name để đặt tên cho đề án mới, gõ HelloWorldMIDlet để đặt tên cho lớp chủ chốt (lớp này bắt buộc phải dẫn xuất từ lớp MIDlet có sẵn) rồi bấm vào Create Project. Bạn thấy hiện ra một hộp thoại khác trình bày một loại quy định chi tiết liên quan đến đề án mới Hello.

[Đầu trang]

Chân ướt chân ráo đến với MIDlet, ta chẳng cần "xét nét" chi cho mệt, bạn cứ bấm OK để "chơi luôn". Thế là KToolbar "hùng hục" chạy để chuẩn bị mọi thứ cần thiết cho một MIDlet mới.

Bạn hãy dùng công cụ soạn thảo (như NotePad hoặc công cụ soạn thảo nào đó mà bạn ưa dùng mỗi khi lập trình) để tạo ra tập tin mã nguồn HelloWorldMIDlet.java có nội dung như sau và lưu ở thư mục C:\WTK20\apps\Hello\src:

// HelloWorldMIDlet.java
import javax.microedition.midlet.*;
import javax.microedition.lcdui.*;

public class HelloWorldMIDlet extends MIDlet {

public HelloWorldMIDlet() {}

public void startApp() {
Displayable current = Display.getDisplay(this).getCurrent();
if(current == null) {
HelloScreen helloScreen = new HelloScreen(this, "Xin ch\u00e0o b\u00e0 con c\u00f4 b\u00e1c!");
Display.getDisplay(this).setCurrent(helloScreen);
}

}

public void pauseApp() {}

public void destroyApp(boolean b) {}

void exitRequested() {
destroyApp(false);
notifyDestroyed();
}
}

class HelloScreen extends TextBox implements CommandListener {
private final HelloWorldMIDlet midlet;
private final Command exitCommand;

HelloScreen(HelloWorldMIDlet midlet, String string) {
super("HelloWorldMIDlet", string, 256, 0);
this.midlet = midlet;
exitCommand = new Command("Exit", Command.EXIT, 1);
addCommand(exitCommand);
setCommandListener(this);
}

public void commandAction(Command c, Displayable d) {
if(c == exitCommand) {
midlet.exitRequested();
}
}
}

Tốt nhất là bạn sao chép đoạn mã trên và dán vào công cụ soạn thảo của mình. Bạn chú ý, Java phân biệt ký tự hoa với ký tự thường nên bạn cần đặt tên tập tin mã nguồn một cách chính xác là HelloWorldMIDlet.java, đừng khác tí tẹo nào nhé.

Xong xuôi đâu đó, bạn bấm vào nút Build của KToolbar để biên dịch. Nếu biên dịch suôn sẻ, bạn bấm nút Run để chạy thử. KToolbar sẽ mô phỏng điện thoại di động, giúp bạn hình dung MIDlet của mình trông "đẹp giai" ra sao trên thực tế. Bạn thấy đó, ta có thể chào hỏi bằng tiếng Việt "đàng hoàng" (không... lơ lớ) nhờ dùng mã Unicode.

Chiếc "điện thoại di động" chạy MIDlet đầu tay của bạn chỉ là một kiểu mẫu chung chung. Muốn thử nghiệm trên các "mô-đen" cụ thể của hãng Nokia chẳng hạn, bạn vào địa chỉ www.forum.nokia.com để tải về các bộ mô phỏng (emulator) tương ứng. Các bộ mô phỏng của Nokia sẽ được đặt vào thư mục C:\WTK20\wtklib\devices. Kể từ đó, bạn dễ dàng chọn từng kiểu mẫu điện thoại cụ thể của Nokia trên ô liệt kê Device của KToolbar. Bạn thích không?

[Đầu trang]
Trang chủ
Thư ngỏ
Nội lực "Peter Pan"
Cầu nối Intel Việt Nam
Chuyện trong tuần
Nhóm Frontpage
Cõi người ta
Kim cương doanh nghiệp
Bình luận thị trường
Cõi Mô-bai
Chuyên đề
Bổ ngửa
Nuôi hồn Robot
Túi càn khôn IT
Hồ lô biến
Cảm về Game
Nhật ký e-CHÍP
Bản quyền VASC Orient, Công ty phát triển phần mềm VASC
99 Triệu Việt Vương HN; Tel: (04) 9782235 • email: echip@vasc.com.vn