Bạn ghé thăm diễn đàn lần đầu? hãy đăng ký ngay bây giờ để tham gia.
  • Đăng nhập:

Chào mừng bạn đến với ITVNN FORUM - Diễn đàn công nghệ thông tin.

Nếu đây là lần đầu tiên bạn tham gia diễn đàn, xin mời bạn xem phần Hỏi/Ðáp để biết cách dùng diễn đàn. Để có thể tham gia thảo luận bạn phải đăng ký làm thành viên, click vào đây để đăng ký.


  • Partner Area
    • ITVNN HOSTING - Thiết kế website, Cung cấp Domain, Hosting, VPS Việt Nam Anh Hùng - Thông tin truyền thông
kết quả từ 1 tới 5 trên 5
Tăng kích thước phông chữ Giảm kích thước phông chữ
  1. #1
    DaiThanh's Avatar

    Trạng thái
    Offline
    Tham gia ngày
    Sep 2009
    Thành viên thứ
    91
    Tuổi
    32
    Giới tính
    Bài gởi
    98
    Level: 33 [?]
    Experience: 521,012
    Next Level: 555,345
    Cảm ơn 0
    Cảm ơn 8 lần / 4 Bài viết

    Default Lập trình J2ME trên Eclipse  





    I.Giới thiệu Eclipse

    Những ai đã từng lập trình Java trên Eclipse thường chỉ có một nhận xét: hài lòng. Thật vậy, công cụ mã nguồn mở được viết bằng Java của anh cả IBM là một công cụ phát triển phần mềm mạnh mẽ. Eclipse được phát triển theo mô hình nền (platform), tự nó không cung cấp các chức năng cho người dùng cuối mà chỉ cung cấp một kiến trúc mở để các plugin gắn vào nó làm việc đó. Chính vì vậy Eclipse giống như một hệ điều hành để chúng ta cài đặt các công cụ cần thiết cho quá trình phát triển ứng dụng. Nó làm hài lòng giới lập trình viên Java vì có khá nhiều plugin mã nguồn mở phục vụ công việc. Hơn nữa, nếu thích, bạn còn dễ dàng phát triển một plugin phục vụ mục đích của mình.

    II. EclipseME

    EclipseME là một Eclipse plugin dành riêng cho phát triển ứng dụng J2ME được phát triển bởi Craig Setera. EclipseME có đầy đủ các chức năng của một J2ME IDE như: tạo J2ME project, tạo MIDlet, soạn thảo file jad, chạy ứng dụng MIDlet… Điều đặc biệt hơn cả là EclipseME thừa hưởng các tính năng Java IDE tuyệt vời từ Eclipse.

    III. Cài đặt

    1. Download: Xem địa chỉ download miễn phí ở cuối bài viết.
    2. Yêu cầu:
    3. Cài đặt EclipseME:

    Để cài đặt EclipseME, bạn chỉ cần giải nén file zip đến thư mục plugins của Eclipse. Ví dụ, nếu bạn đã cài Eclipse trên C:\eclipse, bạn sẽ cài EclipseME trên C:\eclipse\plugins. Khởi động lại Eclipse nếu nó đang chạy để EclipseME đuợc khởi động.

    4. Cấu hình:



    Text Box: Hình 1 - Cấu hình WTKEclipseME đòi hỏi cần phải cấu hình ít nhất một WTK cho nó. Để cấu hình WTK, bạn hãy thực hiện theo các bước sau đây:
    - Khởi động Eclipse
    - Vào menu Window -> Preferences. Mở rộng mục J2ME, chọn mục Platform Components. Màn hình xuất hiện như trên hình 1.
    - Trong khung bên phải, kích chuột phải vào mục Wireless Toolkits, kích vào Add Wireless Toolkit.
    - Cửa sổ hiện ra yêu cầu bạn chọn thư mục cài đặt WTK. Nhấn nút Browse và chọn thư mục WTK bạn đã cài đặt, ví dụ: C:\WTK1.0
    - Nhấn Finish rồi nhấn OK. Quá trình cài đặt và cấu hình đã hoàn tất.

    IV.Tạo và chạy ứng dụng

    1. Tạo J2ME project
    Để tạo một J2ME project, bạn hãy làm theo các bước sau đây:

    - Vào menu File -> New -> Project

    - Cửa sổ New Project hiện ra. Hãy mở rộng mục J2ME, chọn J2ME MIDlet Suite. Kích Next.

    - Trong cửa sổ kế tiếp, hãy gõ tên project (ví dụ HelloWorld) và chọn thư mục chứa project (ví dụ C:\projects\J2ME). Kích Next.

    - Bước kế tiếp nầy cho phép bạn chọn nền WTK mà bạn đã cấu hình. EclipseME cho phép cấu hình nhiều nền J2ME (WTK1.0, WTK2.1…) nên bạn cần phải chọn một nền J2ME bạn muốn, chẳng hạn: J2ME Wireless Toolkit 1.0.4 Platform. Kích Next.

    - Cuối cùng, bạn có thể thêm các thư viện cần dùng, thêm thư mục chứa source v.v… Cũng có thể để mọi thứ theo mặc định. Kích Finish để kết thúc quá trình tạo J2ME project. Bây giờ bạn đã có một J2ME project hoàn chỉnh trong workspace sẳn sàng để thực hiện mọi cái bạn muốn với J2ME.

    2. Tạo MIDlet
    MIDlet là lớp chính của toàn bộ ứng dụng J2ME. Có thể so sánh nó như một lớp có hàm main của J2SE, một Servlet của J2EE hay một Applet của ứng dụng applet. Để tạo mới một MIDlet, bạn hãy thực hiện theo các bước sau đây:
    - Trong khung Navigator, kích chuột phải trên J2ME project (theo ví dụ ở trên là HelloWorld).
    - Trong popup menu hiện ra, chọn New -> Other.

    - Mở rộng mục J2ME, chọn J2ME Midlet. Kích Next.

    - Nhập tên gói chứa MIDlet trong mục package, ví dụ: edu.eclipseme.helloworld

    - Nhập tên lớp MIDlet trong mục Name, ví dụ: HelloWorldMIDlet.

    - Nhấn nút Finish để kết thúc quá trình tạo MIDlet. Bạn đã có một MIDlet với đầy đủ các phương thức chính (constructor, startApp, pauseApp, destroyApp) trong J2ME project của mình.
    Sau đây là ví dụ về chương trình HelloWorldMIDlet. Chương trình của chúng ta sẽ vẽ một dòng chữ Hello World in đậm màu đỏ ở giữa màn hình điện thoại. Trước khi in dòng chữ, chương trình hiển thị một màn hình intro trong 30 giây với một hình ảnh dạng png làm logo. Bạn có thể chọn bất kỳ hình nào bạn muốn. Ở đây, chúng tôi chọn logo của JavaVietnam.org.

    a)HelloCanvas.java: Lớp vẽ dòng chữ Hello World

    package edu.eclipseme.helloworld;

    import javax.microedition.lcdui.Canvas;

    import javax.microedition.lcdui.Font;

    import javax.microedition.lcdui.Graphics;
    /**

    * Canvas vẽ chuỗi HelloWorld

    */
    public class HelloCanvas extends Canvas{

    /**
    * Bạn hãy vẽ những gì bạn muốn ở đây
    */

    protected void paint(Graphics g) {
    clearScreen(g);
    paintHello(g);
    }

    //Xoá màn hình (bôi màu trắng).
    private void clearScreen(Graphics g){
    g.setColor(0xFFFFFF);
    g.fillRect(0, 0, getWidth(), getHeight());
    }



    //Vẽ chuỗi Hello World

    private void paintHello(Graphics g){
    //Chuỗi cần vẽ
    String hello = "Hello World";
    //Màu cần vẽ (đỏ)
    g.setColor(0xFF0000);
    //Font cần vẽ
    Font font = Font.getFont(Font.FACE_SYSTEM, Font.STYLE_BOLD, Font.SIZE_MEDIUM);
    g.setFont(font);

    //Vị trí vẽ (giữa màn hình)

    int x = (getWidth() - font.stringWidth(hello)) / 2;
    int y = (getHeight() - font.getHeight()) / 2;

    //Vẽ chuỗi
    g.drawString(hello, x, y, Graphics.TOP | Graphics.LEFT);
    }

    }

    b) IntroCanvas.java: Lớp hiển thị màn hình intro.
    package edu.eclipseme.helloworld;
    import java.io.IOException;
    import java.util.Timer;
    import java.util.TimerTask;
    import javax.microedition.lcdui.Canvas;
    import javax.microedition.lcdui.Display;
    import javax.microedition.lcdui.Displayable;
    import javax.microedition.lcdui.Graphics;
    import javax.microedition.lcdui.Image;
    /**
    * Hiển thị màn hình intro
    */

    public class IntroCanvas extends Canvas{
    //Bạn có thể thay bằng logo bạn thích.
    private static final String logoName = "javavietnam_logo.png";
    private Display display;
    private Displayable nextScreen;
    private int timeout;
    private Timer timer = new Timer();

    public IntroCanvas(Display display, Displayable nextScreen, int timeout){
    this.display = display;
    this.nextScreen = nextScreen;
    this.timeout = timeout;
    }



    /**
    * Bắt đầu màn hình intro.
    */
    public void startIntro(){
    display.setCurrent(this);
    }



    /**
    * Kết thúc màn hình intro
    */
    public void endIntro(){
    display.setCurrent(nextScreen);
    }



    protected void paint(Graphics g) {
    try {
    Image logo = Image.createImage(logoName);
    g.drawImage(logo, 0, 0, Graphics.TOP | Graphics.LEFT);
    }

    catch (IOException e) {
    g.drawString(“Logo Error”, 0, 0, Graphics.TOP | Graphics.LEFT);
    }

    }



    /**
    * Thiết lập bộ đếm thời gian.
    */

    protected void showNotify() {
    timer.schedule(new CountDown(), timeout);
    }



    /**
    * Kết thúc intro nếu bất kỳ phím nào được nhấn.
    */

    protected void keyPressed(int keyCode) {
    endIntro();
    }



    /**
    * Kết thúc intro nếu hết thời gian.
    */

    private class CountDown extends TimerTask {
    public void run() {
    endIntro();
    }

    }

    }

    c) HelloWorldMIDlet.java: Lớp chính
    package edu.eclipseme.helloworld;
    import javax.microedition.lcdui.Canvas;
    import javax.microedition.lcdui.Display;
    import javax.microedition.midlet.MIDlet;
    import javax.microedition.midlet.MIDletStateChangeExcepti on;



    /**
    * Day la lop chinh cua ung dung thua ke tu lop MIDlet.
    */

    public class HelloWorldMIDlet extends MIDlet {
    private Display display;
    private IntroCanvas introCanvas;
    private HelloCanvas helloCanvas;

    /**
    * Phuong thuc thiet lap.
    */

    public HelloWorldMIDlet() {
    super();
    }



    /**
    * Phuong thuc nay thuc nay se duoc goi boi KVM khi nguoi
    * dung nhan phim Launch tren dien thoai di dong.
    * @see javax.microedition.midlet.MIDlet#startApp()
    */
    protected void startApp() throws MIDletStateChangeException {
    display = Display.getDisplay(this);
    helloCanvas = new HelloCanvas();
    introCanvas = new IntroCanvas (display, helloCanvas, 30000);
    introCanvas.startIntro();
    }



    protected void pauseApp() {

    }



    protected void destroyApp(boolean arg0) throws MIDletStateChangeException {

    }

    }

    3. Đóng gói
    Để ứng dụng J2ME chạy được trên thiết bị thật, bạn cần phải đóng gói toàn bộ ứng dụng vào file jar và file jad.
    Nếu bạn phát triển ứng dụng của mình trên chế độ command line thì đây quả là một công việc nhiều rắc rối. Với EclipseME, việc đóng gói trở nên rất dễ dàng. Bạn hãy thực hiện theo các bước sau đây:
    - Kích chuột phải trên J2ME project của bạn.
    - Trên menu hiện ra, chọn J2ME -> Create Package.
    Hãy mở rộng mục deployed, bạn đã có file .jad và .jar cho ứng dụng của mình.

    4. Chạy ứng dụng
    Chạy một ứng dụng J2ME cũng đơn giản như việc chạy một ứng dụng Java khác trong Eclipse. Sau đây là các bước để chạy một ứng dụng J2ME:

    - Vào menu Run -> Run

    - Trong khung bên trái, chọn Wireless Toolkit Emulator

    - Nhấn nút New.

    - Bạn có thể chọn thêm các tuỳ chọn khác. Trong khung Excutable, chọn Midlet và nhấn nút Search để EclipseME tự tìm lớp MIDlet cho bạn. Nếu bạn chọn Over the Air, EclipseME sẽ thực thi file jad.


    Text Box: Hình 2 - màn hình intro

    Mọi ngườii có thể download EclipseME ở đây www.eclipseme.org
    V. KẾT LUẬN


    Trên đây chúng tôi đã giới thiệu các chức năng chính của EclipseME. Nếu bạn đã từng lập trình trên Eclipse, thì bạn chỉ cần biết chức năng và địa chỉ download của EclipseME là đủ. Ngược lại, nếu bạn chưa bao giờ dùng đến Eclipse, đây sẽ là một dịp để bạn làm quen với nó. Và chỉ cần một lần làm quen thôi, chúng tôi tin tưởng rằng bạn sẽ khó rời xa nó :-).

    Nguồn tin:
    Code: 
    Javavietnam.org
    thay đổi nội dung bởi: DaiThanh; 18-09-2009 lúc 04:19 PM

  2. #2
    lenamduytuan's Avatar

    Trạng thái
    Offline
    Tham gia ngày
    Mar 2010
    Thành viên thứ
    12610
    Giới tính
    Bài gởi
    1
    Level: 14 [?]
    Experience: 5,128
    Next Level: 5,517
    Cảm ơn 0
    Cảm ơn 0 lần / 0 Bài viết

    Default

    download EclipseME tại http://sourceforge.net/projects/ecli...e.zip/download và xem hướng dẫn cài đặt tại đây
    thay đổi nội dung bởi: lenamduytuan; 15-03-2010 lúc 06:42 PM

  3. #3
    duc3d.hus's Avatar

    Trạng thái
    Offline
    Tham gia ngày
    Oct 2011
    Thành viên thứ
    50919
    Tuổi
    33
    Giới tính
    Bài gởi
    1
    Level: 14 [?]
    Experience: 4,555
    Next Level: 5,517
    Cảm ơn 0
    Cảm ơn 0 lần / 0 Bài viết

    Default

    anhso-011836_Untitled.jpg

    Có ai giúp mình xem đây là lỗi gì ko với, mình dùng netbean thì ok, nhưng dùng wireless Toolkit thì lại lỗi thế này,giúp mình với, thanks

  4. #4
    myonline84's Avatar

    Trạng thái
    Offline
    Tham gia ngày
    Nov 2015
    Thành viên thứ
    98912
    Giới tính
    Bài gởi
    10
    Level: 21 [?]
    Experience: 30,431
    Next Level: 38,246
    Cảm ơn 0
    Cảm ơn 0 lần / 0 Bài viết

    Default

    Theo mình, các bạn nên chuyển sang lập trình Android vì J2ME đã là dĩ vãng rồi

  5. #5
    captain0909's Avatar

    Trạng thái
    Offline
    Tham gia ngày
    Dec 2017
    Thành viên thứ
    116012
    Giới tính
    Bài gởi
    44
    Level: 26 [?]
    Experience: 100,610
    Next Level: 125,609
    Cảm ơn 0
    Cảm ơn 2 lần / 2 Bài viết

    Default

    Cảm ơn bạn, rất bổ ích cho newbie như mình nhé


 

Thread Information

Users Browsing this Thread

There are currently 1 users browsing this thread. (0 members and 1 guests)

Similar Threads

  1. Download game phiêu lưu - RWBY Grimm Eclipse
    By whitelion in forum Game offline
    Trả lời: 0
    Bài mới gởi: 14-07-2016, 09:22 AM
  2. Các công cụ lập trình cho J2ME
    By DaiThanh in forum Java
    Trả lời: 4
    Bài mới gởi: 17-04-2010, 08:53 PM
  3. Trả lời: 0
    Bài mới gởi: 18-09-2009, 04:07 PM

Tags for this Thread

Bookmarks

Quuyền Hạn Của Bạn

  • Bạn không thể tạo chủ đề mới
  • Bạn không thể trả lời bài viết
  • Bạn không thể gửi file đính kèm
  • Bạn không thể chỉnh sửa bài viết
  •