Giới thiệu:
Bài này nhằm mục tiêu cung cấp hướng dẫn, giới thiệu về cách thức để phát triển một trò chơi đơn giãn trong J2ME. Trước khi đọc bài này, tôi khuyên bạn nên tìm hiểu sơ lược về platform J2ME. Đây là một trong 3 platform của Java được sử dụng để phát triển các ứng dụng trên các thiết bị nhúng, mobile…Bây giờ, hãy cùng tìm hiểu phần 1.

Phần một:

Ngõ vào ứng dụng(entry point):
Trong tất cả các ứng dụng trên J2ME, để chạy ứng dụng chúng ta phải extends từ lớp ảo(abstract) MIDlet trong gói javax.microedition.midlet, tương tự như tạo một applet phải extend từ lớp java.applet.Applet. Và entry point của nó là phương thức startApp(), tương tự như phương thức main() trong J2SE.
Ví dụ: Ta có một lớp MyMidlet.
public class MyMidlet extends MIDlet{
// invoked when the application starts and each time is resumed
protected void startApp() throws MIDletStateChangeException {}
// invoked when the MIDlet needs to be destroyed
protected void destroyApp(boolean uncondicional) throws MIDletStateChangeException {}
// invoked when the MIDlet needs to be paused. (Some phones ignore pauseApp().)
protected void pauseApp() {}
}
Nếu bạn tạo project và chạy file này thì nó chỉ hiển thị màn hình blank.
Tiếp theo, để trình bày nội dung trong ứng dụng, bạn cần sử dụng lớp Display. Lớp Display điều khiển tất cả những gì xảy trong màn hình của MIDlet, mỗi MIDlet có một đối tượng Display và truy cập nó thông qua việc sử dụng phương thức tĩnh getDisplay().
Để biểu diễn một đối tượng nào đó trên màn hình, bạn cần phải sử dụng phương thức setCurrent() của lớp Displayable.
Ví dụ: ta có một lớp Alert, lớp này kế thừa từ lớp Displayable, trong ví dụ này sử dụng Alert để hiển thị một câu thông báo đơn giãn lên màn hình.

Alert alert;
//entry point for the application
protected void startApp() throws MIDletStateChangeException {
  // creates alert
 alert = new Alert("Hello World");
  // shows alert in the screen.
  Display.getDisplay(this).setCurrent(alert);
}

Nếu chạy chương trình, bạn sẽ thấy nó hiển thị ra một thông điệp như sau:
Tiếp theo, để thêm các command cho ứng dụng, như commad exit, bạn xử lý như sau:

Command comExit;
[...]
protected void startApp() throws MIDletStateChangeException {
[...]
  // create command
  comExit = new Command("Exit", Command.EXIT, 1);
  // add a command to exit the Midlet
  alert.addCommand(comExit);
  [...]
}

Đoạn code trên show cho bạn command exit lên màn hình, nhưng khi bạn click vào, nó không làm gì cả bởi bạn cần thêm CommandListener vào Alert để đăng ký một listener.

public class MyMidlet extends MIDlet implements CommandListener{ public void startApp(){ […] // adds a listener to the alert alert.setCommandListener(this); } public void commandAction(Command cmd, Displayable display) { // check what command was selected if (cmd == comExit) { notifyDestroyed(); } } }

Với thay đổi này, chúng ta có một MIDlet hoàn chỉnh. Ở phần tiếp theo, chúng ta sẽ có một cái nhìn chi tiết hơn về các phần tử giao diện người dùng như: Alert, Display, và CommandListener.
Code

Các bài liên quan:
Phát triển game đơn giãn trên Mobile(P2)
Phát triển game đơn giãn trên Mobile(P3)
Phát triển game đơn giãn trên Mobile(P4)
Phát triển game đơn giãn trên Mobile(P5)
Phát triển game đơn giãn trên Mobile(P6)
Phát triển game đơn giãn trên Mobile(P7)