Võ Phương Bình – ITFAC - DLU
1
J2ME là gì?
Các khái niệm chính của J2ME
› Configurations (CLDC, CDC)
› Profiles (MIDP)
MIDlet, MIDlet Suite
Các lớp API cơ bản
Cài đặt và sử dụng bộ Toolkit
Lập trình J2ME trên Eclipse
Võ Phương Bình – ITFAC - DLU
05/09/21
2
Java gồm có 3 phiên bản.
Mỗi phiên bản cung cấp một mội
trường hoàn chỉnh cho việc chạy các
ứng dụng Java, bao gồm:
› Máy ảo Java (JVM – Java Virtual Machine)
› Các lớp thời gian chạy.
3 phiên bản này nhằm tới các ứng
dụng khác nhau chạy trên các loại
thiết bị khác nhau.
Võ Phương Bình – ITFAC - DLU
05/09/21
3
Java 2 Platform
Java2
Java2
Standard Edition Enterprise Edition
(J2SE™)
(J2EE™)
Standard desktop &
Heavy duty server
workstation applications
systems
Võ Phương Bình – ITFAC - DLU
05/09/21
Java2
Micro Edition
(J2ME™)
Small & memory
constrained devices
4
Mỗi phiên bản định nghĩa tập các thư
viện lớp khác nhau.
Có đến hàng ngàn lớp thời gian chạy
J2SE chính, khoảng 10-20 MB.
J2ME- có số lớp ít hơn.
J2EE
J2SE
J2ME
05/09/21
Võ Phương Bình – ITFAC - DLU
5
J2ME
Profile
› Yêu cầu nền tối
thiểu cho một
nhóm thiết bị.
Profiles
Configuration
J2ME
Libraries
Profile
› Đặc tả cần thiết
cho một họ thiết
bị
Configuration
Java Language
Java Virtual Machine
Host Operating System
05/09/21
Võ Phương Bình – ITFAC - DLU
6
Configurations
Profiles
Optional packages
Võ Phương Bình – ITFAC - DLU
05/09/21
7
Configuration là một môi trường
thời gian chạy Java hoàn chỉnh, bao
gồm:
› Java virtual machine (VM): thực thi Java
bytecode
› Mã tự nhiên để giao tiếp với hệ thống cơ sơ
› Tập các lớp thời gian chạy Java chính.
Để sử dụng một configuration, một
thiết bị phải đạt được các yêu cầu
tối thiểu.
Võ Phương Bình – ITFAC - DLU
05/09/21
8
Configuration
Configuration
CLDC
CLDC
CDC
CDC
Connected Limited Device
Configuration
Connected Device
Configuration
05/09/21
Võ Phương Bình – ITFAC - DLU
9
CLDC
› Tổng bộ nhớ:160 512 KB
› Bộ xử lý:16-bit
hoặc 32-bit
› Tiêu thụ năng
lượng thấp (dùng
pin)
› Kết nối với băng
thông giới hạn
Võ Phương Bình – ITFAC - DLU
CDC
› Tổng bộ nhớ: 2MB
hoặc hơn đối với
nền(flatform) Java
› Bộ xử lý: 32-bit
› Kết nối với băng
thông mạng cao,
thường sử dụng
TCP/IP
05/09/21
10
KVM – máy ảo Java dành cho cấu hình
CLDC
CVM - máy ảo Java dành cho cấu hình
CDC
Võ Phương Bình – ITFAC - DLU
05/09/21
11
CLDC bao gồm các
lớp từ:
› java.lang
› java.io
› java.util
Chỉ bao gồm các
lớp được chọn từ
mỗi package
Võ Phương Bình – ITFAC - DLU
CDC bao gồm 17
package
Bao gồm cả các
lớp trong package
chia se
05/09/21
12
J2SE
CDC
Võ Phương Bình – ITFAC - DLU
05/09/21
CLDC
13
Configurations
Profiles
Optional packages
Võ Phương Bình – ITFAC - DLU
05/09/21
14
Thêm các lớp đặc tả miền cho một
configuration:
› Để lắp đầy các chức năng còn thiếu
› Để hỗ trợ sử dụng đặc tả của một thiết bị
Hầu hết các profiles định nghĩa các
lớp giao diện người dùng cho việc
xây dựng các ứng dụng tích hợp
Để sử dụng profile, thiết bị phải
đáp ứng yêu cầu tối thiểu của
configuration và profile cơ sở.
Võ Phương Bình – ITFAC - DLU
05/09/21
15
Profile
Profile
MIDP
MIDP
Mobile
Informatio
n Device
Profile
05/09/21
PDAP
PDAP
Personal
Digital
Assistant
Profile
FP
FP
Foundatio
n Profile
PP
PP
PBP
PBP
Personal
Basis
Profile
Võ Phương Bình – ITFAC - DLU
Personal
Profile
16
MIDP là profile dành cho các MID Mobile Information Device
Đặc trưng tối thiểu của MID:
› Đủ bộ nhớ để chạy các ứng dụng MIDP
› Độ phân giải tối thiểu 96 X 56 pixels, màu
hoặc trắng đen
› Bộ phím: keypad, keyboard, hoặc touch
screen
› Khả năng mạng không dây 2 chiều
Võ Phương Bình – ITFAC - DLU
05/09/21
17
Có 2 phiên bản MIDP:
MIDP 1.0 – 9/2000: Nhiều thiết bị
trên thì trường hiện tại hỗ trợ
MIDP 2.0 – 11/2003: Nhiều cải
tiến vượt bậc so với MIP 1.0
› Nâng cấp tính năng bảo mật: HTTPS, kết
›
›
›
›
nối tới server
Thêm các API hỗ trợ Multimedia
Mơ rộng các tính năng của Form
Hỗ trợ Game API
Hỗ trợ kiểu ành RGB
Võ Phương Bình – ITFAC - DLU
05/09/21
18
Configurations
Profiles
Optional packages
Võ Phương Bình – ITFAC - DLU
05/09/21
19
Tập các API hỗ trợ thêm
Độc lập với một cấu hình và một
hoặc nhiều profile.
Các optional package:
› RMI
› Bluetooth
› JDBC
Võ Phương Bình – ITFAC - DLU
05/09/21
20
Ứng dụng J2ME là một dạng không rõ
ràng (ambiguous term)
Nên chọn cụ thể Configuration,
profile và các optional package
Các CDC-based profile giúp phát
triển đơn giản hơn J2SE, nhưng không
phù hợp với các low-end device
Các CLDC-based profile khó hơn cho
việc phát triển, đặc biệt là cố gắng
hạn chế kích thước ứng dụng để chạy
trên nhiều thiết thị nho
Võ Phương Bình – ITFAC - DLU
05/09/21
21
Phần quan trọng nhất của J2ME
MIDP không dùng phương thức static
main, cũng không gọi phương thức
System.exit để thoát ứng dụng
Thay vậy, chúng ta sử dụng MIDlet,
một ứng dụng MID Profile
Võ Phương Bình – ITFAC - DLU
05/09/21
22
Mỗi ứng dụng phải kế thừa lớp
javax.microedition.midlet.MIDlet để
cho phép phần mềm quản lý ứng dụng:
› Quản lý MIDlet
› Có thể lấy các đặc trưng từ bộ mô tả ứng
dụng
› Thông bào và yêu cầu các thay đổi trạng
thái
Võ Phương Bình – ITFAC - DLU
05/09/21
23
Lớp kế thừa là lớp chính của ứng
dụng
Lớp MIDlet định nghĩa các phương
thức trừu tượng mà lớp chính thực
thi như: startApp(), destroyApp(),
notifyDestroyed()
Võ Phương Bình – ITFAC - DLU
05/09/21
24
Một hay nhiều MIDlet được đóng gói
vào một MIDlet suite, bao gồm:
› JAR (Java archive) file
› JAD (Java Application Descriptor) file
Tất cả các lớp người dùng định
nghĩa và tài nguyên được cần thiết
cho MIDlet Suite nằm trong file
JAR
Võ Phương Bình – ITFAC - DLU
05/09/21
25