Tải bản đầy đủ (.pdf) (156 trang)

LẬP TRÌNH ỨNG DỤNG MOBILE BẰNG JAVA

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.6 MB, 156 trang )

B GIÁO D C & ÀO T O
TR
NG
I H C M TP.HCM
KHOA CƠNG NGH THƠNG TIN

KHĨA LU N T T NGHI P

tài:

L P TRÌNH

NG D NG MOBILE B NG
JAVA

GVHD : Ti n s . NGUY N V N HI P
SVTH : NGUY N CƠNG HÙNG
MSSV : 106H1031

TP.H

CHÍ MINH – N M 2009


L i C m n!
Lu n án đã đ c th c hi n trong m t th i gian dài, và đây là thành ph m l n nh t mà
tôi th c hi n đ c trong quá trình h c t p t i tr ng. Ngồi s c g ng, n l c c a b n
thân, còn nh n s giúp đ c a nhi u ng i đ tơi có th hồn thi n đ c lu n án nh ngày
nay.
u tiên, con xin vơ cùng bi t n Ba M , đã có cơng sinh thành, d
u và ch m sóc đ cho con có đ c ngày hơm nay.



ng d c, th

ng

Tơi xin c m n các th y cô Khoa Công ngh thông tin và các th y cô tr ng i H c
M TP.HCM đã truy n đ t nh ng ki n th c, kinh nghi m quý báu trong quá trình h c t p
và nghiên c u.
Em xin chân thành c m n ti n s .Nguy n V n Hi p, gi ng viên Khoa Công ngh
thông tin – tr ng i H c Bách Khoa Tp.HCM đã t n tình h ng d n, đ nh h ng, góp
ý trong q trình th c hi n lu n v n.
Tôi xin c m n t p th nhóm l p trình ph n m m công ty Tin h c Th o Ch
đi u ki n cho tơi trong q trình th c hi n luân v n này.

ng đã t o

Tôi xin c m n các b n đã đ ng viên cho tôi trong quá trình th c hi n lu n v n.
M c dù, tơi đã n l c đ hồn thành bài báo cáo này và đã đ t m t s k t qu nh t
đ nh, tuy nhiên nh ng sai sót trong báo cáo khơng tránh kh i, kính mong s thơng c m và
đóng g p ý ki n c a quý th y cô và các b n.
Xin chân thành c m n!
Tp. HCM, ngày 07, tháng 01, n m 2009.
Ng i th c hi n: Nguy n Công Hùng.
Mã s sinh viên: 106H1031.
L p h c: HCTH062C.

Xin
C m
n!



Lu n v n t t nghi p

CH

NG 1:

1.1.
1.2.
1.3.

CH

TÀI. ...................................... 4

t v n đ ..................................................................................................4
M c tiêu đ t ra cho đ tài ............................................................................5
N i dung....................................................................................................6

NG 2:

2.1.

M C TIÊU VÀ N I DUNG

T NG QUAN V J2ME ......................................................... 7

CÁC THÀNH PH N C A J2ME................................................................7

2.1.1.

T ng ph n c ng thi t b (Device Hardware Layer) .......................................... 8
2.1.2.
T ng máy o Java (Java Virtual Machine Layer) ............................................. 8
2.1.3.
T ng c u hình (Configuration Layer) ........................................................... 10
2.1.4.
T ng hi n tr ng (Profile Layer) ................................................................... 12
2.1.5.
M t s h n ch c a J2ME so v i các phiên b n khác(ch y u n m t ng
Configuration này): ........................................................................................................ 12

2.2.

CH C N NG CÁC THÀNH PH N .........................................................13

2.2.1.
Máy o Java (Kilobyte Virtual Machine - KVM)........................................... 13
2.2.2.
CLDC...................................................................................................... 15
2.2.2.1.
Yêu c u ph n c ng dành cho CLDC:....................................................... 16
2.2.2.2.
Yêu c u ph n m m dành cho CLDC:....................................................... 17
2.2.2.3.
S khác bi t gi a CLDC 1.0 và CLDC 1.1 ............................................... 17
2.2.2.4.
Danh sách các l p mà CLDC cung c p. ................................................... 17
2.2.3.
MIDP ...................................................................................................... 20
2.2.3.1.

nh ngh a: .......................................................................................... 20
2.2.3.2.
Nh ng ch c n ng mà MIDP không h tr : ............................................... 20
2.2.3.3.
Nh ng ch c n ng mà MIDP cung c p...................................................... 21
2.2.3.4.
Nh ng yêu c u dành cho MIDP. ............................................................. 21
2.2.3.5.
Các d ng profile.................................................................................... 22
2.2.3.6.
S khác nhau gi a MIDP 1.0 và MIDP 2.0............................................... 22
2.2.3.7.
Danh sách l p mà MIDP cung c p. ......................................................... 23

CH

NG 3:

3.1.
3.2.

NH NGH A:.........................................................................................26
CÁC D NG MIDLET ..............................................................................26

3.2.1.
3.2.2.

3.3.

B MIDLET......................................................................... 26


ng d ng đ n (standalone application). ....................................................... 26
ng d ng n i m ng (networked application). ............................................... 26

C U TRÚC M T B MIDLET (MIDlet suite)...........................................26

3.3.1.
C u trúc file Jar......................................................................................... 26
3.3.2.
File JAD (Java Application Descriptor File) : ............................................... 27
3.3.2.1.
t t .................................................................................................. 27
3.3.2.2.
Các ph ng th c trong MIDlet ............................................................... 29
3.3.2.3.
Xây d ng m t ng d ng MIDlet: ............................................................ 29
3.3.2.4.
L p MIDlet: ......................................................................................... 31

CH
4.1.

NG 4:

GIAO DI N

H A........................................................... 33

QU N LÝ VI C HI N TH VÀ B T S
-- Trang 1 --


KI N. .......................................35


Lu n v n t t nghi p
4.1.1.
Qu n lý vi c hi n th .................................................................................. 35
4.1.1.1.
L p Display. ........................................................................................ 35
4.1.1.2.
L p Displayable.................................................................................... 36
4.1.2.
Qu n lý các s ki n: .................................................................................. 37
4.1.2.1.
Command và CommandListener. ............................................................ 38
4.1.2.2.
Item và ItemStateListener ...................................................................... 41

4.2.

GIAO DI N

4.2.1.
4.2.2.
4.2.3.
4.2.3.1.
4.2.3.2.
4.2.3.3.
4.2.3.4.
4.2.3.5.

4.2.3.6.
4.2.3.7.
4.2.4.
4.2.5.
4.2.6.
4.2.7.
4.2.7.1.
4.2.7.2.
4.2.7.3.
4.2.8.

H A C P CAO..............................................................42

Screen:..................................................................................................... 42
Form:....................................................................................................... 42
Item:........................................................................................................ 43
DateField: ............................................................................................ 44
Gauge: ................................................................................................. 45
StringItem: ........................................................................................... 47
TextField: ............................................................................................ 47
ChoiceGroup: ....................................................................................... 50
Image: ................................................................................................. 53
ImageItem:........................................................................................... 54
TextBox................................................................................................... 56
Alert ........................................................................................................ 58
AlertType:................................................................................................ 60
List:......................................................................................................... 61
Các d ng c a list................................................................................... 61
B t s ki n cho các đ i t ng List........................................................... 62
So sánh gi a l p List và l p ChoiceGroup: .............................................. 62

Ticker: ..................................................................................................... 64

H A C P TH P ...............................................................................64

4.3.

4.3.1.
Canvas:.................................................................................................... 65
4.3.1.1.
H t a đ ............................................................................................. 65
4.3.1.2.
V trên đ i t ng Canvas:...................................................................... 66
4.3.1.3.
B t s ki n trong các đ i t ng Canvas. .................................................. 68
4.3.1.4.
Game action: ........................................................................................ 70
4.3.2.
Graphics: ................................................................................................. 72
4.3.2.1.
Color: .................................................................................................. 73
4.3.2.2.
Nét v :................................................................................................. 74
4.3.2.3.
Font ch : ............................................................................................. 76
4.3.2.4.
V các đ i t ng hình nh (Image):......................................................... 78
4.3.2.5.
Các ph ng th c t nh ti n c a đ i t ng: ................................................. 79
4.3.2.6.
Vùng xén (Clipping regions): ................................................................. 81


CH

NG 5:

L U TR

THÔNG TIN VÀ L P TRÌNH M NG. ................. 82



N I DUNG TRÌNH BÀY:...................................................... 82



L U TR THÔNG TIN TRONG J2ME.................................. 82



K T N I M NG V I GENERIC CONNECTION FRAMEWORK.
82
-- Trang 2 --


Lu n v n t t nghi p
5.1.

L u tr thông tin v i RMS ........................................................................82

5.1.1.

5.1.2.
5.1.3.
5.1.4.
5.1.5.

5.2.

RecordStore.............................................................................................. 83
RecordEnumeration................................................................................... 91
S p x p các b ng RecordComparator........................................................... 93
L c record v i RecordFilter........................................................................ 95
RecordListener ......................................................................................... 96

K t n i m ng v i Generic Connection Framework (GCF).............................97

5.2.1.

Gi i thi u GCF. ........................................................................................ 97

CH
NG 6:
NH NG QUI TRÌNH VÀ RÀNG BU C
M T NG D NG
TRÊN JBUILDER CH Y
C TRÊN MOBILE. ........................................... 117
6.1.
Tìm hi u và trình bày qui trình k thu t đ xây d ng m t ng d ng mobile trên
Jbuilder. 117
6.1.1.
6.1.2.

6.1.3.
6.1.3.1.
6.1.3.2.
6.1.4.

Cài đ t Jbuilder....................................................................................... 117
Cài đ t SDK cho Nokia............................................................................ 121
Quá trình xây d ng 1 MIDlet. ................................................................... 127
Quá trình đ u tiên: T o m i m t project................................................ 127
Quá trình th hai: T o m t l p MIDlet................................................... 131
Các b c đ xây d ng các file.Jar và file.Jad: ............................................. 137

6.2.
Tìm hi u và trình bày các yêu c u ràng bu c đ m t ng d ng mobile trên
Jbuilder có th ch y trên mobile ..............................................................................141
6.2.1.
Nh ng ràng bu
6.2.1.1.
Ràng bu c v
6.2.1.2.
Ràng bu c v
6.2.2.
Nh ng ràng bu

CH

NG 7:

c trên thi t b di đ ng. ....................................................... 141
ph n c ng. ..................................................................... 141

ph n m m. ..................................................................... 142
c đ i v i ng d ng............................................................ 142

GI I THI U

NG D NG DEMO. ...................................... 143

7.1.
Gi i thi u...............................................................................................143
7.2.
Xây d ng m t MIDlet. ............................................................................143
7.3.
Mô t ch ng trình. ................................................................................143
7.4.
Các ch c n ng c a ch ng trình:..............................................................144
7.5.
Th c thi ch ng trình..............................................................................145
m t chi c đi n tho i có th ch y đ c ng d ng MIDlet thì tr c h t ta hãy xem
nh ng yêu c u ràng bu c đ m t ng d ng java ch y đ c trên mobile (v n đ này đ c
trình bài trong ch ng 6).........................................................................................145

CH

NG 8:

K T QU VÀ H

NG PHÁT TRI N ................................ 150

8.1.

K t qu ..................................................................................................150
8.2.
Nh ng h n ch : ......................................................................................150
V quy n lu n v n trình bày.................................... Error! Bookmark not defined.
V ch ng trình..................................................... Error! Bookmark not defined.
8.3.
H ng phát tri n.....................................................................................150

-- Trang 3 --


Lu n v n t t nghi p

CH


NG 1: M C TIÊU VÀ N I DUNG

TÀI.

N i dung trình bày:
 M c tiêu và n i dung c a đ t i.

tv nđ .

1.1.

V i chi c máy tính đ bàn (máy PC) thì ngày này chúng ta đã làm đ

ch uh t


m i vi c t đ n gi n đ n ph c t p. Nh ng mà máy PC ch làm vi c c đ nh, do đó,
máy tính Laptop xu t hi n v i tính n ng nh g n có th mang theo và làm vi c h u
nh

m i n i. Ngày nay các thi t b di đ ng đã tr nên r t ph bi n và đ

r t r ng rãi t i Vi t Nam, đ c bi t là các lo i đi n tho i di đ ng. Nhi u ng

c s d ng
i đã coi

đi n tho i di đ ng nh m t v t không th thi u trong cu c s ng h ng ngày. N m b t
đ

c nhu c u đó, các nhà s n xu t đi n tho i đã đ y m nh v m t công ngh , t ng

c

ng m u mã, tích h p các ch c n ng ngày càng nhi u vào các dòng s n ph m m i,

h u đem l i cho ng
nh t. Gi đây, ng

i dùng nh ng ti n ích cao c p nh t v i các công ngh tiên ti n
i dùng đi n tho i có th nghe nh c, xem phim, ch p hình ch i

game và th m chí là xem TV, l

t web ch v i chi c đi n tho i bé xíu ngay bên mình.


Chi c đi n tho i đã th c s không ch là m t ph

ng tiên liên l c, mà nó cịn mang c

th gi i gi i trí, th gi i Mobile đ n v i t ng ng

i m i lúc m i n i. V i công ngh

phát tri n không ng ng nh hi n nay, vi c đòi h i các ng d ng t t h n c ng ngày
càng tr thành m t yêu c u đi đôi v i s phát tri n c a công ngh . M t chi c đi n
tho i t t ln địi h i nh ng ph n m m cao c p đi kèm v i nó. Nh ng v n đ l i đ t ra
là có quá nhi u nhà s n xu t đi n tho i s d ng nhi u công ngh khác nhau. V y làm
sao chúng ta có th t o ra đ
đó?

c nh ng ng d ng ch y trên t t c các dòng s n ph m

ây qu th t là m t v n đ không đ n gi n chút nào. M t th c t đ t ra cho các

nhà phát tri n ph n m m là hi n nay khơng có m t chu n hóa nào dành cho các nhà
s n xu t ph n c ng. Các thi t b trên th tr

ng hi n nay r t đa d ng và c ng mang

nhi u đ c đi m c ng nh c u hình khác nhau.
Tr

c th c t đó, vi c có th ch y trên nhi u môi tr


ngôn ng Java. Nh chúng ta đã bi t, ban đ u Java đ
b n duy nh t, ngày nay đ

ng là m t l i th r t l n c a
c xây d ng ch g m m t phiên

c bi t đ n v i tên J2SE (Java 2 Standard Edition) v i
-- Trang 4 --


Lu n v n t t nghi p

ph

ng châm là “Write once, run anywhere” t m d ch là “vi t m t l n, ch y trên m i

môi tr

ng”. Java đ

c hình thành trên ý t

ng xây d ng m t ngơn ng mà l p trình

viên ch c n vi t m t l n duy nh t nh ng ng d ng có th ch y trên b t c mơi tr

ng

nào có h tr Java Virtual Machine t m d ch là “máy o Java”. Các nhà phát tri n Java
đã cho ra m t ngôn J2ME h


ng đ n vi c phát tri n ph n m m cho các thi t b di

đ ng. Ngôn ng J2ME th c s là ngôn ng nh g n, d n m b t, ch t ch và thích h p
cho các thi t b có kh n ng h n ch . Các thi t b di đ ng trên th tr

ng hi n nay, đ c

bi t là đi n tho i di đ ng h u h t đ u h tr r t t t ngôn ng J2ME và J2ME th c s
đã tr thành m t trong nh ng ngôn ng ph bi n nh t trong l nh v c l p trình di đ ng.
J2ME đ
h

c xem nh là m t nhánh c a ngơn ng l p trình Java đ

c phát tri n nh m

ng t i vi c l p trình cho các thi t b nh có b nh , kh n ng hi n th và x lý h n

ch .
1.2. M c tiêu đ t ra cho đ tài
 Tìm hi u các ràng bu c v ph n c ng c a các ch ng lo i thi t b di đ ng hi n
nay.
 Hi u chi ti t v J2ME, các ki n trúc nên t ng c a nó và nh ng ng d ng c a nó
đ l p trình trên các thi t b di đ ng.
 N mđ

c các k thu t x lý form, âm thanh, hình nh, và l u tr trên đi n tho i

di đ ng

 Tìm hi u qui trình k thu t đ xây d ng ng d ng mobile trên Jbuilder.
 Nh ng ràng bu c đ m t ng d ng vi t trên Jbuilder có th ch y trên mobile.


ng d ng các k t qu đ t đ
ích ph c v nhu c u c a ng

c đ xây d ng ch

ng trình đ n gi n, có các ti n

i s d ng đi n tho i di đ ng.

 Áp d ng thành công trên m t s dòng máy đi n tho i di đ ng h tr Java c a các
hãng nh Nokia, SonyEricsson, Samsung,…



Nh ng m c tiêu trên đ

c đ t ra trên nh m xây d ng m t quy n lu n v n t t

h n, đây đ h n. Và xa h n n a là, lu n v n này đã trình bài đ y đ nh ng gì c n
thi t đ cho m i ng

i có th t vi t nh ng ng d ng riêng cho chi c đi n tho i

c a mình.

-- Trang 5 --



Lu n v n t t nghi p

1.3. N i dung.
V i nh ng m c tiêu trên thì quy n lu n v n xin trình bày nh ng n i dung sau:
 Gi i thi u chung v ngôn ng J2ME: t ng configuration và profile.
 Các v n đ liên quan đ n m t b MIDlet.
 L p trình trên thi t b di đ ng s d ng giao di n đ h a c p th p và c p cao.
 Vi c l u tr thông tin trên MIDlet xu ng b ng ghi và truy xu t chúng khi c n
thi t.
 L p trình m ng.
 Các b

c c n thi t đ xây d ng và th c thi m t MIDlet.

 Nh ng ràng bu c đ m t ng d ng vi t trên Jbuilder ch y đ
 Xây d ng ng d ng game caro đ demo.

-- Trang 6 --

c trên Mobile.


Lu n v n t t nghi p

CH


NG 2:


T NG QUAN V J2ME

N i dung trình bày:
 Trình bài nh ng thành ph n chính đ c u thành nên J2ME.
 Máy o java.
 Configuration và Profile.
 Ch c n ng c a các thành ph n này.

2.1. CÁC THÀNH PH N C A J2ME.
M c tiêu c a J2ME là cho phép ng

i l p trình vi t các ng d ng đ c l p v i thi t

b di đ ng, không c n quan tâm đ n ph n c ng th t s .
J2ME đ

đ tđ

c m c tiêu này,

c xây d ng b ng các t ng (layer) khác nhau đ gi u đi vi c th c hi n ph n

c ng kh i nhà phát tri n. Sau đây là các t ng c a J2ME đ

c xây d ng (2).

Hình 1: Các thành ph n c a J2ME.

Java 2

Enterprise
Edition
(J2EE)

Java 2
Standard
Edition
(J2SE)
CDC

MIDP

Profile level

CLDC

Configuration level

KVM

Java Virtual Machine

Java 2 Micro Edition
Khái ni m đi n tho i di đ ng là t
có kích th

ng đ i r ng l n. Chúng bao g m nh ng thi t b

c v t lý khác nhau nhi u l n và cho dù cùng kích th


c nh ng thi t b này

v n có kh n ng x lý c ng nh th hi n c ng khác nhau (nh ng chi c đi n tho i hi n
th 12,000 pixels cho đ n nh ng chi c PDA 20000 pixels).

đáp ng đ

c nhu c u

khác nhau c a nh ng thi t b này, b n thân ngôn ng J2ME c ng chia thành nh ng
thành ph n nh h n.

-- Trang 7 --


Lu n v n t t nghi p

Hình 2: C u trúc c a thi t b MID.
MIDP
Applications

OEM-Specific
Applications

Native
Applications

OEM-Specific
Classes
Mobile Information

Device Profile (MIDP)
Connected Limited Device Configuration (CLDC)
Native Operating System
Mobile Information Device(MID)

M i t ng

trên t ng Mobile Information Device là t ng tr u t

cho l p trình viên nhi u giao di n l p trình

ng h n cung c p

ng d ng (API-Application Program

Interface) thân thi n h n.
2.1.1. T ng ph n c ng thi t b (Device Hardware Layer)
ây chính là thi t b di đ ng th t s v i c u hình ph n c ng c a nó v b nh và
t c đ x lý. D nhiên th t ra nó khơng ph i là m t ph n c a J2ME nh ng nó là n i
xu t phát. Các thi t b di đ ng khác nhau có th có các b vi x lý khác nhau v i các
t p mã l nh khác nhau. M c tiêu c a J2ME là cung c p m t chu n cho t t c các lo i
thi t b di đ ng khác nhau.
2.1.2. T ng máy o Java (Java Virtual Machine Layer)
Khi mã ngu n Java đ
bytecode này sau đó đ

c biên d ch nó đ

c chuy n đ i thành mã bytecode. Mã


c chuy n thành mã ngôn ng máy c a thi t b di đ ng. T ng

máy o Java bao g m KVM (K Virtual Machine) là b biên d ch mã bytecode có
nhi m v chuy n mã bytecode c a ch

ng trình Java thành ngôn ng máy đ ch y

trên thi t b di đ ng, và đ ng th i máy o Java s ch u trách nhi m vi c cung c p các
tính n ng b o m t, c p phát, thu h i b nh và qu n lý vi c đi u ph i các ti n trình.
T ng này cung c p m t s chu n hóa cho các thi t b di đ ng đ

ng d ng J2ME sau

khi đã biên d ch có th ho t đ ng trên b t k thi t b di đ ng nào có J2ME KVM.
Chính nh ng h n ch v t i nguyên c a các thi t b di đ ng đã đ ra nhu c u v s ra
đ i c a KVM.
ây là nh ng yêu c u dành cho máy o KVM:

-- Trang 8 --


Lu n v n t t nghi p

 Máy o Java ch c n 40 – 80 KB b nh .
 Ch c n 20 – 40 KB b nh đ ng.
 Có th ch y v i b vi x lý 16 bit và xung nh p 25 MHz.
Mã ngu n java ph i trãi qua 2 giai đo n nh hình bên d

i.


Hình 3: Hai quá trình biên d ch và thông d ch c a mã ngu n java.

.class
Bytecode

Interpreter

Compiler

.java
Source Code

KVM
(Kilobyte Virtual
Machine)

 Các phiên b n c a Java:
Java đ

c gi i thi u l n đ u tiên vào nh ng n m 1995, trong th i gian đ u thì

m c tiêu nh m đ n c a Java là phát tri n c a GUIs, applets, và nh ng ng d ng
đ c tr ng khác. Hai n m sau ngày ra m t l n đ u tiên, m t phiên b n m i là Java 2
Enterprise Edition (J2EE) c ng đ

c gi i thi u nh m đ n vi c phát tri n các ng

d ng có qui mơ l n h n (có th xem là các máy server).

ng th i phiên b n này


c ng đ a ra nh ng công c cho vi c truy xu t d li u, truy n thông tin, đi u khi n
vi c th c thi.
Và phiên b n m i nh t đ

c thêm vào dịng ngơn ng Java là Java 2 Micro

Edition (J2ME). J2ME nh m đ n vi c phát tri n ng d ng cho các ng d ng có
n ng l c h n ch nh đ u gi i mã k thu t s TV set-top boxes, đi n tho i di
đ ng…

-- Trang 9 --


Lu n v n t t nghi p

Hình 4: Các phiên b n khác nhau c a java.

Chúng ta có th th y các phiên b n khác nhau c a Java, ph thu c vào ph n c ng
mà thi t b h tr . Hình s th hi n 3 máy o đ
khác nhau. Các Hotspot VM là m c đ nh máy o đ

c s d ng trong nh ng môi tr

ng

c cung c p b i Sun do th c hi n

đ y đ quy mô phiên b n m i h n JavaHotspot là m t lo i máy o có kh n ng t
đ ng t i


u hóa n ng n th c hi n các đo n mã (hotspots) trong th i gian th c.

Compact Virtual Machine (CVM) and Kilobyte Virtual Machine (KVM) là nh ng
máy o nh h n dùng đ hi n th c vi c thi t k đ ch y trong nh ng ràng bu c c a
gi i h n v tài nguyên trên nh ng thi t b nh .
2.1.3. T ng c u hình (Configuration Layer)
T ng c u hình c a CLDC đ nh ngh a giao di n ngôn ng Java (Java language
interface) c b n đ cho phép ch

ng trình Java ch y trên thi t b di đ ng

đáp ng nhu c u cho nhi u ch ng lo i thi t b khác nhau, Sun đã đ a ra khái
ni m Configuration. Khái ni m Configuration có m i liên h ch t ch v i máy o

-- Trang 10 --


Lu n v n t t nghi p

Java. Nói chính xác h n, m t Configuration qui đ nh nh ng thành ph n và nh ng th
vi n g c c a ngôn ng Java mà máy o ph i h tr cho configuration đó. Vi c phân
chia thành nh ng configuration khác nhau ch y u d a vào kh n ng b nh , n ng l c
hi n th , n ng l c x lý và kh n ng k t n i m ng c a các thi t b . Nh chúng ta đã
bi t, các thi t b di đ ng r t khác nhau v ngu n tài nguyên, v kh n ng ph n c ng.
V i nh ng thi t b có n ng l c h n ch , n u ta đ a nhi u th vi n h tr vào máy o
trên thi t b đó s gây ch m h th ng và d th a không c n thi t. V i nh ng thi t b có
kh n ng cao h n, chúng ta s đ a thêm nhi u th vi n h tr vào máy o giúp ích cho
cơng vi c l p trình c a các nhà phát tri n. Do đó, nhu c u phân chia thành nhi u
Configuration là vi c c n thi t.

Hi n nay Sun đã đ a ra hai lo i Configuration khác nhau:
 CDC (Connected Divice Configuration):
 512 KB (minimum) b nh đ ch y Java.
 256 KB (minimum) b nh c p phát đ ng.
 K t n i m ng liên t c, b ng thông r ng.
 CLDC (Connected Limited Device Configuration):
 128 KB (minimum) b nh đ ch y Java.
 32 KB (minimum) b nh c p phát đ ng.
 Giao di n ng
 N ng l

i dùng h n ch .

ng tiêu t n ít (ch y u dùng pin).

 K t n i m ng Wireless và ch m.
Vi c phân chia này c ng mang tính ch t t

ng đ i, công ngh hi n nay đang phát

tri n khá nhanh, và vi c phát tri n này càng làm cho ranh gi i gi a các lo i
configuration này tr nên không rõ ràng.
C 2 d ng C u hình k trên đ u ch a máy o Java (Java Virtual Machine) và t p
h p các l p (class) Java c b n đ cung c p m t môi tr

ng cho các ng d ng J2ME.

Tuy nhiên, b n chú ý r ng đ i v i các thi t b c p th p, do h n ch v tài nguyên nh
b nh và b x lý nên không th yêu c u máy o h tr t t c các tính n ng nh v i
máy o c a J2SE, ví d , các thi t b thu c CLDC không có ph n c ng u c u các

phép tính toán d u ph y đ ng, nên máy o thu c CLDC không đ
ki u float và double.

-- Trang 11 --

c yêu c u h tr


Lu n v n t t nghi p

2.1.4. T ng hi n tr ng (Profile Layer)
T ng hi n tr ng hay MIDP (Hi n tr ng thi t b thông tin di đ ng-Mobile
Information Device Profile) cung c p t p các API h u d ng h n cho l p trình viên.
M c đích c a hi n tr ng là xây d ng trên l p c u hình và cung c p nhi u th vi n ng
d ng h n. MIDP đ nh ngh a các API riêng bi t cho thi t b di đ ng. C ng có th có
các hi n tr ng và các API khác ngoài MIDP đ
hi n tr ng PDA đ nh ngh a các l p và ph

c dùng cho ng d ng. Ví d , có th có

ng th c h u d ng cho vi c t o các ng

d ng PDA (l ch, s h n, s đ a ch ,…). C ng có th có m t hi n tr ng đ nh ngh a các
API cho vi c t o các ng d ng Bluetooth. Th c t , các hi n tr ng k trên và t p các
API đang đ

c xây d ng. Chu n hi n tr ng PDA là đ c t JSR - 75 và chu n bluetooth

API là đ c t JSR - 82 v i JSR là vi t t t c a Java Specification Request.
2.1.5. M t s h n ch c a J2ME so v i các phiên b n khác(ch y u n m


t ng

Configuration này):
 Không h tr ki u d li u float: Vi c s lý s float địi h i nhi u tài ngun x
lý, ngồi ra các thi t b di đ ng khơng có nh ng c u hình ph n c ng dành riêng
cho vi c x lý s float nên trong J2ME chúng ta không th khai báo các bi n,
m ng float, các hàm c ng không nh n tham s và tr các s float.
 Ph
(t

ng th c finalize: Trong J2SE, chúng ta có th khai báo ph
ng t nh ph

này tr

ng th c finalize

ng th c destructor). Garbage Collector s g i ph

c khi h y b m t đ i t

ng, ph

ng th c này th

h i các tài nguyên h th ng nh sockets, file handle,….tr

ng đ


ng th c

c dùng đ thu

c khi đ i t

ng b

“phá h y”. Tuy nhiên trong J2ME ,đ c i ti n vi c th c thi và gi m toàn b các
yêu c u, CLDL lo i b h n đ i t
ph

ng finalize, đi u này có ngh a là khơng có

ng th c Object.finalize.

 Error Handling: Trong J2ME chúng ta v n đ

c h tr các công c v b y l i

(ch y u thông qua try và catch). C ng do nguyên nhân h n ch tài nguyên, kh
n ng v x lý l i c a J2ME c ng h n ch h n v i hai phiên b n cịn l i, CLDC
khơng h tr b t k java.lang.Error nào.
 Không h tr vi c s d ng code c a các ngôn ng l p trình khác.
 Khơng h tr Reflection: Trong J2ME và J2ME, chúng ta có th dùng các l p
Reflection đ tìm hi u thơng s mơi tr

ng máy o Java đang th c thi.

-- Trang 12 --



Lu n v n t t nghi p

 Không h

tr

ThreadGroup: m i thread đ

c lý riêng bi t, khơng cịn l p

ThreadGroup. N u mu n đi u khi n m t lúc nhi u threads chúng ta có th dùng
m ng ho c Vector.
 J2ME c ng còn m t s đi m khác bi t so v i J2ME và J2EE, m t trong nh ng
khác bi t chính là q trình Class Verify (t m d ch là “ki m tra l p”). Các l p
tr

c khi đ

c load s thơng qua m t q trình “ki m tra” v s h p l và tính

nguyên v n.

ây là m t c ch quan tr ng đ b o đ m an toàn (security) c a

Java. Quá trình này trong J2SE và J2EE có th chi m đ n 50 kb b nh , trong
J2ME chúng đ

c chia thành 2 giai đo n:


 Ti n ki m tra (pre-verification): Tr
m t ph n m m s đ

c khi m t l p đ

c n p vào thi t b ,

c s d ng đ thêm vào m t s thơng s b sung vào

file class. Q trình này gi m th i gian và b nh c n thi t đ máy o th c
hi n giai đo n 2 trong quá trình ki m tra. File class sau khi đ
tra” s t ng dung l

c “ti n ki m

ng kho ng 5%.

 Ki m tra n i thi t b (In-device verification): Khi thi t b n p các file class
đã đ

c ki m tra, công c ki m tra trong thi t b s th c hi n m t vài ki m

tra đ xác nh n tính h p l c a đo n code. N u phát hi n m t l i nào đó b
ki m tra s phát sinh báo cáo và t ch i n p l p đ i t

ng vào b nh . Q

trình này địi h i ít b nh và tài nguyên h n nhi u l n so v i trong J2SE và
J2EE.

2.2. CH C N NG CÁC THÀNH PH N
2.2.1. Máy o Java (Kilobyte Virtual Machine - KVM)
Vai trò c a máy o Java hay KVM là d ch mã bytecode đ

c sinh ra t ch

ng

trình Java đã biên d ch sang ngơn ng máy. Chính KVM s chu n hóa output c a
các ch

ng trình Java cho các thi t b di đ ng khác nhau có th có b vi x lý và t p

l nh khác nhau. Khơng có KVM, các ch

ng trình Java ph i đ

c biên d ch thành

t p l nh cho m i thi t b di đ ng. Nh v y l p trình viên ph i xây d ng nhi u đích
cho m i lo i thi t b di đ ng. Hình d

i đây bi u di n ti n trình xây d ng ng d ng

MIDlet hồn ch nh và vai trị c a KVM.

-- Trang 13 --


Lu n v n t t nghi p


Hình 5: Ti n trình xây d ng m t MIDlet.
Tr m phát tri n
T p tin .JAR
T p tin ngu n java
*.java

T p tin l p java
*.class

B biên d ch
và b ti n
ki m tra java

T p tin ngu n java
*.java

T p tin l p java
*.class

Thi t b đích



B biên
d ch mã
bytecode
KVM

 Xây d ng ng d ng trên IDE (Intergrated Development Environment - Mơi tr


ng

phát tri n tích h p)
ây là nh ng cơng vi c c a l p trình viên trên:
 T o các t p tin ngu n Java:
 B

c đ u tiên là l p trình viên ph i t o mã ngu n Java, có th có nhi u t p

tin (*.java) (v n đ này đ

c trình bày trong ch

ng 6).

 Biên d ch trên IDE:
 B biên d ch Java (Java Compiler): Biên d ch mã ngu n thành mã bytecode
B biên d ch Java s biên d ch mã ngu n thành mã bytecode. Mã bytecode
này s đ

c KVM d ch thành mã máy. Mã bytecode đã biên d ch s đ

c

l u trong các t p tin *.class và m t t p tin *.class sinh ra cho m i l p Java.
 B

ti n ki m tra (Preverifier): Ki m tra tính h p l c a mã bytecode


M t trong nh ng yêu c u an toàn c a J2ME là b o đ m mã bytecode chuy n
cho KVM là h p l và không truy xu t các l p hay b nh ngoài gi i h n
c a chúng. Do đó t t c các l p đ u ph i đ
có th đ

c ti n ki m tra tr

c khi chúng

c download v thi t b di đ ng. Vi c ti n ki m tra đ

m t ph n c a môi tr

ng phát tri n làm cho KVM có th đ

-- Trang 14 --

c xem là

c thu nh h n.


Lu n v n t t nghi p

B ti n ki m tra s gán nhãn l p b ng m t thu c tính (attribute) đ c bi t ch
r ng l p đó đã đ
kích th

c ti n ki m tra. Thu c tính này t ng thêm kho ng 5%


c c a l p và s đ

c ki m tra b i b ki m tra trên thi t b di đ ng.

L u ý: N u khơng có q trình ti n ki m tra này thì thi t b di đ ng s t ch i ng
d ng.
 T o t p tin JAR.
IDE s t o m t t p tin JAR ch a:
 T t c các t p tin *.class
 Các hình nh c a ng d ng. Hi n t i ch h tr t p tin *.png
 Các t p tin d li u có th đ

c yêu c u b i ng d ng

 M t t p tin kê khai (manifest.mf) cung c p mô t v

ng d ng cho b qu n

lý ng d ng (application manager) trên thi t b di đ ng.
Sau khi đã g r i và ki m tra mã l nh trên trình gi l p (simulator), mã l nh
đã s n sàng đ
cho ng

c ki m tra trên đi n tho i di đ ng và sau đó đ

c phân ph i

i dùng (download ng d ng (t p tin *.jar) v thi t b di đ ng – xem

ph n ph l c).

 Trên thi t b di đ ng.
 B ti n ki m tra: B ti n ki m tra ki m tra t t c các l p đ u có m t thu c tính
h p l đã đ

c thêm vào b i b ti n ki m tra trên tr m phát tri n ng d ng.

N u ti n trình ti n ki m tra th t b i thì ng d ng s không đ

c download v

thi t b di đ ng.
 B qu n lý ng d ng: B qu n lý ng d ng trên thi t b di đ ng s l u tr
ch

ng trình trên thi t b di đ ng. B qu n lý ng d ng c ng đi u khi n tr ng

thái c a ng d ng trong th i gian th c thi và có th t m d ng ng d ng khi có
cu c g i ho c tin nh n đ n.
 Ng

i dùng th c thi ng d ng, b qu n lý ng d ng s chuy n ng d ng cho

KVM đ ch y trên thi t b di đ ng.
 KVM s d ch mã bytecode sang ngôn ng máy c a thi t b di đ ng đ ch y.
2.2.2. CLDC
CLDC - c u hình thi t b k t n i gi i h n đây là t ng n m k trên t ng KVM,
đây là m t t p các API đ nh ngh a lõi c a ngôn ng J2ME. M c đích c a t ng

-- Trang 15 --



Lu n v n t t nghi p

này là cung c p m t t p t i thi u các th vi n (các l p và các ph

ng th c ) cho

phép m t ng d ng Java ch y trên thi t b di đ ng. T p các API h u d ng và
chuyên bi t h n đ
t ng

CLDC

c ch a trong t ng hi n tr ng - profile layer, nh ng chính

này

Các CLDC API đ

cung

c p

c

s

cho

t ng


hi n

tr ng.

c đ nh ngh a v i s h p tác v i 18 công ty là b ph n c a

JCP (Java Community Process). Nhóm này giúp b o đ m r ng các API đ

c

đ nh ngh a s h u d ng và thi t th c cho c nhà phát tri n l n nhà s n xu t thi t
b di đ ng.
Hình 6: T ng quan v CLDC.

J2SE

CLDC

CDC

CDC

CLDC

J2SE

CDC # O

J2SE


CLDC # O

2.2.2.1. Yêu c u ph n c ng dành cho CLDC:
Khi đ ra yêu v ph n c ng vi c xem xét các chi ti t nh b x lý, b
nh … và các thành ph n m m hi n có trên các thi t b di đ ng là vi c vô
cùng quan tr ng. Nh m m c đích ph c v t i đa các thi t b hi n có trên th
tr

ng, CLDC ch đ ra các yêu c u v b nh và không đ ra yêu c u nào

cho các thành ph n khác. Yêu c u t i thi u đ có th s d ng CLDC nh sau:
 128 kilobytes đ ch y JVM và các th vi n c a CDLC. Không phân bi t
lo i b nh s d ng (Rom, Flash,…..), b nh c a thi t b ph i b o l u
đ

c n i dung lâu dài, ngay c khi ng t đi n. B nh này th

ng đ

c

g i là nonvolatile memory.
 32 kilobytes b nh tr ng đ c p phát các đ i t
th

ng đ

c g i là volatile memory (hay còn đ


-- Trang 16 --

ng (objects). B nh này
c g i là heap).


Lu n v n t t nghi p

2.2.2.2. Yêu c u ph n m m dành cho CLDC:
 CLDC có yêu c u t i thi u v m t ph n m m. H đi u hành ph i t

ng

thích v i JVM và có ch c n ng qu n lý các ng d ng Java nh :
 Cho phép ch n và kích ho t ng d ng.
 Cho phép g b

ng d ng kh i thi t b .

2.2.2.3. S khác bi t gi a CLDC 1.0 và CLDC 1.1
Các đ c t c a JCP đ

c gán các s JSR (Java Specification Request). Quy

đ nh CLDC phiên b n 1.0 đ
s JSR – 139. D

c gán s JSR – 30 và phiên b n 1.1 đ

c gán


i đây là s khác bi t chính c a 2 phiên b n:

 Ki u s th c đ

c h tr , 2 class Float và Double đ

trong CDLC 1.1 và đ ng th i c ng kèm theo nh ng ph

c đ a thêm vào
ng th c h tr

cho 2 class này.
 Thi t k l i nh ng class Calendar/Date/TimeZone so v i J2SE.
 Nh ng thread hi n t i đã có ph
có th ng t chúng b i ph

ng th c Thread.getName() và chúng ta

ng th c Thread.interrup()(2).

 Vi c b t l i đã tr nên d hi u h n, có đ a thêm vào m t l p m i đó là
NoClassDefFoundError.
 Nhi u thay đ i trên các th vi n không quan tr ng, nh là thêm các
tr

ng và các ph

ng th c nh :


o Boolean.TRUE and Boolean.FALSE
o String.intern()
o Date.toString()
o Random.nextInt(int n)
 Vùng nh nh nh t đ

c nâng lên t 160 – 192 kilobyte, ch y u là do

thêm vào ki u s th c.(4)
2.2.2.4. Danh sách các l p mà CLDC cung c p.
Bên d

i đây là các l p n m trong CLDC:

 L p h th ng.
 java.lang.Object
 java.lang.Class
 java.lang.Runtime

-- Trang 17 --


Lu n v n t t nghi p

 java.lang.System
 java.lang.Thread
 java.lang.Runnable
 java.lang.String
 java.lang.StringBuffer
 java.lang.Throwable

 L p nh p xu t.
 java.io.InputStream
 java.io.OutputStream
 java.io.ByteArrayInputStream
 java.io.ByteArrayOutputStream
 java.io.DataInput (interface)
 java.io.DataOutput (interface)
 java.io.DataInputStream
 java.io.DataOutputStream
 java.io.Reader
 java.io.Writer
 java.io.InputStreamReader
 java.io.OutputStreamWriter
 java.io.PrintStream
 L p t p h p.
 java.util.Vector
 java.util.Stack
 java.util.Hashtable
 java.util.Enumeration (interface)
 L p ki u d li u.
 java.lang.Boolean
 java.lang.Byte
 java.lang.Short
 java.lang.Integer
 java.lang.Long

-- Trang 18 --


Lu n v n t t nghi p


 java.lang.Character
 L p ngày gi .
 java.util.Calendar
 java.util.Date
 java.util.TimeZone
 L p ti n ích.
 java.util.Random
 java.lang.Math
 L p ngo i l .
 java.lang.Exception
 java.lang.ClassNotFoundException
 java.lang.IllegalAccessException
 java.lang.InstantiationException
 java.lang.InterruptedException
 java.lang.RuntimeException
 java.lang.ArithmeticException
 java.lang.ArrayStoreException
 java.lang.ClassCastException
 java.lang.IllegalArgumentException
 java.lang.IllegalThreadStateException
 java.lang.NumberFormatException
 java.lang.IllegalMonitorStateException
 java.lang.IndexOutOfBoundsException
 java.lang.ArrayIndexOutOfBoundsException
 java.lang.StringIndexOutOfBoundsException
 java.lang.NegativeArraySizeException
 java.lang.NullPointerException
 java.lang.SecurityException
 java.util.EmptyStackException

 java.util.NoSuchElementException
 java.io.EOFException

-- Trang 19 --


Lu n v n t t nghi p

 java.io.IOException
 java.io.InterruptedIOException
 java.io.UnsupportedEncodingException
 java.io.UTFDataFormatException
 L p Error
 java.lang.Error
 java.lang.VirtualMachineError
 java.lang.OutOfMemoryError
2.2.3. MIDP
nh ngh a:

2.2.3.1.

ây là t ng n m k trên t ng CLDC, đ nh ngh a dành riêng cho các thi t
b di đ ng và là thành ph n chính trong J2ME. CLDC ch cung c p các API
đ n gi n, gi v n u mà Sun không cung c p MIDP thì ng

i l p trình s

ph i xây d ng l i t t c các giao di n. MIDP cung c p các ch c n ng c b n
cho h u h t các dòng thi t b di đ ng ph bi n nh t nh các máy đi n tho i di
đ ng và các máy PDA. Tuy nhiên, vì ph i xây d ng th vi n cho m t thi t b

r t h n ch v tài nguyên nên MIDP c ng có nh ng gi i h n c a nó.
2.2.3.2. Nh ng ch c n ng mà MIDP khơng h tr :
 Khơng h tr phép tính d u ph y đ ng (floating point) là do tính này đòi
h i r t nhi u tài nguyên CPU và ph n l n các CPU cho các thi t b di
đ ng khơng h tr phép tính này.
 Không h tr b n p class - Class Loader
 H tr
tr

t khóa finalize() nh trong J2SE: Vi c “d n d p“ tài nguyên

c khi nó b xóa đ

c đ y v phía các l p trình viên.

 Khơng h tr JNI
 Không h tr nhi u cho thao tác b t l i
 Ph n l n các th vi n API cho Swing và AWT không th s d ng đ

c

trong MIDP
 Khơng h tr các tính n ng qu n lý file và th m c:

ây có th làm b n

ng c nhiên nh ng th c t là các thi t b J2ME khơng có h tr các thi t b
l u tr thông th

ng nh


c ng v.v. Tuy nhiên, đi u đó khơng có ngh a

-- Trang 20 --


Lu n v n t t nghi p

là b n ph i m t đi m i d li u quan tr ng m i khi t t máy, Sun đã cung
c p m t ch c n ng khác t

ng đ

ng g i là Record Management system

(RMS) đ cung c p kh n ng l u tr cho các thi t b này.
2.2.3.3. Nh ng ch c n ng mà MIDP cung c p.
 Các l p và ki u d li u: Ph n l n các l p mà các l p trình viên Java quen
thu c v n cịn đ

c gi l i ví d nh các l p trong gói java.util nh Stack,

Vector và Hastable c ng nh Enumeration.
 H tr đ i t

ng Display:

h tr duy nh t m t đ i t

úng nh tên g i m t ch

ng Display là đ i t

ng trình MIDP s

ng qu n lý vi c hi n th

d li u trên màn hình đi n tho i.
 H tr Form và các giao di n ng

i dùng

 H tr Timer và Alert
 Cung c p tính n ng Record Management System (RMS) cho vi c l u tr
d li u
 Ngoài ra vào tháng 11 n m 2003 Sun đã tung ra MIDP 2.0 v i hàng lo t
tính n ng khác đ

c cung c p thêm so v i b n 1.0. Nh ng c i ti n n i b t

so v i MIDP 1.0.
2.2.3.4. Nh ng yêu c u dành cho MIDP.

 Yêu c u ph n c ng:
 Màn hình ít nh t ph i có 96 x 54 pixels.
 Có ít nh t 128 kilobytes b nh non-volatile đ ch y các thành ph n
c a MIDP.
 Có ít nh t 8 kilobytes b nh non-volatile đ l u các c u hình ch

ng


trình và d li u.
 Có ít nh t 32 kilobytes đ ch y Java.
 Có k t n i không dây (wireless network).

 Yêu c u ph n m m:
M c dù h đi u hành c a t ng thi t b có th khác nhau nh ng ph i đáp
ng đ

c các yêu c u t i thi u sau:

 H đi u hành ph i h tr vi c x lý ng t, x lý exception và h tr x
lý đ h a bitmap đ xu t d li u ra màn hình.
-- Trang 21 --


Lu n v n t t nghi p

 H đi u hành ph i nh n đ

c tín hi u nh p li u và chuy n d li u đó

cho máy o Java.
 H đi u hành ph i h tr vi c đ c và ghi vào b nh non-volatile.
Khơng địi h i h đi u hành ph i đ nh ngh a file system nh ng ph i
cho phép ghi d li u d ng persistent (không b m t khi ng t máy, t t
đi n).
 Ph i h tr truy xu t m ng, đ c bi t ph i có tính n ng đ c và ghi d
li u thông qua m ng không dây.
2.2.3.5. Các d ng profile.
Mobile Information Device Profile (MIDP) đ nh ngh a các hàm API cho

các thành ph n giao di n, nh p li u và x lý s ki n, l u tr , k t n i m ng
và x lý th i gian,… phù h p v i màn hình hi n th và kh n ng x lý c a
các thi t b di đ ng. Profile MIDP đ

c đ nh ngh a trên n n t ng c a

CLDC. Ngoài ra, chúng ta còn m t s Profile tiêu bi u khác nh :
 PDA Profile: t

ng ng MIDP, nh ng v i th tr

ng là các máy PDA

v i màn hình và b nh l n h n.
 Foundation Profile: cho phép m r ng các tính n ng c a CDC v i ph n
l n các th vi n c a b Core Java 2 1.3.
 Ngồi ra cịn có Personal Basis Profile, Personal Profile, RIM Profile,
Game Profile.
L u ý: Lu n v n ch y u ch đ c p đ n Profile MIDP và các th vi n liên quan
đ ph c v cho vi c vi t ng d ng trên đi n tho i di đ ng.
2.2.3.6. S khác nhau gi a MIDP 1.0 và MIDP 2.0.
B ng 1: S c i ti n c a MIDP 2.0 so v i MIDP 1.0
Lo i
M ng

c tr ng
 H tr giao th c HTTPS, download qua m ng an tồn h n.
 Ki m sốt vi c k t n i gi a máy di đ ng và server. Ví d nh
các ch


ng trình khơng th k t n i t i server n u khơng có s

ch p thu n c a ng
Âm thanh

i s d ng.

 Thêm các API h tr Multimedia. M t trong nh ng c i ti n

-- Trang 22 --


Lu n v n t t nghi p

h p d n nh t c a MIDP 2.0 là t p các API media c a nó. Các
API này là m t t p con ch h tr âm thanh c a Mobile Media
API (MMAPI).
UI (Giao di n)

 M r ng các tính n ng c a Form và Item.
 C i ti n vi c b trí các cơng c .
 Các đi u khi n đ

c c i ti n t t h n.

 Có th xây d ng các đi u khi n riêng.
Games

 H tr l p Graphics.
 H tr Game API: Có l Sun đã k p nh n ra th tr


ng đ y

ti m n ng c a các thi t b di đ ng trong l nh v c Game. V i
MIDP 1.0 thì các l p trình viên ph i t mình vi t code đ qu n
lý các hành đ ng c a nhân v t c ng nh qu n lý đ h a. Vi c
này s làm t ng kích th

c file c a s n ph m c ng nh vi c

xu t hi n các đo n mã b l i.

ch

ng l i nh t t Game

API trong MIDP 2.0 khơng ch là các l p trình viên Game mà
cịn là các l p trình viên c n s d ng các tính n ng đ h a cao
c p. Ý t

ng c b n c a Game API là vi c gi đ nh r ng m t

màn hình game là t p h p các layer (l p). Ví d nh : trong m t
game đua xe thì màn hình n n là m t layer, con đ
layer và chi c xe đ

c xem nh

V i Game API nhà phát tri n còn đ


ng là m t

đang n m trên layer khác.
c cung c p các tính n ng

nh qu n lý các thao tác bàn phím.
Hình nh

 M t trong nh ng c i ti n h p d n cho các nhà phát tri n MIDP
là vi c bi u di n hình nh d

i d ng các m ng s nguyên, cho

phép MIDlet thao tác v i d li u hình nh m t cách tr c ti p.
2.2.3.7. Danh sách l p mà MIDP cung c p.
 Danh sách các l p ti n ích.
 java.util.Timer
 java.util.TimerTask
 java.lang.IllegalStateException
 Danh sách các l p giao di n.
-- Trang 23 --


×