FPT-Aptech  »  Kiến thức  »  Lập trình

Đi dạo cùng J2ME - Phần 1

Cập nhật: 28/9/2008 09:23 PM với 1 comment(s)
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

----------to be continued----------

Xếp trong: , ,
1 comment(s) Add comment Send Print this

Websites tagged "midp" on Postsaver:

Phản hồi từ  Websites tagged "midp" on Postsaver

Bài gần đây

Tầng 3, 51 Lê Đại Hành (Gần Đại học Bách Khoa Hà Nội)
quận Hai Bà Trưng, Hà Nội
Tel: +84 (4) 3.974.7480
Tầng 4, Cung văn hóa Hữu Nghị, 1A Yết Kiêu, Hà nội
Tel: +84 (4) 3.822.4880 Fax: +84 (4) 3.557.5593
Tầng 2, nhà D, Làng Sinh viên Hacinco, Thanh Xuân, Hà nội
Tel: +84 (4) 3.557.5595 Fax: +84 (4) 3.557.5593
Copyright © 2007-2008 FPT - Aptech Computer Education . Powered by Commnity ServerGiới thiệu  |  Liên hệ ( Xem tốt nhất với IE 7.0 & FF 2.0 ở 1024x768 pixels )