Tìm kiếm Blog này

Thứ Năm, 28 tháng 10, 2010

midlet

Sau bài Dùng Eclipse lập trình J2ME, mình xin giới thiệu tiếp làm thế nào đề lập trình J2ME với NetBean (một IDE lập trình Java do Sun phát triển)

Đề lập trình J2ME trên IDE NetBean chúng ta cần bộ NetBeans Mobility Pack và cần lưu ý là version của bộ Mobiliy phải tương ứng với version của NetBean đang sử dụng, cũng cần lưu ý là NetBeans Mobility Pack không thể chạy trên NetBeans IDE 5.5, nếu muốn chúng ta phải sử dụng NetBeans IDE 5.5.1.

Nếu không muốn quá rắc rối chúng ta có thể down bộ NetBeans 6.0.1 đã được tích hợp sẵn phần lập trình J2ME tại địa chỉ sau:

http://download.netb...eans/6.0/final/

Các bạn có thể chọn NetBeans IDE 6.0 Mobility (65Mb) hay Full edition (195 Mb), để nhỏ gọn chúng ta chọn bộ NetBeans IDE 6.0 Mobility, sau này muốn bổ sung thêm các phần khác các bạn có thể vào Tools/Plugin để cập nhật thêm.

Chúng ta cũng cần WTK: Một bộ giả lập máy di động trên máy tính, ở đây mình sẽ dùng Sun Wireless Toolkit (WTK), nó sẽ tạo ra một cái máy di động ảo trong máy tính, và các ứng dụng sẽ chạy trên cái máy ảo đấy (down tạihttp://java.sun.com/.../download.html).

Sau khi đã cài đặt xong 2 phần đó, chúng ta bắt đầu viết ứng dụng J2ME trên NetBean

NetBean hỗ trợ chúng ta tạo ứng dụng MIDP bằng 2 cách là bằng Visual Mobile Designer (VMD) hay bằng Source Code Editor. Có thể hiểu là

· Visual Mobile Designer (VMD): hỗ trợ giao diện kéo thả một cách trực quan để thiết kế ứng dụng

· Source Code Editor: mọi việc đều viết code thủ công.

Mỗi cách đều có các ưu khuyết điểm riêng, trong bài viết này mình xin giới thiệu cả 2 cách tùy các bạn lựa chọn.

Creating a MIDP Application Using the Visual Mobile Designer

Chọn File/New Projects…., trong hộp thoại New Project chọn Mobility trong Categories và MIDP Application trong Projects, sau đó chọn Next

Nhập tên Project trong phần Project Name, thay đổi nơi lưu trữ Project trong Project Location

Click chọn Set as Main Project và Create Hello MIDlet (cả hai đã được chọn mặc định). Chọn Next

Chọn Sun Java Wireless Toolkit 2.5.2 for CLDC trong Emulator Platform (mặc định). Chọn Next.

Mở rộng thư mục “Configuration templates provided by installed CLDC platforms" và"Sun Java Wireless Toolkit 2.52 for CLDC”. Check chọn các configurations. Chọn Finish

Sau khi đã tạo xong Project, chúng ta bắt đầu viết code.

Các bạn chọn Screen View

Các bạn chú ý dòng chữ Hello, World!, giả sử chúng ta muốn hiển thị dòng chữ khác ((VD: “Hello, J2ME”), các bạn click chọn nó. Trong cửa sổ Properties, chọn Text field và nhập text muốn hiển thị (VD: “Hello, J2ME”)

Để chạy thử ứng dụng, các bạn chọn Run / Run Main Project (F6)

Creating a MIDP Application Using Source Editor

Chọn File/New Projects…., trong hộp thoại New Project chọn Mobility trong Categories và MIDP Application trong Projects, sau đó chọn Next

Nhập tên Project trong phần Project Name, thay đổi nơi lưu trữ Project trong Project Location

Click chọn Set as Main Project và bỏ chọn Create Hello MIDlet (được chọn mặc định). Chọn Next.

Chọn Sun Java Wireless Toolkit 2.5.2 for CLDC trong Emulator Platform (mặc định). Chọn Next.

Mở rộng thư mục “Configuration templates provided by installed CLDC platforms" và"Sun Java Wireless Toolkit 2.52 for CLDC”. Check chọn các configurations. Chọn Finish

Right click vào MyHelloMIDlet trong cửa sổ Explorer và chọn New/MIDlet

Nhập HelloMIDlet trong MIDlet name. Chọn Finish.

Double click vào file HelloMIDlet.java trong cửa sổ Explorer để hiển thị source code trong Editor.

Trong cửa sổ soạn thảo thay đổi như đoạn code sau

import javax.microedition.midlet.*;

import javax.microedition.lcdui.*;

public class HelloMIDlet extends MIDlet implements CommandListener{

private Form mMainForm;

private Display display;

private Command cmdExit;

private StringItem str;

public HelloMIDlet() {

display = Display.getDisplay(this);

mMainForm = new Form("Chuong trinh so 2");

str = new StringItem(null,"Chao cac ban,MIDP");

cmdExit = new Command("Exit",Command.EXIT,0);

mMainForm.append(str);

mMainForm.addCommand(cmdExit);

mMainForm.setCommandListener(this);

}

public void startApp() {

display.setCurrent(mMainForm);

}

public void pauseApp() {

}

public void destroyApp(boolean unconditional) {

}

public void commandAction(Command c, Displayable s){

notifyDestroyed();

}

}

Eclipse
Như các bạn đã biết Java bao gồm 3 nền tảng lập trình sau đây

1. J2SE (Java 2 Standart Edition) : nền cơ bản của Java , chứa các lớp chuẩn cơ bản nhất dùng để viết các ứng dụng Java như Applet, truy xuất CSDL, …. Thiết kế chạy trên desktop và những máy tính kiểu trạm làm việc.
2. J2EE (Java 2 Enterprise Edition): cung cấp thư viện và bộ khung cho các ứng dụng quy mô lớn, các ứng dụng phân tán trên Internet,.. đồng thời cung cấp nhiều dịch vụ như JMS, SOAP, JSB, Web Server,…Nhắm vào các ứng dụng trên nền tảng Web server
3. J2ME (Java 2 Micro Edition): phiên bản dành cho các thiết bị cầm tay như PDA, điện thoại, các thiết bị điều khiển, thẻ cá nhân,…

Tạm thời chúng ta không xem xét đến 2 nền tảng J2SE và J2EE mà chỉ chú ý đến nền tảng thứ 3 J2ME. Có thể nói lập trình trên thiết bị di động đang có một sự phát triển chóng mặt cùng với sự phát triển cực kì mạnh mẽ của các thiết bị di động ngày nay và hiện nay ở Việt Nam ta đang còn thiếu một số lượng lớn lập trình viên về lĩnh vực này. Vậy để lập trình J2ME chúng ta cần công cụ gì?

Có thể nói hầu hết các công cụ hỗ trợ lập trình Java đều hỗ trợ chúng ta lập trình J2ME như NetBeans, JCreator, Eclipse, Jbuilder,… Mỗi IDE đều có các đặc tính riêng và hầu hết đều miễn phí trừ Jbuilder, ở phạm vi bài viết này mình xin trình bày cách sử dụng Eclipse do khả năng biên dịch nhanh và không quá nặng như NetBeans mặc dù đây là IDE do hãng SunMicrosoft (cha đẻ của ngôn ngữ Java ) phát triển.

Để lập trình được J2ME bạn cần các công cụ sau:

1. J2SDK (hay còn gọi là jdk) dùng để cung cấp các thư viện cần thiết.
2. Một bộ giả lập máy di động trên máy tính, ở đây tui sẽ dùng Sun Wireless Toolkit (WTK), nó sẽ tạo ra một cái máy di động ảo trong máy tính, và các ứng dụng sẽ chạy trên cái máy ảo đấy.
3. Một IDE tốt để lập trình J2ME. Ở đây mình dùng Elipse.

Các bạn có thể download các thư trên tại:

1. J2SDK (jdk) : http://java.sun.com/...loads/index.jsp
2. WTK: http://java.sun.com/...t/download.html
3. Eclipse: http://www.eclipse.org/downloads/
4. ElipseME: http://www.eclipseme.org/

Sau khi đã down đầy đủ chúng ta tiến hành cài đặt như sau:

Bước 1: Cài đặt J2SDK


Phần này tương đối dễ các bạn tiến hành cài đặt bằng cách chạy file cài đặt và làm theo hướng dẫn

Bước 2: Cài đặt WTK

Sau khi chạy file cài đặt sẽ có thông báo tìm thấy 1 jdk trên máy của bạn do mình cài đạt trước đó, các bạn cứ làm theo hướng dẫn là hoàn thành.

Bước 3: Cài đặt Eclipse và ElipseME

Về phần cài đặt Eclipse các bạn chỉ cần giải nén thư mục vừa down về và chạy file Elipse để thực thi nhưng để lập trình được với J2ME các bạn cần thêm plugin ElipseME, chúng ta tiến hành giải nén ElipseME đã down về vào chép vào thư mục plugin của Elipse là được.

Đến đây về cơ bản chúng ta đã hoàn thành nhưng để sử dụng được chúng ta cần thiết lập thêm một số thông số. Nếu trước đây các bạn đã từng sử dụng các IDE để lập trình Java thì khi biên dịch các IDE (Elipse chẳng hạn) sẽ tự gọi JDK để biên dịch và thông báo kết quả cho chúng ta trên màn hình máy tính nhưng với J2ME do đặc thù là chạy trên thiết bị di động nên chúng ta cần một chiếc di động ảo để chạy thử chương trình (đó chính là WTK) và để cấu hình WTK trong Elipse các bạn làm theo các bước sau:

Khởi động Elipse

Vào Window/Preferences/J2ME, tại phần WTK root các bạn chọn Browse và chỉ đến thư mục WTK trên máy của bạn, chọn Apply

Do WTK hỗ trợ rất nhiều thiết bị di động ảo nên bạn cần chỉ cho Elipse biết sẽ sử dụng các nào để chạy thử chương trình, bạn chọn Device Managent, nếu chưa thấy dòng nào trên lưới bạn chọn Import sẽ bật ra hộp thoại Import Devices, bạn chọn Browse và chỉ đến thư mục WTK trên máy và chọn Refesh để Elipse liệt kê các mobile ảo sau đó bạn chọn Finsih sau khi quá trình liệt kê hoàn tất, trở về phần Device Managemnt bạn chọn bất kì cái mobile ảo nào làm default


Vậy là xong, giờ chúng ta có thể yên tâm dùng Elipse để lập trình J2ME, để test thử các bạn có thể vào File / New / Project để tạo ra một Project mới tiếp theo bạn chọn J2ME Midlet suite, chọn next

Điền tên Project (Hello chẳng hạn), chọn next và finish

Right click vào tên Project mới tạo chọn New/Orthers











Ở hộp thoại New chọn J2ME Midlet, chọn next, điền tên file (test chẳng hạn), sau đó chọn Finish

File vừa tạo sẽ được chứa trong thư mục src trong cấu trúc cây trong phần khung bên trái, các bạn mở file đó ra và nhập đoạn code sau

import javax.microedition.midlet.*;

import javax.microedition.lcdui.*;

public class CHello extends MIDlet implements CommandListener{

private Form mMainFrom;

public CHello() {

// TODO Auto-generated constructor stub

mMainFrom=new Form("Chuong trinh dau tien");

mMainFrom.append(new StringItem(null,"Xin chao cac ban"));

mMainFrom.addCommand(new Command("Exit",Command.EXIT,0));

mMainFrom.setCommandListener(this);

}

protected void destroyApp(boolean arg0) throws MIDletStateChangeException {

// TODO Auto-generated method stub

}

protected void pauseApp() {

// TODO Auto-generated method stub

}

protected void startApp() throws MIDletStateChangeException {

// TODO Auto-generated method stub

Display.getDisplay(this).setCurrent(mMainFrom);

}

public void commandAction(Command c, Displayable s){

notifyDestroyed();

}

}

Để chạy thử các bạn right click vào file đó và chọn Run As / Emulated J2ME Midlet, nếu bạn thấy hình một chiếc di động cùng dòng chữ “Xin chao cac ban” xuất hiện trên màn hình thì chúng ta đã thành công.

Tệp Đính Kèm


0

Không có nhận xét nào: