Bạn Đang Đọc Gì Đó Zạ???
Dân Công Nghệ, Đọc Miễn Phí

J2ME là gì?

J2ME là gì? J2ME là viết tắt của Java 2 Micro Edition. J2ME được thiết kết cho các thiết bị nhỏ ví dụ như mobile phone, các thiết bị điều khiển từ xa, các thiết bị khác như PDA, v.v… Có rất nhiều khác biệt giữa J2ME và các phiên bản khác của Java triển…

J2ME là gì?

J2ME là viết tắt của Java 2 Micro Edition. J2ME được thiết kết cho các thiết bị nhỏ ví dụ như mobile phone, các thiết bị điều khiển từ xa, các thiết bị khác như PDA, v.v…

Có rất nhiều khác biệt giữa J2ME và các phiên bản khác của Java triển khai trên nền PC, mà lí do chính là các thiết bị mục tiêu của J2ME có rất nhiều sự khác biệt so với PC.

Một vài điểm khác biệt giữa các “thiết bị J2ME” so với PC là:

    • Hạn chế về tốc độ của bộ vi xử lý
    • Hạn chế về bộ nhớ hệ thống
    • Hạn chế về khả năng lưu trữ
    • Màn hình hiển thị nhỏ
    • Hạn chế về nguồn năng lượng
    • Khả năng kết nối Internet yếu.

J2ME đã được thiết kế với tất cả những cân nhắc đối với các yếu tố kể trên. Các thiết bị được thiết kế tương thích với J2ME đều bao gồm một phiên bản mini của Java Virtual Machine (JVM) được tích hợp sẵn trong đó, phiên bản này còn có tên gọi là KVM, rất nhỏ gọn và phù hợp với các thiết bị nhỏ. KVM cho phép thực thi các chương trình Java viết trên nền J2ME, những chương trình này còn được gọi là các MIDlet. Các midlet không gì khác là một chương trình viết bằng Java (tuy có đôi chút khác biệt) khai thác các Java API mà J2ME cung cấp, chúng tạo ra sức mạnh mới cho các thiết bị.

Các ứng dụng J2ME có thể làm được nhiều điều hơn những gì chúng ta tưởng, một vài trong số chúng có thể được liệt kê ra đây:

    • Tạo các kết nối UDP (User Datagram Protocol- một giao thức của bộ giao thức TCP/IP) tới các server hoặc giữa 2 thiết bị.
    • Tạo các kết nối HTTP tới các HTTP sever từ đó tạo nên các ứng dụng phong phú.
    • Tạo các kết nối kiểu Socket
    • Quét mã vạch.
    • Lập trình kết nối Bluetooth
    • …. và còn rất nhiều khả năng khác của J2ME phụ thuộc vào trí tưởng tượng của bạn.

Về kiến trúc, J2ME có thể được chia làm 3 tầng như sau:

Ở đây ta không đi quá sâu vào phân tích ý nghĩa và đặc điểm chi tiết các tầng để tránh sự phức tạp cho bài viết. Các bạn có thể tham khảo thêm trong nhiều tài liệu về J2ME. Dưới đây là một vài nét mô tả sơ lược:

  • Tầng dưới cùng là Configuration (Cấu hình) bao gồm một JVM (một phiên bản thu nhỏ của JVM hay còn gọi là KVM) và một số các class cơ bản. Hiện tại Sun đưa ra 2 cấu hình là CLDC (Connected Limited Device Configuration-Cấu hình thiết bị kết nối giới hạn) và CDC (Connected Device Configuration- Cấu hình thiêt bị kết nối). Bảng dưới đây cho ta thấy sự khác biệt giữa 2 loại cấu hình:
     

    CLCD

    CDC

    Ram 32 KB – 512 KB 256 KB trở lên
    Rom 128 KB – 512 KB 512 KB trở lên
    Nguồn năng lượng Có giới hạn Không giới hạn
    Network Chậm Nhanh
  • Tầng cao hơn là Profile bao gồm các thư viện lập trình cơ bản dùng để phát triển các ứng dụng tương ứng với từng dòng thiết bị. Có 3 profile phổ biến là MIDP (Mobile Information Device Profile ), PDA profile, và Foundation profile. Mỗi profile đó có chứa một tập hợp các API khác nhau do vậy ứng dụng phát triển trên profile nào chỉ chạy được trên các thiết bị hỗ trợ profile đó.
  • Tầng trên cùng là Optional Packages (JSR – Java Specification Request) bao gồm các gói thư viện lập trình bổ xung, khi triển khai ứng dụng các gói này cũng phải được phân phối theo ứng dụng của bạn (phần lớn đây là các gói thư viện mà các nhà cung cấp thiết bị di động tích hợp trong sản phẩm của họ để phát triển các tính năng bổ xung như xử lý âm thanh, đồ họa 3D …).

Cả hai tầng Configuration và Profile được cung cấp bởi các nhà sản xuất thiết bị và được nhúng trực tiếp vào các thiết bị. Trong bài viết này chúng ta sẽ chỉ tập trung vào configuration và profile thông dụng nhất được biết đến nhiều là CLDC và MIDP với các phiên bản là CLDC 1.1 và MIDP 2.0.

Tuy nhiên đối với lập trình viên thì thường quan tâm đến các thư viện mà J2ME cung cấp. Bảng sau đây cho các bạn cái nhìn tổng quan về các gói thư viện lập trình của CLDC và MIDP:

  Java API packages Mô tả
General APIs:

 

java.lang Chứa các class Java cơ bản
java.io Quản lý việc xuất/nhập của hệ thống
java.util Chứa các lớp hỗ trợ việc tính thời gian và thao tác với tập hợp
javax.microedition Quản lý kết nối hệ thống
+ MIDP 1.0 javax.microedition.io Hỗ trợ HTTP
javax.microedition.lcdui Hỗ trợ xử lý giao diện người dùng
javax.microedition.rms Quản lý lưu trữ dữ liệu
javax.microedition.midlet Chứa các base class của ứng dụng Java ME
+ MIDP 2.0 javax.microedition.media Xử lý âm thanh (là một phần của gói JSR 135 Java Mobile Media API)
javax.microedition.lcdui.game Hỗ trợ lập trình game
javax.microedition.pki Hỗ trợ bảo mật
+ Optional packages (JSR) javax.microedition.messaging Xử lý việc gửi và nhận tin nhắn MMS, SMS
javax.microedition.pim Truy cập vào danh bạ điện thoại
javax.microedition.io.file Tương tác với các file trong bộ nhớ lưu trữ (ổ cứng, thẻ nhớ v.v…).
 

2- Cần những công cụ nào để lập trình với J2ME?

Để có thể lập trình các ứng dụng trên nền J2ME (hay còn gọi là các MIDlets) bạn cần cài tối thiểu các công cụ sau đây:

  • JDK version 1.4.2 trở lên
  • J2ME Wireless toolkit : gói phần mềm này cung cấp cho bạn một trình giả lập các thiết bị di động (kèm theo các API tương ứng), và công cụ biên dịch, debug, v.v… nhưng không kèm theo trình hỗ trợ viết code. (các hãng sản xuất thiết bị di động thường cung cấp một công cụ riêng tương tự tuy nhiên trong bài viết này ta sử dụng công cụ của SUN)
  • Một ứng dụng hỗ trợ viết code: ví dụ JCreator, Eclipse, Netbeans v.v… Với JCreator bạn phải cấu hình bằng tay, với Eclipse bạn phải cài thêm EclipseME plugin, với Netbeans version 6.0 bạn chỉ cần chọn gói Mobility là đã đầy đủ, không cần cài thêm J2ME wireless toolkit.

Trong bài viết này chúng ta sử dụng công cụ Netbeans version 6.0, tất nhiên để bắt đầu một cách đơn giản bạn cũng có thể dùng Notepad kết hợp với Sun wireless toolkit để biên dịch và chạy chương trình.

Trước khi bắt tay vào viết một ứng dụng cụ thể ta hãy dành một chút thời gian tìm hiểu cấu trúc thư mục của bộ J2ME wireless toolkit. Sau khi cài đặt, mặc định trong môi trương Windows thì thư mục của wireless toolkit là C:\WTK[version]. Bảng sau liệt kê các thư mục và chức năng tương ứng:

Folder Mô tả
appdb Thư mục này được trình giả lập truy xuất như là hệ thống file sytem của các thiết bị di động
apps Chứa các Midlets mẫu hoặc các Midlets do toolkit tạo ra.
bin Chứa toàn bộ các công cụ của bộ toolkit
docs Chứa các tài liệu mô tả các API cho MIDP 1.0 và MIDP 2.0
lib Chứa các thư viện (các file .jar) của MIDP và CLDC và các gói thư viện tùy chọn
sessions Lưu network và profiling session
wtkbin Chứa các thư viện riêng của bộ toolkit và các thư mục cấu hình cho các thiết bị giả lập

Thảo luận

Chưa có phản hồi.

Gửi phản hồi

Mời bạn điền thông tin vào ô dưới đây hoặc kích vào một biểu tượng để đăng nhập:

WordPress.com Logo

Bạn đang bình luận bằng tài khoản WordPress.com Log Out / Thay đổi )

Twitter picture

Bạn đang bình luận bằng tài khoản Twitter Log Out / Thay đổi )

Facebook photo

Bạn đang bình luận bằng tài khoản Facebook Log Out / Thay đổi )

Google+ photo

Bạn đang bình luận bằng tài khoản Google+ Log Out / Thay đổi )

Connecting to %s

%d bloggers like this: