You are on page 1of 84

Bo co n tt nghip

MC LC
LI NI U ....................................................................................................................................... 1
CHNG I: CNG NGH H TR NH V .................................................................................... 2
I.1

Gii thiu ........................................................................................................................... 2

I.1.1

Phn loi ............................................................................................................................ 2

I.1.2

H thng v tinh GPS ....................................................................................................... 3

I.2

Cc cng ngh h tr nh v ........................................................................................... 6

I.2.1

Cng ngh GIS. ................................................................................................................. 6

I.2.2

Cng ngh truyn d liu ................................................................................................. 8

I.3

ng dng ca GPS. ........................................................................................................ 19

Chng II
II.1

CNG NGH J2ME, MIDP ...................................................................................... 20


J2ME ................................................................................................................................ 20

II.1.1

Gii thiu...................................................................................................................... 20

II.1.2

Kin trc....................................................................................................................... 21

II.2

MIDP................................................................................................................................ 24

II.2.1

Gii thiu...................................................................................................................... 25

II.2.2

Lp trnh ...................................................................................................................... 29

Chng III
III.1

C S H TR PHT TRIN NG DNG NH V ........................................ 37


LOCATION API............................................................................................................. 37

III.1.1

Gii thiu...................................................................................................................... 37

III.1.2

Location. ....................................................................................................................... 38

III.1.3

Mc ranh gii(Landmark).......................................................................................... 41

III.1.4

nh hng(Orientation) ............................................................................................ 42

III.1.5

Bo mt v cp php ................................................................................................... 42

III.2

GOOGLE API................................................................................................................. 43

III.2.1

Static Google API ........................................................................................................ 43

III.2.2

Google Map Javasript ................................................................................................. 47

Chng IV

PHT TRIN NG DNG NH V ...................................................................... 59

IV.1

GII THIU NG DNG ............................................................................................ 59

IV.2

PHN TCH .................................................................................................................... 60

IV.2.1

Chng trnh sever ..................................................................................................... 60

IV.2.2

Chng trnh client ..................................................................................................... 65

IV.3

Xy dng ng dng ........................................................................................................ 68

SV: Nguyn Th Dip T

Trangi

Bo co n tt nghip
IV.3.1

B cng c pht trin ng dng. ................................................................................ 68

IV.3.2

Hin thc ...................................................................................................................... 68

IV.3.3

Hng pht trin. ........................................................................................................ 73

IV.4

KCH BN DEMO. ........................................................................................................ 74

IV.4.1 Kch bn 1 : ..................................................................................................................... 74


IV.4.2 Kch bn 2 : ..................................................................................................................... 74
IV.4.3 Kch bn 3 : ..................................................................................................................... 74
KT LUN .......................................................................................................................................... 76
TI LIU THAM KHO. .................................................................................................................... 77

SV: Nguyn Th Dip T

Trangii

Bo co n tt nghip
DANH MC HNH V
Hnh 1: H thng v tinh GPS .................................................................................. 3
Hnh 2 : Cu trc phn v tr .................................................................................. 4
Hnh 3 : Nguyn tc c bn nh v GPS ................................................................ 5
Hnh 4 : Cc kiu d liu c ng dng trong GIS .............................................. 7
Hnh 5 : Kin trc chnh ca mng GPRS..................................................... .9
Hnh 6 :M t hai mng intra PLMN kt ni vi mt inter PLMN14
Hnh 7 : Cc tng ca CLDC J2ME ....................................................................... 24
Hnh 8 : Chu k sng ca MIDlet ............................................................................ 27
Hnh 9 : Cy phn cp Connection .......................................................................... 31
Hnh 10 : nh thnh ph NewYork dng Google Static Map ................................ 43
Hnh 11 : Kt qu v d s dng k hiu bin cm ................................................... 46
Hnh 12 : Kt qu v d icon .................................................................................... 53
Hnh 13 : Kt qu v d Gmarker ........................................................................... 56
Hnh 14 : Kt qu v d GXml ................................................................................. 58
Hnh 15 : Biu use case server ........................................................................... 59
Hnh 16 : Biu tun t x gi v nhn bn .................................................... 60
Hnh 17 : Biu tun t hin th ta chn .................................................... 63
Hnh 18 : Biu tun t hin th ta ln bn ................................................ 63
Hnh 19 : Biu tun t hin th ta ln bn ................................................ 64
Hnh 20 : Giao din hin th ta ln bn ......................................................... 64
Hnh 21: Lc use case client. ........................................................................... 65
Hnh 22: Giao din chc nng nh v...................................................................... 67
Hnh 23 : Bng c s d liu server. ..................................................................... 72
SV: Nguyn Th Dip T

Trangiii

Bo co n tt nghip

DANH MC BNG.
Bng 1 : Nhng thay i v nng cp trong mng GPRS. ....................................... 10
Bng 2 : Mt s lp GPRS ph bin ........................................................................ 16
Bng 3 : Bng minh ha tin trnh lch s ca J2ME .............................................. 20
Bng 4 : Bng so snh cc thng s k thut ca CDC v CLDC ........................... 22
Bng 5 : Cc phng thc CLDC Connector. .................................................................. 33
Bng 6 : M t cc lp trong gi javax.microedition.location ................................. 37
Bng 7 : M t cc giao din trong gi javax.microedition.location ....................... 38
Bng 8 : M t cc ngoi l trong gi javax.microedition.location ......................... 38
Bng 9 : Cc phng thc nm ngoi l .................................................................. 42
Bng 10 : Danh sch cc actor ca chng trnh cho client. ................................... 60
Bng 11 : Danh sch cc use case ca chng trnh cho client ............................... 60
Bng 12 : Danh sch cc actor ca chng trnh cho client. ................................... 65
Bng 13 : Danh sch cc use case ca chng trnh cho client ............................... 66

SV: Nguyn Th Dip T

Trangiv

Bo co n tt nghip

THUT NG VIT TT
T y

T vit tt

Gii thch ngha

APN

Access Point Name

Tn im truy cp

BSC

Base Station Controller

i iu khin trm gc

BSS

Base Station Subsystem

H thng trm gc

BTS

Base Transceiver Station

Trm thu pht gc

CDC

Connected Device Configuration Cu hnh thit b kt ni

CDMA

Code Division Multiple Access

CLDC

Connected Limited Device


Configuration

EDGE

Enhanced Data Rates for GSM


Evolution

Mt cng ngh c nng cp t


GPRS

FDMA

Frequency Division Multiple


Access

Phng php a truy cp phn


chia theo tn s

GCF

Generic Connection Framework

Khung mng kt ni tng qut

GIS

Geographical information
system

H thng thng tin a l

Phng thc a truy cp phn


chia theo m
Cu hnh thit b gii hn kt ni

GLONASS Global Navigation Satellite


System

H thng v tinh nh v ton


cu

GMSC

Gateway Mobile Services


Switching Center

Trung tm iu khin dch v di


ng cng mng

GPRS

General Packet Radio Service

Dch v v tuyn gi tng hp

GPS

Global Positioning System

H thng nh v ton cu

GSM

Global System for Mobile

H thng thng tin di ng ton


cu

HLR

Home Location Register

H thng ng k a ch thu
bao thng tr

SV: Nguyn Th Dip T

Trangv

Bo co n tt nghip
HTTP

HyperText Transfer Protocol

Giao thc truyn ti siu vn bn

IMSI

International Mobile Subscriber


Identity

N l chui nhn dng thit b di


ng

J2EE

Java 2 Platform Enterprise


Edition

Nn tng Java 2 phin bn doanh


nghip

J2ME

Java 2 Platform Micro Edition

Nn tng Java 2 phin bn thu


nh

J2SET

Java 2 Platform Standard Edition Nn tng Java 2 phin bn chun

JAD

Java Application Descriptor

Tp tin m t ng dng Java

JAR

Java Archive File

Tp tin lu tr java

JDK

Java Development Kit

JRE

Java Runtime Environment

B cng c pht trin ngn ng


Java ca Sun
Mi trng thc thi Java

JSR

Java Specification Request

Chun c t yu cu Java

JVM

Java Virtual Machine

My o Java

KVM

K Virtual Machine

Dng rt gn ca my o Java
ng dng trong CLDC

MIDlet

Mobile Information Device


applet

Dng ng dng trn di ng


dng MIDP

MIDP

Mobile Information Device


Profile

Hin trng thit b thng tin di


ng

MMS

Multimedia Messaging Service

Dch v tin nhn a phng tin

MSC

Mobile Switching Center

Trung tm chuyn mch di ng

NSS

Network Switching Subsystem.

Phn h chuyn mch

PDA

Personal Digital Assistant

PLMN

Public Land Mobile Network

Thit b k thut s h tr cc
nhn
Mng di ng mt t cng cng

RMS

Record Management System

H thng qun l bn ghi

RS

Record Store

Tp cc bn ghi

SV: Nguyn Th Dip T

Trangvi

Bo co n tt nghip
RSS

Radio SubSystem

H con v tuyn

SGSN

Serving GPRS Support Node

Nt cung cp dch GPRS

SMTP

Simple Mail Transfer Protocol

Giao thc truyn th n gin

SSL

Secure Socket Layer

Lp socket bo mt

TDMA

Time Division Multiple Access

TE

Terminal equipment

Phng thc a truy cp phn


chia theo thi gian
Thit b u cui

VLR

Visitor Location Register

B nh v tr tm tr

WAP

Wireless Application Protocol

Giao thc ng dng khng dy

SV: Nguyn Th Dip T

Trangvii

Bo co n tt nghip

LI NI U
S pht trin mnh m ca cng ngh thng tin v s pht trin nhanh chng
ca cc cng ngh ch to thit b, cc dch v v sn phm phn mm to ra cc
thit b hin i nh my tnh, lap tap ,.. c bit l in thoi di ng. Ngy nay in
thoi di ng khng ch l chic in thoi vi nhng chc nng nghe gi thng
thng m thc s tr thnh mt thit b c trang b nhng cng ngh hin i v
thc s mnh m.Cc sn phm gn y ca cc nh cung cp dch v ni ting th
gii nh Google vi h iu hnh Android hay Apple vi iPhone minh chng cho
nhn nh .
Thit b di ng mc d c nhiu hn ch so vi my vi tnh v tc x l, b nh,
mn hnh hin th nhng n c u th ring l s nh gn v c ng. Hn na s
pht trin khng ngng ca cc ngn ng lp trnh, c bit l JAVA vi nn tng
J2ME - phin bn rt gn cho Java chy trn cc thit b c cu hnh thp v b x l,
b nh v cc cng ngh lin quan khc nh GPRS, XML tr thnh nn tng
cho s ra i v pht trin ca rt nhiu ng dng v dch v chy trn thit b di ng.
Bn cnh , cng ngh GPS d c s dng t lu vi nhng ng dng tuyt vi
v d ng, gim st nhng gn y, GPS c tch hp di ng, em li
nhng ng dng v cng c o v hp dn.
Chnh nhng iu hp dn trn lm em mong mun tm hiu v nghin cu v chng,
l l do em chn ti : Nghin cu pht trin ng dng nh v cho my in thoi
di ng. Phm vi ca ti l em li ci nhn tng quan v GPS, cc cng ngh h
tr nh v, cng ngh J2ME&MIDP ( pht trin ng dng cho di ng), cng ngh
h tr pht trin ng dng nh v (Google API, Location API) v xy dng chng
trnh ng dng nh v . ti s gm cc phn chnh sau:
Chng I : Cng ngh h tr nh v.
Chng II :Cng ngh J2ME, MIDP.
Chng III : C s h tr pht trin ng dng nh v.
Chng IV: Pht trin ng dng nh v.

SV: Nguyn Th Dip T

Trang1

Bo co n tt nghip

Chng I: Cng ngh h tr nh v

CHNG I: CNG NGH H TR NH V


I.1 Gii thiu
GPS -Global Positioning System - l h thng nh v ton cu do B quc phng
Hoa K thit k, xy dng, vn hnh v qun l. Trong cng mt thi im, mt
v tr trn mt t nu xc nh c khong cch n ba v tinh (ti thiu) th s
tnh c ta ca v tr . H thng nh v ton cu l mt h thng c rt
nhiu ng dng trong khoa hc cng ngh v trong i sng hng ngy: o c ia
cht, dn ng, v bn , quc phng an ninh, tm kim cu nn Nhng ng
dng ca h thng GPS rt rng.
I.1.1 Phn loi
I.1.1.a NAVSTAR GPS
NAVSTAR GPS l h thng v tinh pht tn hiu nh v c s dng nhiu
nht hin nay. NAVSTAR GPS c trin khai bi qun i M, bt u hot
ng hon chnh t nm 1993. GPS hay Global Positioning System tht ra l tn
gi chung cho tt c cc h thng c kh nng nh v trn ton cu. V NAVSTAR
GPS l h thng c dng rng ri nht hin nay nn nhiu ngi nh ng GPS
vi NAVSTAR GPS.
NAVSTAR GPS l sn phm k tha ca h thng nh v bng v tinh trc
ca M: Transit. Ban u ch c dng cho cc ng dng qun s, nhng sau
v tai nn thm khc ca hng Air line, GPS c chnh ph cho php s dng
rng ri cho cc ng dng dn s. Tuy nhin, tn hiu dn s ch c chnh xc
tng i so vi tn hiu c dng cho qun s v qun i M vn gi quyn
kim sot.
V mt ng dng, NAVSTAR GPS chnh l h thng nn tng cho hu ht cc
thit b nh v hin c trn th trng.
I.1.1.b GLONASS (Global Navigation Satellite System)
GLONASS c Lin bang X Vit c xy dng t 1976 v t ph ton
cu nm 1991. T sau s sp ca Lin bang X Vit, h thng ny khng cn
c duy tr tt. V cc v tinh ch c tui i khong 5 nm nn nhu l hng
trong vng ph sng bt u xut hin. Ch n nm 2001, cc l hng trong h
thng mi c khc phc v h thng c nng cp s dng thm nhiu tn
s v ko di tui i v tinh.

SV: Nguyn Th Dip T

Trang2

Bo co n tt nghip

Chng I: Cng ngh h tr nh v

Tng t NAVSTAR GPS, GLONASS c 2 tn hiu khc nhau dng cho dn


s ( chnh xc thp) v qun s ( chnh xc cao hn).
I.1.1.c GALILLEO
L d n c s hp tc ca nhiu quc gia trong Lin minh chu u v mt s
nc khc. Tuy nhin Galilleo hin vn giai on lp k hoch. Galilleo khc
bit vi NAVSTAR GPS v GLONASS cc im:
- C th dng tng cng chnh xc cho vic nh v da vo
NAVSTAR GPS v GLONASS: t vi chc mt xung vi cm; ng thi
c kh nng hot ng c lp khi hai h thng trn c vn .
- c xy dng cho mc ch dn s, mi i tng u c th s dng
min ph; qu trnh qun l s minh bch hn do c s tham gia ca nhiu
quc gia.
Galilleo c d kin s i vo hot ng trong khong 2010 n 2013
I.1.2 H thng v tinh GPS
H thng nh v ton cu (Global Positioning System GPS gm 3 phn on:
phn on khng gian, phn on iu khin , phn on ngi s dng.

Hnh 1 : H thng v tinh GPS.

SV: Nguyn Th Dip T

Trang3

Bo co n tt nghip

Chng I: Cng ngh h tr nh v

I.1.2.a Cu trc
 Phn v tr
Gm 24 v tinh quay xung quanh tri t hai ln trong ngy trong qu
o rt chnh xc. cao ca v tinh so vi mt t l 20,183 km, chu k
quay xung quanh tri t l 11 gi 5758
Phn v tr m bo cho bt k no trn tri t u c th c 4 v tinh
quan st gc trn 15 (nu gc di 10 th do 10 v tinh quan st, gc
di 5 c th do 12 v tinh quan st).

Hnh 2 : Cu trc phn v tr.


Nhim v ch yu ca cc v tinh :
Ghi nhn v lu gi cc thng tin c truyn i t b phn iu
khin.
- X l d liu c chn lc trn v tinh.
- Duy tr chnh xc thi gian ca cc ng h nguyn t.
- Chuyn tip thng tin n ngi s dng.
- Thay i qu o bay ca v tinh theo s ii khin ca mt t.
 Phn kim sot
Mc ch trong phn ny l kim sot v tinh i ng hng theo qu o
v thng tin thi gian chnh xc. C 5 trm kim sot t ri rc trn tri t.
Bn trm kim sot hot ng mt cch t ng, v mt trm kim sot l
trung tm. Bn trm ny nhn tn hiu lin tc t nhng v tinh v gi cc
thng tin ny n trm kim sot trung tm. Ti trm kim sot trung tm,
-

SV: Nguyn Th Dip T

Trang4

Bo co n tt nghip

Chng I: Cng ngh h tr nh v

n s sa li d liu cho ng v kt hp vi hai an-ten khc gi li


thng tin cho cc v tinh.Trm trung tm t ti Colorade Springs (M) c
mhim v thu thp d liu theo di v tinh t cc trm thu s liu x l.
 Phn s dng
- Nhng thit b nhn tn hiu GPS:
- Nhng my thu tn hiu GPS c anten ring (my nh v) :
- Cc thit b t ghi (b ghi s liu):
- My tnh (phn mm x l s liu)
I.1.2.b Cch thc nh v
Cc v tinhGPS bay vng quanh Tri t hai ln trong mt ngy theo mt qu
o rt chnh xc v pht tn hiu c thng tin xung Tri t.Mi v tinh GPS
pht lin tc mt tn hiu v tuyn to thnh tng th t hai sng mang, hai m v
mt thng ip iu hng. Khi b thu GPS v tr ON, n s thu ly tn hiu
thng qua antenna b thu. Cc my thu GPS nhn thng tin ny v bng php tnh
lng gic tnh c chnh xc v tr ca ngi dng. V bn cht my thu GPS so
snh thi gian tn hiu c pht i t v tinh vi thi gian nhn c chng. Sai
lch v thi gian cho bit my thu GPS cch v tinh bao xa. Ri vi nhiu qung
cch o c ti nhiu v tinh my thu c th tnh c v tr ca ngi dng v
hin th ln bn in t ca my.
My thu phi nhn c tn hiu ca t nht ba v tinh tnh ra v tr hai chiu
(kinh v v ) v theo di c chuyn ng. Khi nhn c tn hiu ca t
nht 4 v tinh th my thu c th tnh c v tr ba chiu (kinh , v v
cao). Mt khi v tr ngi dng tnh c th my thu GPS c th tnh cc thng
tin khc, nh tc , hng chuyn ng, bm st di chuyn, khong hnh trnh,
qung cch ti im n, thi gian Mt Tri mc, ln v nhiu th khc na.

Hnh 3: Nguyn tc c bn nh v GPS.

SV: Nguyn Th Dip T

Trang5

Bo co n tt nghip

Chng I: Cng ngh h tr nh v

I.2 Cc cng ngh h tr nh v


I.2.1 Cng ngh GIS.
GIS(Geographical information system)- H thng thng tin i l - l mt h
thng tch hp phn cng, phn mm, v d liu lu gi, phn tch, qun l v
trnh by d liu lin quan ti v tr v thng tin a l. Theo cch hiu hin nay,
GIS cn baogm cc cng c truy vn thng tin, phn tch v kt hp cc thng
tin ri rc, bn , biu , bo co
GIS ng vai tr rt quan trng trong cc LBS , v nu thiu c s d liu thng
tin v cc v tr do GIS cung cp, LBS khng th rt ra ngha t thng tin v tr
thu c ca thit b.
GIS c ng dng trong kh nhiu ngnh nh bt ng sn, y t, an ninh quc
phng hay quy hoch th.
I.2.1.a D liu cho GIS
D liu cho GIS thng kh ln, lin kt nhiu loi d liu khc nhau: d liu
c th c nhp bng tay, bng cc thit b h tr vi tnh nng GPS, t nh scan
v.v c th chuyn nhiu loi d liu th khc nhau ny thnh d liu lun l
phc v cho vic x l i hi s kt hp ca kh nhiu cng ngh trong c :
 nh v.
H tr vic v bn v thu thp d liu. Ni bt nht l Google vi h
thng street car thu thp nh ng ph nhiu ni trn th gii. Google
street view kt hp hnh nh vi v tr thu c hnh nh dngm hnh
3D ca con ph. Gi y cc phng tin c thit b nh v c th gip
iu chnh chnh xc ca cc bn , thu thp d liu hnh nh.
 X l nh.
Cc cng ngh x l nh c s dng kt hp thng tin t nhiu ln
kho st khc nhau,sa cha sai st gia cc ln kho st ca cng mt khu
vc.T , xy dng c d liu vi chnh xc tng i.
 Nhn dng.
Vi cng ngh nhn dng gi y cc bn trn giy hoc cc d liu
kho st vng/min c th c scan, cc vng khc nhau trn bn c
t ng nhn dng v chuyn thnh dng vector, d liu ch v s c
a vo c s d liu mt cch hon ton t ng. lu tr d liuc kh
nhiu kiu d liu c ng dng trong GIS v c phn thnh 2 loi
chnh:
- D liu dng raster: D liu c lu di dng bng.D liu c lu
thng dng nht l nh k thut s mi im trn nh mang gi tr l mu),
SV: Nguyn Th Dip T

Trang6

Bo co n tt nghip

Chng I: Cng ngh h tr nh v

d liu nhit , lng ma tng khu vc. D liu raster c th c


lu vo file hoc c s d liu, tuy nhin kch thc bng kh ln gy kh
khn cho vic tm kim.
- D liu dng vector: L cch tt nht biu din cc yu t a l nh
sng, h.Vector c th biu din di dng ton hc (ta 2 u ca mt
ng thng) thay v nhiu im lin tc nh d liu dng raster
nnbng d liu nh hn v d tm kim hn.D liu vector thng kt hp
ca nhiu i tng hnh hc n gin nh: im(biu din vi tr no
),ng(biu din ng x,sng ,mch nc,..),a gic (biu din mt
vng,khun vin cng trnh,mt mt h,)
- Cc d liu phi khng gian (non spatial) khc: Thng c lu tr kt
hp vi cc kiu d liu trn phc v vic x l v ra quyt nh. V d
hnh nh v tinh ca mt qun (raster) c th i km vi bn ng
(vector) v cc ch tiu pht trin x hi nh s dn, mt dn s, thnh
phn dn s

Hnh 4 : Cc kiu d liu c ng dng trong GIS.


I.2.1.b X l thng tin vi GIS
X l GIS khng ch gi gn trong mt h thng nht nh.Cc h thng GIS c
th s dng cc cng c h tr di dng plug-in v cng c pht trin phn mm
(Software Development Kit SDK) i km ngi dng c th t to cng c x
l da trn d liu mt cch ph hp. X l thng tin GIS gm cc bc : m hnh
ha d liu, m hnh ha cc mng li, m hnh ha bn , thng k a l, m
ha a ch.

SV: Nguyn Th Dip T

Trang7

Bo co n tt nghip

Chng I: Cng ngh h tr nh v

I.2.1.c Trnh by thng tin vi GIS


 Bn
GIS thng c dng to ra bn . Cc ng dng GIS thng cho
php ngi dng d dng thay i cch th hin bn nh t l, mu
sc, k hiu v.v sao cho ph hp. V tn dng c d liu c nn GIS
to ra bn nhanh hn nhiu so vi cc phng php truyn thng. Bn
v cc s liu km theo thng c dng ra quyt nh hoc tham
kho. Bn c th c nhiu dng: bn giy thng thng hoc bn
s vi cc tnh nng tng tc.
 ha my tnh.
GIS cng c th dng biu din d liu a l mt cch trc quan,
chng hn nh cc danh sch hoc biu . ha my tnh m ra nhiu
hng mi theo di d liu a l nh m hnh 3 chiu, kh nng thm
bt cc lp d liu tc thi v quan st t nhiu gc .
ng dng ca GIS khng ch tm v m nh quy hoch m cn c th
tm vi m nh qun l mt ta nh. GIS hon ton c th c ng dng
theo di lung nhit trong mt cao c, bao gm c cc yu t bn ngoi
nh mt tri v ma gi.
I.2.2 Cng ngh truyn d liu
I.2.2.a WAP
WAP (vit tt ca Wireless Application Protocol - Giao thc ng dng Khng
dy) l mt tiu chun cng ngh cho cc h thng truy nhp Internet t cc thit b
di ng nh in thoi di ng, PDA, v.v... Mc d tiu chun ny cha c
chun ha trn ton cu, nhng nhng ng dng ca giao thc ny tc ng rt
ln n ngnh cng nghip di ng v cc lnh vc dch v lin quan. WAP l giao
thc truyn thng mang li rt nhiu ng dng cho ngi s dng thit b u cui
di ng nh E-mail, web, mua bn trc tuyn, ngn hng trc tuyn, thng tin
chng khon, v.v...
WAP c th c dng a ni dung n vi ngi dng mt cch ch ng
(WAP push) m khng cn ngi dng yu cu. Ban u WAP cn i km vi
WML trin khai v th hin cc trang web tiu chun cho ph hp vi cc thit
b di ng. S dng khun dng tn hiu d liu ti u, WAP c thit k
duyt cc ni dung web ti thit b v tuyn thng qua loi b cc thnh phn
ho nhm hin th trn mn hnh nh v hn ch bng thng. Thc t rt nhiu m
WML c sa i t m HTML.Dn dn cng vi s pht trin ca cng ngh
SV: Nguyn Th Dip T

Trang8

Bo co n tt nghip

Chng I: Cng ngh h tr nh v

thit b di ng, WML tr nn khng cn thit v vi WAP 2.0, WML c


thay th bng XHTML.
I.2.2.b GPRS
 Tng quan v GPRS.
GPRS (General Packet Radio Service) l dch v v tuyn gi tng hp
c pht trin trn nn tng cng ngh thng tin di ng ton cu (Global
System for Mobile- GSM) s dng cc knh a truy cp phn chia theo thi
gian (TDMA ).
Cng ngh GPRS hay cn bit n vi mng di ng th h 2.5G, p
dng nguyn l gi v tuyn truyn s liu ca ngi s dng mt cch
c hiu qu gia my in thoi di ng ti cc mng truyn s liu. Li
ch chnh ca GPRS l ngun ti nguyn v tuyn c truy xut ch khi d
liu tht s c gi i gia trm di ng v mng, c pht trin da trn
cc thnh phn ca mng GSM hin c, v vy tit kim c chi ph ng
thi s dng c ti nguyn tit kim, gim nghn mch. Hn na, GPRS
cn nng cao cht lng dch v d liu, tng tin cy. GPRS p dng
nguyn tc gi v tuyn truyn gi d liu hiu qu hn gia trm di
ng GSM v mng d liu gi bn ngoi. Mt ngi s dng GPRS c th
s dng 8 khe thi gian t tc ti a hn 100kbit/s.
 M t kin trc chnh ca mt mng GPRS.

Hnh 5 : Kin trc chnh ca mng GPRS


V lc u GSM c thit k cho lu lng chuyn mch knh nn vic
a dch v chuyn mch gi vo i hi phi b sung thm thit b mng
cng nh nng cp cc phn mm tng ng .Mng GPRS kt ni vi cc
mng s liu cng cng nh IP v mng X.25.D liu trn mng cung cp
SV: Nguyn Th Dip T

Trang9

Bo co n tt nghip

Chng I: Cng ngh h tr nh v

s vn chuyn d liu gi tc 9.6Kbps n 171 Kbps. Hn na nhiu


user c th chia s cng ngun ti nguyn v tuyn.Nhng thay i trong
mng GPRS c th c tm tt trong bng sau :
Thnh
GSM

phn

ca

mng Nhng thay i v nng cp trong mng GPRS

TE(terminal equipment)
BTS (Base Transceiver
Station)

Ton b thit b u cui thu bao phi mi


truy xut dch v GPRS, nhng thit b ny phi
tng thch vi mng GSM.
Nng cp phn mm.

BSC (Base Station


Controller)

Nng cp phn mm v thit lp thit b phn cng


mi gi l PCU (Packet Control Unit). PCU dn
lu lng d liu n mng GPRS v l mt thnh
phn ca BSC.

Core Network

S pht trin ln GPRS i hi nhiu thnh phn


mi.

Cc c s d liu (VLR,
HLR..)

Tt c cc c s d liu trong mng u phi nng


cp phn mm x l cc chc nng v m hnh
mi trong GPRS.

Bng 1 : Nhng thay i v nng cp trong mng GPRS.


 Cc loi thit b di ng h tr GPRS
- TE.
Thut ng Terminal Equipment dng ch cc loi in thoi di ng
khc nhau c th s dng trong mng GPRS.
Mt TE GPRS c th l mt trong 3 lp A, B, C :
+ Lp A h tr cc dch v GSM v GPRS (nh SMS v thoi) ng
thi. S h tr ny gm truy nhp, gim st, lu lng .
+ Lp B c th ng k vi mng cho c dch v GPRS v GSM.Nhng
ngc vi lp A n ch c s dng mt trong hai dch v ti thi im
c cho. Mobile Station (MS) c th tm ngng chuyn gi cho kt ni
chuyn mch knh hon ton v sau li tip tc.
+ Lp C h tr truy nhp khng ng thi .User phi chn dch v kt
ni .V th mt User lp C ch c th hot ng mt dch v c
chn trc bng ngi dng (hoc mc nh ), cn dch v khng c
SV: Nguyn Th Dip T

Trang10

Bo co n tt nghip

Chng I: Cng ngh h tr nh v

chn th khng th truy nhp c (tr SMS c th nhn gi bt c lc


no).
- GPRS BSS (Base Station System).
+ BSS gm BSC (Base Station Controller) v BTS (Base Transceiver
Station).
+ Mi BSC yu cu thit lp mt hay nhiu PCU (packet control unit) v
nng cp phn mm. PCU (packet control unit) cung cp giao din d liu
vt l v logic ngoi trm gc(BSS) cho lu lng d liu gi. BTS cng
yu cu nng cp phn mm, nhng khng cn thay i phn cng.
+ BSC cung cp cc chc nng ca knh v tuyn c lin quan. BSC c
th thit lp, gim st, ngt kt ni cuc gi chuyn mch knh v chuyn
mch gi. N l mt chuyn mch dung lng cao cung cp nhiu chc
nng nh: chuyn giao, n nh knh. Mt MSC (Mobile Switching Center)
phc v mt hay nhiu BSC.
+ Khi c lu lng thoi v d liu bt ngun t mt thit b u cui
thu bao, th n c chuyn qua BTS v t BTS n BSC theo nh chun
GSM.Tuy nhin ng ra ca BSC d liu c tch ra, thoi c gi n
trung tm chuyn mch di ng MSC theo chun GSM cn d liu c
gi n thit b mi l SGSN, ngang qua PCU thng qua giao tip Frame
Relay
- MSC(Mobile Services Switching Center).
MSC thc hin chc nng chuyn mch trong GSM ,SGSN (Serving
GPRS Support Node) chuyn mch gi.MSC iu khin cc cuc gi n
v i t cc in thoi khc hoc cc h thng d liu, nh mng PSTN
(Public-Switched Telephone Network), mng ISDN(Integrated Services
Data Network), PLMN (Public Land Mobile Network) v mt mng ring
khc.
+ Vng nh tuyn SGSN RAC (routing area code) l mt phn con ca
vng nh v ca MSC LAC (location area code). Mt MSC LAC l mt
nhm cc t bo BSS.H thng s dng LAC tm thu bao ang hot
ng.Mt LAC l mt phn ca mng m MS(Mobile Station) c th di
chuyn m khng cp nht v tr.
+ C th c nhiu MSC (Mobile Switching Center) tng ng vi mt
SGSN(Serving GPRS Support Node) .Mt MSC c th kt ni vi nhiu
SGSN ty thuc vo lu lng thc t.
SV: Nguyn Th Dip T

Trang11

Bo co n tt nghip

Chng I: Cng ngh h tr nh v

- GMSC (Gateway Mobile Services Switching Center).


GMSC th ging GMSC trong GSM. N chuyn mch knh cc cuc gi
gia GSM v PSTN, mng in thoi c nh, v th n h tr chc nng
nh tuyn cc cuc gi n MSC ni m thu bao ng k.

- HLR (Home Location Register).


+ L ni lu tr thng tin ca thu bao di ng. Thng tin ny bao gm
dch v b sung, cc tham s nhn thc, tn im truy xut (Access Point
Name(APN)), v c v tr ca MS. i vi GPRS, thng tin thu bao
thay i gia HLR v SGSN. B ba nhn thc trong GPRS c ly trc
tip t HLR n SGSN ch khng qua MSC/VLR(Visitor Location
Register) nh trong CS GSM.
+ Thng tin n t HLR n SGSN c thit lp bi nh khai thc ca
thu bao. Thng tin ny c chuyn i khi ngi khai thc thay i thng
tin ca thu bao, hoc khi mt SGSN cn thng tin v thu bao sau khi ng
nhp hoc roaming. SGSN c cng c thng bo v roaming.
- VLR (Visitor Location Register).
+ VLR cha thng tin v tt c cc MS hin ang nh v trong MSC
hoc SGSN. SGSN cha cc chc nng VLR cho chuyn mch gi. Tng
t, VLR chuyn mch knh l mt thnh phn tng thch ca MSC.
+ VLR cha thng tin thu bao tm thi m MSC v SGSN cn cung
cp cc dch v cho thu bao.
+ Khi mt MS roam n mt MSC mi hoc vng nh tuyn SGSN,
VLR ca MSC hoc SGSN yu cu v lu tr d liu v MS t HLR.
Nu MS thc hin mt cuc khc vo lc khc, thng tin cn thit thit
lp cuc gi sn sng.
+ GPRS VLR gm phn mm trong SGSN. VLR cha thng tin v
SGSN ang c s dng. i vi h thng GPRS, trc tip HLR thay v
(CS) MSC/VLR c dng cho th tc nhn thc ca MS. V th, SGSN
t c b ba nhn thc t HLR.
- Mng li.
Trong mng li, cc MSC da trn k thut chuyn mch knh khng x
l c lu lng gi. V th c hai thnh phn mi c thm vo l
GGSN(Gateway GPRS Support Node) v SGSN (GPRS Serving Nodes
(GSNs)).
SV: Nguyn Th Dip T

Trang12

Bo co n tt nghip

Chng I: Cng ngh h tr nh v

+ GSNs (GPRS Serving Nodes) cp pht v nh tuyn gi d liu gia


MS v PDN (Packet Data Network) ng thi thu thp thng tin v vic s
dng ti nguyn GPRS.
+ SGSN( Serving GPRS Support Node):
SGSN chu trch nhim phn phi gi d liu n v i t trm di ng
trong vng phc v ca n. Nhim v ca n bao gm lun c qun l di
ng , qun l nh tuyn v truyn gi, qun l lin kt logic v chc nng
nhn thc v tnh cc. Thanh ghi v tr ca SGSN lu tr thng tin nh v
tr cell, VLR hin ti v d liu c nhn ca user (IMSI, a ch s dng
trong mng d liu gi) ca tt c cc user GPRS ng k vi SGSN
ny.C th coi SGSN l MSC chuyn mch gi. N gi cc gi IP c
nh a ch n / i n MS c ng nhp trong vng phc v ca
SGSN. Mt thu bao GPRS c th c phc v bi bt c SGSN no
trong mng tt c ty thuc vo v tr. Lu lng c nh tuyn t SGSN
n BSC, ngang qua BTS n MS.
+ GGSN (Gateway GPRS Support Node):
ng vai tr nh mt giao tip gia mng xng sng GPRS v mng
d liu gi bn ngoi. N chuyn i gi n t SGSN vo dng giao thc
gi thch hp (nh IP hoc X.25) v gi chng n mng gi tng ng.
hng khc, a ch PDP(Packet Data Protocol) ca gi d liu ang n
c bin i thnh a ch GSM ca user ni n. Gi d liu nh a
ch li c gi n SGSN qun l n. V mc ch ny, GGSN lu tr a
ch SGSN hin ti v thng tin c nhn ca user trong khi ng k v tr.
GGSN cng thc hin chc nng nhn thc v tnh cc. Thng c mi
quan h nhiu nhiu gia SGSN v GGSN. Mt GGSN l giao tip vi
mng d liu gi bn ngoi ca nhiu SGSN. Mt SGSN c th nh tuyn
gi ca n qua nhiu GGSN khc nhau n cc mng d liu gi khc
nhau.
Giao tip Gb kt ni gia BSC vi SGSN .Qua giao tip Gn v Gp, d
liu user v d liu bo hiu c truyn dn gia cc GSNs. Giao tip Gn
s c dng nu SGSN nh v trong cng mt mng PLMN(Public Land
Mobile Network), trong khi giao tip Gp c dng nu trong cc mng
PLMN khc nhau.
SV: Nguyn Th Dip T

Trang13

Bo co n tt nghip

Chng I: Cng ngh h tr nh v

Tt c GSNs c kt ni qua mng xng sng GPRS da trn IP.


Trong mng ny, GSNs ng gi PDN (packet data networks ) v truyn
dn chng dng GPRS Tunneling Protocol (GTP).C 2 loi mng xng
sng GPRS:
1

Intra PLMN: kt ni cc GSNs ca cng mt mng PLMN.

2
Inter PLMN: kt ni cc GSNs ca cc mng PLMN khc nhau.
Cn phi c s chp nhn roaming gia hai nh cung cp mng thit lp
mng ny.
SGSN chu trch nhim phn phi gi d liu n v i t trm di ng
trong vng phc v ca n. Nhim v ca n bao gm lun c qun l di
ng, qun l nh tuyn v truyn gi, qun l lin kt logic v chc nng
nhn thc v tnh cc. Thanh ghi v tr ca SGSN lu tr thng tin nh v
tr cell, VLR hin ti v d liu c nhn ca user (IMSI (International
Mobile Subscriber Identity), a ch s dng trong mng d liu gi) ca tt
c cc user GPRS ng k vi SGSN ny.

BSC
BTS

MS

BSC

BTS

Inter-PLMN
SGSN

Intra-PLMN
GPRS backbone

PLMN1

SGSN

GPRS backbone

SGSN

Intra-PLMN

Border Gateway

Border Gateway

GPRS backbone

PLMN2

GGSN

GGSN

Packet data network


Router

Host

LAN

Hnh 6 : M t hai mng intra PLMN kt ni vi mt inter PLMN

Cng giao tip gia PLMN v inter PLMN c gi l border


gateway. N thc hin chc nng an ton bo v mng intra PLMN
trc cc user khng c nhn thc.

SV: Nguyn Th Dip T

Trang14

Bo co n tt nghip

Chng I: Cng ngh h tr nh v

Giao tip Gn v Gp cng c nh ngha gia cc SGSNs. N cho php


SGSN trao i h s ca user khi MS di chuyn t mt vng SGSN ny
n vng SGSN khc.
Giao tip Gi kt ni PLMN vi PDN ring hoc cng cng, nh mng
Internet. Giao tip vi IP (IPv4 v IPv6) v mng X.25.
HLR lu tr h s user, a ch SGSN hin ti, v a ch PDP cho mi
user GPRS trong PLMN. Giao tip Gr c dng trao i thng tin gia
HLR v SGSN.
V d, SGSN thng bo vi HLR v v tr hin ti ca MS. Khi MS ng
k vi mt SGSN mi, HLR s gi h s user cho SGSN ny. GGSN dng
ng bo hiu gia GGSN v HLR (giao tip Gc) cp nht thanh ghi v
tr ca n.
C th kt hp cc th tc attachment v cp nht v tr ca GSM v
GPRS. Hn na, bn tin tm gi ca chuyn mch knh GSM c th thc
hin ngang qua SGSN. V th, giao tip Gs kt ni c s d liu ca SGSN
v MSC/VLR.
 Cc lp GPRS.
Lp ca mt in thoi h tr GPRS s quyt nh tc m d liu c th
c truyn. Theo chuyn mn k thut th lp GPRS lin quan n s
lng khe thi gian cn trng c dng upload (ti ln - gi d liu
in thoi ) hay download (ti xung - nhn d liu t mng bn ngoi ). S
khe thi gian c dng truyn d liu c thm vo cc khe m dnh
ring cho cc cuc gi. Nhng khe thi gian ny cn rnh ng thi, cho
nn s khe thi gian cng nhiu, tc truyn d liu cng nhanh. Bi v
GPRS truyn d liu di dng gi, cc khe thi gian khng c dng
tt c mi thi im, nhng c chia s gia nhng ngi s dng trong
mng. iu ny lm tng cng hiu sut bng thng trn mng, v n
cng c ngha l tnh tin da theo dung lng d liu c truyn l hp l
bi v khng phi lc no ngi dng cng dng dch v GPRS. V trong
sut thi gian mng bn, tc truyn d liu gim xung bi v mng u
tin cho cc cuc gi hn.

SV: Nguyn Th Dip T

Trang15

Bo co n tt nghip

Chng I: Cng ngh h tr nh v

Mt s lp GPRS ph bin:
Lp GPRS

S khe

Tc truyn d liu ti a

Lp 2

8 - 12 kbps upload / 16 - 24 kbps download

Lp 4

8 - 12 kbps upload / 24 - 36 kbps download

Lp 6

24 - 36 kbps upload / 24 - 36 kbps download

Lp 8

8 - 12 kbps upload / 32 - 40 kbps download

Lp 10

16 - 24 kbps upload / 32 -

Lp 12

32 - 48 kbps upload / 32 - 48 kbps download

8 kbps download

Bng 2 : Mt s lp GPRS ph bin


 Cc loi thit b di ng h tr GPRS
-Loi A: C th kt ni vo dch v GPRS v dch v GSM (thoi,
SMS), cng lc c hai. Nhng thit b nh vy c mt trn th trng.
-Loi B : C th kt ni vo dch v GPRS v dch v GSM (thoi,
SMS), nhng ch dng mt trong hai dchv vo mt thi im. Trong khi
dng dch v GSM, dch v GPRS b ngng sau s t ng c tip tc
sau khi dch GSM kt thc . Phn ln thit b di ng GPRS thuc loi B.
-Loi C : c kt ni vi hoc dch v GPRS hoc dch v GSM (thoi,
SMS). Phi c chuyn bng tay gia hai dch v .
Mt thit b Loi A ng ngha c th cn phi truyn ti trn hai tn s
khc nhau cng mt lc, v do s cn hai sng v tuyn. trnh yu
cu qu tn km ny, mt thit b di ng GPRS c th hin thc tnh nng
ch truyn ti kp (DTM). Mt in thoi tng thch DTM c th dng
ng thi thoi v d liu dng gi, cng vi s h tr t mng m bo
rng khng nht thit phi truyn ti trn hai tn s khc nhau cng mt lc.
Nhng in thoi nh vy c xem l loi A "gi", i khi cn c gi l
"loi A n gin".
 ng dng ca GPRS.
- Truy cp Internet: S dng mt my tnh xch tay hoc thit b khc
nh Palm, PDA, Pocket PC v mt my in thoi di ng GPRS gip
ngi dng c th truy cp Internet (WEB, WAP) xem tin tc mi lc,
mi ni trong phm vi ph sng GPRS ca VinaPhone vi tc ng
truyn xp x 56Kbps.
- Xem Video trc tuyn : s dng ng dng Video Streaming my PC
c kt ni vi my in thoi di ng h tr GPRS hoc mt s th h
SV: Nguyn Th Dip T

Trang16

Bo co n tt nghip

Chng I: Cng ngh h tr nh v

my di ng c h tr Video Streaming nh Nokia 9210, 3650;


SonyEricsson P800; Siemens SX45... s dng ng dng ny, ngi
dng phi ti v v ci t my phn mm PVPlayer. Sau khi my tnh kt
ni GPRS chy ng dng trn v nhp vo a ch cn truy cp tng ng.
- Gi, nhn th in t: S dng cc phn mm ph bin nh Microsoft
Outlook/Netscape Messenger gi, nhn th in t trn my PC kt ni
mng GPRS .
- Nhn tin a phng tin MMS .
- Dch v truyn s liu (FTP): khch hng c th gi cc tp d liu
quan trng t my tnh xch tay (laptop) ln my ch thng qua modem l
my in thoi di ng mng VinaPhone s dng dch v GPRS v ngc
li. Vi tc truyn d liu cao v cch tnh cc u th ca dch v
GPRS khch hng c th ti cc hnh nh mu tnh hoc ng c sc, nhc
chung a m, (Polyphonic, SP MIDI, X-MIDI, MP3, AMR...) v cc tr
chi, cc ng dng v my in thoi gii tr.
I.2.2.c EDGE
EDGE (Enhanced Data rates for GSM Evolution) l mt ci tin na ca GPRS,
c coi l mt phn ca cng ngh cn 3G (2.75G). EDGE nng tc download
ti a ln 236kbit/s v upload ti a ln 118kbit/s ty theo cu hnh. EDGE m ra
kh nng cung cp cc dch v a phng tin trn di ng: gi y tc
download nhanh trin khai cc ng dng cn nhiu bandwitdth nh video
streaming, truyn hnh, video call v nhiu ng dng khc.
C WAP, GPRS v EDGE u c im chung l gn lin vi mng di ng, t
c tm hot ng rng, ph hp cung cp LBS mi ni. Tuy nhin cht
lng dch v ca cc giao thc ny vn ph thuc vo nh cung cp v mt s yu
t vt l nh tc di chuyn, khong cch ti trm pht v.v Ngoi ra gi c
cng c th l tr ngi vi ngi dng Vit Nam.
I.2.2.d Bluetooth
Bluetooth l giao thc truyn ti d liu gia cc thit b bng sng v tuyn.
Bluetooth c thit k t tn nng lng trong qu trnh hot ng v hin c
th t ti tc 3mbit/s. Bluetooth c s dng rng ri kt ni cc thit b
nh tai nghe, iu khin, bn phm, chut, truyn / nhn file v hu ht chc nng
ca giao thc hng ngoi (infrared) trc y. Ngoi ra my tnh cn c th s
SV: Nguyn Th Dip T

Trang17

Bo co n tt nghip

Chng I: Cng ngh h tr nh v

dng in thoi lm modem truy cp internet qua bluetooth. Bluetooth c tm


hot ng khong vi mt.
I.2.2.e Wifi
Wifi l chun truyn d liu qua sng v tuyn vi tc tng i cao
(54Mbit/s v ln n khong 150Mbit/s vi cng ngh ca cc nh sn xut c
lp), c tm hot ng tng i (t vi chc n vi trm mt). Wifi c tch
hp trong mt s thit b di ng cao cp cho php ngi dng la chn phng
thc kt ni: nhanh, r nhng c tm hot ng hn ch ca Wifi v dch v
internet di ng ca nh cung cp dch v - thng chm hn v mc hn (xem
2.3.1). Wifi khng c thit k tit kim nng lng nn thit b di ng
thng khng th duy tr hot ng lu khi kt ni Wifi.
I.2.2.f WiMax
WiMax l mt phng thc truyn ti qua v tuyn khc c tm ph sng tt
(vi km) tuy nhin nh i bng tc (Ti a 3Mbit/s vi cng ngh hin ti,
144Mbit/s trn l thuyt). WiMax c hoch nh lm mt phn ca cng ngh
4G; tuy nhin hin nay WiMax vn cha c n nhn rng ri v cc vn k
thut (cha c tn s chun v chun cha c hon thin).
Vi LBS, bluetooth v wifi c th c kt hp cung cp dch v trong mt
vng no . C hai u c u im l tc kh nhanh nhng li b hn ch tm
hot ng; trong khi WiMax c tm hot ng ln nhng vn cha ph bin (v
kh tch hp vo thit b di ng v gi thnh kh cao).
Ngoi ra, vi cc im truy cp (access point) wifi c nh v bit v tr, c
th suy ra v tr ca ngi truy cp theo cch ging nh Cell identification.
I.2.2.g Truyn thng v tinh.
c pht trin ch yu cung cp dch v thoi, cc dch v vin thng trn
v tinh dn dn c m rng bao gm c dch v d liu, truyn hnh v radio.
V tinh c th c dng truy cp internet ngay c nhng vng ho lnh,
khng c bt k loi trm thu pht no. Mi v tinh c th cung cp dung lng
khong 40Mbit/s cho vi ngn ngi s dng, tuy nhin mi ngi dng ch c tc
khong 20kbits/s. S d tc chm v khong cch t mt t ti v tinh l
kh ln, hn na tn hiu truyn i vi vn tc nh sng cn chu nh hng ca
sai lch ng h ca thit b cho v nhn, ngoi ra cht lng tn hiu cng b nh
hng bi cc yu t thi tit. S dng v tinh thng c gi kh t, bao gm c
SV: Nguyn Th Dip T

Trang18

Bo co n tt nghip

Chng I: Cng ngh h tr nh v

chi ph trang thit b (cho thu, b gii m) v chi ph duy tr (thu bao thng). Tuy
c nhiu khuyt im v khng thng dng nhng v tinh c th l la chn duy
nht khi cn trao i d liu mt vng ho lnh.

I.3

ng dng ca GPS.
GPS c ng dng rt nhiu trong cuc sng, chng ta c th thy ni bt nht
l trn bn vi s tham gia ca cc n anh trong cng ngh nh google,
yahoo,..tonn s si ng trn th trng.
Google vi Google Maps l dch v bn trc tuyn u tin.Sau l hng
lat cc sn phm nh : Google Maps cho mobile trn cc dng my khc nhau
nh : Android, IPhone, Windows Mobile, Symbian / UIQ, BlackBerry OS, Palm
OS,Google Latuide. D Google Maps ca Google c nhng hn ch: d liu ng
ph ch c mt s quc gia xc nh nn chc nng tm ng v mt s chc
nng lin quan ch hot ng cc quc gia ny; Vit Nam hin ch c tn ng
ch cha c thng tin ng (chiu, rng, v.v) trn Google Maps nn cng
khng th dng chc nng tm ng.Nhng Google Map vn chnh lnh th
trng.
Cnh tranh cng Google l Yahoo. Yahoo map ch yu hot ng trn cc h
thng desktop v khng c phin bn ring cho cc thit b di ng nh Google
map.Do l ng dng trn nn web nn Yahoo khng c kh nng xc nh v tr
ca ngi dng Yahoo ch c th cung cp local search khi ngi dng di chuyn
n v tr ca mnh trn bn hoc nhp ng query cho v tr ca mnh. V tm
ng, Yahoo cng gp phi hn ch tng t khi ngi dng phi nhp ni i v
ni n. Trn di ng, kt qu local search khng hin ln bn m di dng
vn bn.
Bn cnh ,cng c cc sn phm nh : Diadiem.com (sn phm ca cng ty
c phn a im),Vietmap(cng ty TNHH bn Vit), Vietbando.com(cng ty
c phn tin hc - bn Vit Nam),Vimap (sn phm ca nhm Visky, thuc
FPT),SMS Locator(dch v ra i vo thng 6/2009 ca Mobifone nhm mc
ch cung cp thng tin a im da trn v tr ca ngi dng thng qua tin
nhn).
Ngoi ra ,GPS cn c ng dng trong c quan chnh ph, lnh vc du kh v
kh t, lnh vc Gao dc, lnh vc ti nguyn thin nhin, thu thp GIS di ng,
thu thp s liu h tng.

SV: Nguyn Th Dip T

Trang19

Bo co n tt nghip

Chng II: Cng ngh J2ME, MIDP

Chng II CNG NGH J2ME, MIDP


II.1

J2ME

II.1.1 Gii thiu


in thoi di ng ngy nay c nhiu chc nng cao cp nh c bo, tiu
thuyt, tra t in, bn v nht l mang th gii gii tr n bn cnh, nhng bn
nhc hay, nhng games hay s lun sn sng vo bt c lc no.
gp phn cho s pht trin ngoi yu t phn cng th nn tng phn
mm l nhn t quyt nh v theo thc t , c hng chc hng sn xut in thoi
khc nhau v s dng cng ngh khc nhau. Do nn tng J2ME- Java 2
Platform, Micro Edition c pht trin.
J2ME c gii thiu vo thng 6 nm 1999 ti Hi ngh Cc nh pht trin
JavaOne, J2ME mang kh nng a nn ca ngn ng Java vo cc thit b nh hn,
cho php cc thit b di ng khng dy chia x cc ng dng.
II.1.1.a Lch s
J2ME c pht trin t kin trc Java Card, Embeded Java v Personal Java
ca phin bn Java 1.1. n s ra i ca Java 2 th Sun quyt nh thay th
Personal Java v c gi vi tn mi l Java 2 Micro Edition, hay vit tt l
J2ME. ng vi tn gi, J2ME l nn tng cho cc thit b c tnh cht nh, gn (
Micro c ngha l nh trong ting Anh ). Sau y l bng minh ha tin trnh lch
s ca J2ME:
Phin bn 1
TM

My tnh c nhn

JDK 1.1.x

Phin bn 2
TM

Java 2 Platform,
Standard Edition (J2SETM)

My tr l c nhn k thut PersonalJavaTM


s (PDA)

JavaTM 2 Platform,
Micro Edition (J2SETM) / CDC

in thoi v my nhn tin

J2ME / CLDC

Cc thit b nhng

EmbeddedJavaTM

J2ME / CLDC

Cc loi th thng minh

JavaCardTM

JavaCardTM

Bng 3 : Bng minh ha tin trnh lch s ca J2ME


II.1.1.b u im
 Nn tng ca java hin c :
- Nn tng Standard Edition (J2SE) : c thit k chy trn cc my
tnh c nhn v cc my trm.
SV: Nguyn Th Dip T

Trang 20

Bo co n tt nghip

Chng II: Cng ngh J2ME, MIDP

- Nn tng Enterprise (J2EE) : c thit k nhm ti cc ng dng chy


trn my ch vi nhng ci t sn cho Servlets, JSP v XML
- Nn tng Miro Edition (J2ME) : c thit k cho ci thit b c b c b
nh, mn hnh v nng lc x l hn ch.
 Vy ti sao J2MEMc chn?
- J2ME c thit k dnh cho cc my c nng lc x l hn ch.
- Th trng ca J2ME c m rng ra cho nhiu chng loi thit b nh:
+ Cc loi th c nhn nh Java Card.
+ My in thoi di ng.
+ My PDA ( Personal Digital Assistant - thit b k thut s tr gip
c nhn).
II.1.2 Kin trc
II.1.2.a Cu hnh
Da theo cu hnh th c hai phin bn ca J2ME:
- Phin bn da trn CLDC ( cu hnh thit b kt ni gii hn Connected Limited Device Configuration):
+ c thit k nhm vo th trng cc thit b cp thp (low-end),
cc thit b ny thng thng l my in thai di ng v PDA vi khong
512 KB b nh.
+ Dng my o KVM ( K Virtual Machine ), l dng my o rt gn ca
JVM ( Java Virtual Machine ), c thit k dnh cho cc thit b 16-32 bit
vi t nht 128 KB b nh.
- Phin bn da trn CDC (cu hnh thit b kt ni - Connected Device
Configuration):
+ c a ra nhm n cc thit b c tnh nng mnh hn dng thit b
thuc CLDC nhng vn yu hn cc h thng my bn s dng J2SE.
Nhng thit b ny c nhiu b nh hn ( thng thng l trn 2MB ) v c
b x l mnh hn. Cc sn phm ny c th k n nh cc my PDA cp
cao, in thoi web, cc thit b gia dng trong gia nh
+ Dng my o CVM ( C Virtual Machine ), l dng my o rt gn ca
JVM ( Java Virtual Machine ), c kin trc 32-bit yu cu hn 2 MB b
nh.
SV: Nguyn Th Dip T

Trang 21

Bo co n tt nghip

Chng II: Cng ngh J2ME, MIDP

C 2 dng cu hnh k trn u cha my o Java (Java Virtual Machine) v tp


hp cc lp (class) Java c bn cung cp mt mi trng cho cc ng dng J2ME.
Tuy nhin, vi cc thit b cp thp, do hn ch v ti nguyn nh b nh v b x l
nn khng th yu cu my o h tr tt c cc tnh nng nh vi my o ca J2SE, v
d: cc thit b thuc CLDC khng c phn cng yu cu cc php tnh ton du phy
ng, nn my o thuc CLDC khng c yu cu h tr kiu float v double.Bng
di y l s so snh cc thng s k thut ca CDC v CLDC:
CLDC

CDC

Ram

>=32K, <=512K

>=256K

Rom

>=128K, <=512K

>=512K

Ngun nng lng

C gii hn ( Ngun pin )

Khng gii hn

Mng

Chm

Nhanh

Bng 4 : Bng so snh cc thng s k thut ca CDC v CLDC


Trong phm vi bi bo co ny, ta ch tp trung vo phin bn CLDC, phin bn J2ME
ny dnh cho cc thit b c b nh gii hn nh in thoi di ng ( ni chung n
dng cho cc thit b di ng hot ng bng ngun pin ). Phin bn ny ca Java cn
t b nh hn phin bn CDC.
J2ME c thit k chy trn cc in thoi di ng c cu hnh ti thiu nh sau:
- B nh tng cng: 128-512 KB.
- B x l: 16 n 32 bit.
- Tc x l: 8-32 MHz.
- Nng lng: gii hn, hot ng bng pin.
- Bng thng: gii hn, khong 9600 bps.
II.1.2.b Kin trc tng
Mc tiu ca J2ME l cho php ngi lp trnh vit cc ng dng c lp vi
thit b di ng, khng cn quan tm n phn cng tht s. t c mc tiu
ny, J2ME c xy dng bng cc tng (layer) khc nhau giu i vic thc
hin phn cng khi nh pht trin.Sau y l cc tng ca J2ME c xy dng
trn CLDC.

SV: Nguyn Th Dip T

Trang 22

Bo co n tt nghip

Chng II: Cng ngh J2ME, MIDP

Mi tng trn tng hardware l tng tru tng hn cung cp cho lp trnh
vin nhiu giao din lp trnh ng dng (API-Application Program Interface) thn
thin hn.
T di ln trn:
- Tng phn cng thit b (Device Hardware Layer).
y chnh l thit b di ng tht s vi cu hnh phn cng ca n v b nh
v tc x l.D nhin tht ra n khng phi l mt phn ca J2ME nhng n l
ni xut pht. Cc thit b di ng khc nhau c th c cc b vi x l khc nhau
vi cc tp m lnh khc nhau. Mc tiu ca J2ME l cung cp mt chun cho tt
c cc loi thit b di ng khc nhau.
- Tng my o Java (Java Virtual Machine Layer)
Khi m ngun Java c bin dch, n c chuyn i thnh m bytecode (
cc tp tin ui .class ). M bytecode ny sau c chuyn thnh m ngn ng
my ca thit b di ng . Tng my o Java bao gm KVM ( K Virtual Machine)
l b bin dch m bytecode c nhim v chuyn m bytecode ca chng trnh
Java thnh ngn ng my chy trn thit b di ng. Tng ny cung cp mt s
chun ha cho cc thit b di ng, ng dng J2ME sau khi bin dch c th
hot ng trn bt k thit b di ng no c J2ME KVM.
- Tng cu hnh (Configuration Layer)
Tng cu hnh ca CLDC nh ngha giao din ngn ng Java (Java language
interface) c bn cho php chng trnh Java chy trn thit b di ng. y l
mt tp cc API nh ngha li ca ngn ng J2ME.Lp trnh vin c th s dng
cc lp v phng thc ca cc API ny tuy nhin tp cc API hu dng hn c
cha trong tng hin trng (profile layer).
- Tng hin trng (Profile Layer)
Tng hin trng hay MIDP ( Hin trng thit b thng tin di ng Mobile
Information Device Profile ) cung cp tp cc API hu dng hn cho lp trnh vin.
Mc ch ca tng hin trng l xy dng trn cu hnh v cung cp nhiu th vin
ng dng hn. MIDP nh ngha cc API ring bit cho thit b di ng.Cng c th
c cc hin trng v cc API khc ngoi MIDP c dng cho ng dng. V d: c
th c hin trng PDA nh ngha cc lp v phng thc hu dng cho vic to
cc ng dng PDA ( lch, s hn, s a ch,). Cng c th c mt hin trng nh
SV: Nguyn Th Dip T

Trang 23

Bo co n tt nghip

Chng II: Cng ngh J2ME, MIDP

ngha cc API cho vic to cc ng dng Bluetooth .Thc t, cc hin trng k


trn v tp cc API ang c xy dng. Chun hin trng PDA l c t JSR 75 v chun bluetooth API l c t JSR - 82 vi JSR l vit tt ca Java
Specification Request.

Hnh 7 : Cc tng ca CLDC J2ME


II.1.2.c My o Java (KVM)
KVM ( K Virtual Machine ) - l dng my o rt gn ca JVM - Java Virtual
Machine, c thit k dnh cho cc thit b 16-32 bit vi t nht 128 KB b
nh.Vai tr ca my o Java hay KVM l dch m bytecode c sinh ra t
chng trnh Java bin dch sang ngn ng my. Chnh KVM s chun ha
output ca cc chng trnh Java cho cc thit b di ng khc nhau c th c b vi
x l v tp lnh khc nhau. Khng c KVM, cc chng trnh Java phi c
bin dch thnh tp lnh cho mi thit b di ng. Nh vy lp trnh vin phi xy
dng nhiu sn phm ch cho mi loi thit b di ng .

II.2

MIDP

nh ngha: y l profile c nh ngha dnh ring cho cc thit b di ng


v l thnh phn chnh trong J2ME. MIDP cung cp cc chc nng c bn cho hu
ht cc dng thit b di ng ph bin nh cc my in thoi di ng v cc my
PDA. Tuy nhin MIDP khng phi l cy a thn cho mi lp trnh vin v MIDP
c thit k cho cc my di ng c cu hnh rt thp.Trong phn sau s lit k
qua cc tnh nng m MIDP cung cp v nhng gii hn ca n.
SV: Nguyn Th Dip T

Trang 24

Bo co n tt nghip

Chng II: Cng ngh J2ME, MIDP

Tng J2ME cao nht l tng hin trng v mc ch ca n l nh ngha cc


API cho cc thit b di ng. Mt thit b di ng c th h tr nhiu hin trng.
Mt hin trng c th p t thm cc gii hn trn cc loi thit b di ng (nh
nhiu b nh hn hay phn gii mn hnh cao hn).
II.2.1 Gii thiu
II.2.1.a Chc nng
 Nhng chc nng MIDP khng h tr :
- Php tnh du phy ng ( floating point ): php tnh ny i hi rt
nhiu ti nguyn CPU v phn ln cc CPU cho cc thit b di ng
khng h tr php tnh ny, do MIDP cng khng c.
- B np class ( Class Loader ).
- H tr t kha finalize() nh trong J2SE: vic dn dp ti nguyn
trc khi n b xa c y v pha cc lp trnh vin.
- Khng h tr JNI.
- H tr hn ch thao tc bt li.
- Phn ln cc th vin API cho Swing v AWT khng th s dng c
trong MIDP.
- Khng h tr cc tnh nng qun l file v th mc: cc thit b J2ME
khng c h tr cc thit b lu tr thng thng nh cng... Tuy
nhin, iu khng c ngha l mi d liu quan trng mt i mi khi
tt my, Sun cung cp mt chc nng khc tng ng gi l Record
Management system (RMS) cung cp kh nng lu tr cho cc thit
b ny
 Nhng chc nng MIDP cung cp :
- Cc lp v kiu d liu: phn ln cc lp m cc lp trnh vin Java quen
thuc vn cn c gi li v d nh cc lp trong gi java.util nh
Stack, Vector v Hastable cng nh Enumeration.
- H tr i tng Display: ng nh tn gi mt chng trnh MIDP s
h tr duy nht mt i tng Display - l i tng qun l vic hin
th d liu trn mn hnh in thoi.
- H tr Form v cc giao din ngi dng.
- H tr Timer v Alert .
- Cung cp tnh nng Record Management System (RMS) cho vic lu tr
d liu.

SV: Nguyn Th Dip T

Trang 25

Bo co n tt nghip

Chng II: Cng ngh J2ME, MIDP

- Ngoi ra vo thng 11 nm 2003 Sun tung ra MIDP 2.0 vi hng lot


tnh khc c cung cp thm so vi bn MIDP 1.0. Sau y l cc ci
tin ni bt so vi MIDP 1.0:
- Nng cp cc tnh nng bo mt nh:
+ Ti d liu qua mng an ton hn qua vic h tr giao thc HTTPS
Kim sot vic kt ni gia my di ng v server: v d nh
chng trnh khng th kt ni ti server nu thiu s chp thun
ca ngi s dng.
Thm cc API h tr Multimedia: Mt trong nhng ci tin hp dn
nht ca MIDP 2.0 l tp cc API media ca n. Cc API ny l mt tp
con ch h tr m thanh ca Mobile Media API (MMAPI) .
M rng cc tnh nng ca Form: Nhiu ci tin c a vo API
javax.microedition.lcdui trong MIDP 2.0, nhng cc thay i ln
nht (ngoi API cho game) l trong Form v Item.
H tr cc lp trnh vin Game bng cch tung ra Game API k t MIDP
2.0 .
H tr kiu nh RGB: mt trong nhng ci tin hp dn cho cc nh pht
trin MIDP l vic biu din hnh nh di dng cc mng s nguyn,
cho php MIDlet thao tc vi d liu hnh nh mt cch trc tip.
+

II.2.1.b Chu k sng


Khi ngi dng yu cu khi ng ng dng MIDlet, b qun l ng dng s
thc thi MIDlet (thng qua lp MIDlet). Khi ng dng thc thi, n s c xem l
ang trng thi tm dng. B qun l ng dng gi hm to v hm startApp().
Hm startApp() c th c gi nhiu ln trong sut chu k sng ca ng
dng. Hm destroyApp() ch c th gi t trng thi hot ng hay tm dng.
Lp trnh vin cng c th iu khin trng thi ca MIDlet. Cc phng thc
dng iu khin cc trng thi ca MIDlet:
- resumeRequest(): Yu cu vo ch hot ng . V d: Khi MIDlet tm
dng, v mt s kin timer xut hin .
- notifyPaused(): Cho bit MIDlet t nguyn chuyn sang trng thi tm
dng . V d: Khi i mt s kin timer .
- notifyDestroyed(): Sn sng hy
Lp trnh vin c th yu cu tm dng MIDlet trong khi i mt s kin timer
ht hn. Trong trng hp ny, phng thc notifyPaused() s c dng yu
cu b qun l ng dng chuyn ng dng sang trng thi tm dng .
SV: Nguyn Th Dip T

Trang 26

Bo co n tt nghip

Chng II: Cng ngh J2ME, MIDP

Hnh 8 : Chu k sng ca MIDlet


II.2.1.c Cc tp tin
 Tp tin manifest.mf
Tp tin manifest.mf m t cc c im ca MIDlet. Tp tin c nhng thuc
tnh sau :
- MIDlet Name
- MIDlet Version
- MIDlet Vendor
- MIDlet <n>
- MicroEdition Profile
- MicroEdition Configuration
- MIDlet Icon
- MIDlet Description
- MIDlet Info-URL
Di y l v d v mt file manifest n gin:
- MIDlet - Name: Todo List
-

MIDlet - Version: 1.0

- MIDlet - Vendor: Core J2ME


- MIDlet 1: Todo List, / images/ Todo.png, Todo.TodoMIDlet
- MicroEdtion-Profile: MIDP -1.0
- MicroEdtion-Configuration: CLDC-1.0
SV: Nguyn Th Dip T

Trang 27

Bo co n tt nghip

Chng II: Cng ngh J2ME, MIDP

 Tp tin JAR
Cc lp ca ng dng MIDlet bin dch c ng gi trong mt tp
tin JAR (Java Archive File).y chnh l tp tin c ti xung in thoi di
ng.
Khng ch cha cc file class, ti nguyn, JAR cn bao gm tp tin
mainifest.mf. Tp tin mainifest.mf trong JAR phi cha 6 thuc tnh di
y(cc thuc tnh khc c th b qua), nu khng c chng, b qun l ng
dng s t chi np file JAR.
- MIDlet Name
- MIDlet Version
- MIDlet Vendor
- MIDlet <n>
- MicroEdition Profile
- MicroEdition Configuration
Tp tin JAR l ton b ng dng MIDlet. MIDlet c th ti v triu gi cc
phng thc t bt k lp no trong tp tin JAR, trong MIDP, hay CLDC.
N khng th truy xut cc lp khng phi l b phn ca tp tin JAR hay
vng dng chung ca thit b di ng.
 Tp tin JAD (Java Application Descriptor File).
Tp tin JAD (Java Application Descriptor) m t cc c im ca MIDlet.
S khc bit gia JAD v mainifest.mf l manifest.mf k khai l mt phn
ca tp tin JAR cn tp tin JAD khng thuc tp tin JAR. JAD cng
c ng gi di hnh thc mt thnh phn ca MIDlet,u im ca tp
tin JAD l :
- JAD cung cp ni dung thng tin v ni dung ca file JAR cho b qun
l ng dng,nh vy b qun l ng dng c th quyt nh MIDlet c hp
vi thit b hay khng.
- Cung cp cch thc truyn tham s cho cc MIDlet m khng cn thay
i file JAR.
- Cc c im ca MIDlet c th c xc nh trc khi ti tp tin JAR.

SV: Nguyn Th Dip T

Trang 28

Bo co n tt nghip

Chng II: Cng ngh J2ME, MIDP

Tng t nh manifest, trong file JAD c mt tp cc thuc tnh bt buc


phi c nh ngha.Tp thuc tnh bao gm:
- MIDlet-Name
- MIDlet-Version
- MIDlet-Vendor
- MIDlet-<n>
- MIDlet-Jar-URL
- MIDlet-Jar-Size
Cc thuc tnh MIDlet-Name, MIDlet-Version, v MIDlet-Vendor phi c
cng gi tr vi cc thuc tnh trng tn c nh ngha trong file manifest
(ca cng mt file JAR). Cc thuc tnh khc khng cn phi lp li. Gi tr
trong tp tin m t s gi tr ca tp tin manifest.
Di y l v d v mt file JAD n gin:
- MIDlet-Name: Todo List
- MIDlet-Version: 1.0
- MIDlet-Vendor: Core J2ME
- MIDlet-1: Todo List, / images/ Todo.png, Todo.TodoMIDlet
- MIDlet-Jar-URL: http: // www.corej2me.com/ TodoMIDlet.jar
- MIDlet-Jar-Size: 17043.
II.2.2 Lp trnh
II.2.2.a Mi trng pht trin
Cng vic ca mc ny l thit lp mi trng pht trin J2ME n gin qu
trnh lp trnh. thc hin iu ny, ta c th dng cc phn mm nh : netbean,
elcipse, jbuilder..l nhng phn mm h tr lp trnh J2ME.Vi s ra mt phin bn
6.9 thng 8.2010 netbean dn u trong vic h tr lp trnh mobile.Vi netbean
6.9,ta c th trin khai trn thit b gi lp(nhng tnh nng n gin) m khng
cn ci thm tookit.Ngoi ra, ta c th p thm J2ME Wireless Tookit,cc

SV: Nguyn Th Dip T

Trang 29

Bo co n tt nghip

Chng II: Cng ngh J2ME, MIDP

Symabian platform SDK,... ( mc add platform) ph hp vi ng dng m ta


xy dng.
Ta c th download cc phn mm trn theo link di y :
Netbean : http://bits.netbeans.org/netbeans/6.9/m1/
J2ME Wireless Toookit: http://www.oracle.com/technetwork/java/download135801.html
Symbian Platform SDK : http://www.forum.nokia.com/Devices/Symbian/
II.2.2.b Khung kt ni (Generic Connection Framework)
GCF (Khung kt ni) l mt tp cc lp v giao din c thit k nhm to
thun tin cho vic truy xut n h thng lu tr v kt ni h thng mng.GCF
cung cp mt tp con c chn lc ca J2SE, tp con ny c ti u ph hp
vi nhng rng buc v khc bit c trng ca nhng thit b di ng thc thi
MIDP.
Cy phn cp connection.
Khi a ra khi nim cy phn cp Connection, ngi ta ch to ra mt lp c
kh nng m mi loi kt ni bao gm : file,http,datagram,Tn ca lp ny l
Connector.Nu dng Connector m kt ni, bn ch cn gi phng thc Open()
vi nh dng : Connector.Open (protocol:address;parameters).
V d :
- Socket : Connector.open(socket://19.3.22.121:1567)
- SSL : Connector.open(ssl://pop.gmail.com:465)
- Comm port : Connector.open(comm:0;baudrate=9600)
- Datagram : Connector.open(Datagram://33.3.22.21:1567)
- Files : Connector.open(file:/hello.txt)
- HTTP : Connector.open(http://www.google.com).
Phng thc open() s tr v mt i tng Connection ng vai tr l lp giao
thc (v d:HttpConnection StreamConnection (socket), SecureConnection ( SSL ) )
c th s dng cc phng thc cho giao thc .
Hnh di y trnh by cc lp to nn cy phn cp Connection.Trong ,mi
lp c nh ngha nh l mt giao din :
SV: Nguyn Th Dip T

Trang 30

Bo co n tt nghip

Chng II: Cng ngh J2ME, MIDP

Hnh 9 : Cy phn cp Connection


- StreamConnectionNotifier
Giao din StreamConnectionNotifier c dng khi i mt kt ni pha server
c thit lp. Phng thc acceptAndOpen() b chn cho n khi client thit lp
kt ni .
- Giao din DatagramConnection
Kt ni datagram cung cp kiu truyn thng gi khng chng thc. Datagram
cha gi d liu v a ch . Chui a ch c nh dng sau :
datagram:[//{host}]:{port}
Nu tham s host c xc nh, th datagram m kt ni ch client. Nu
tham s host khng c xc nh, th datagram c m ch server:
c = Connector.open("datagram://192.165.189.100:1567"); // Ch client
c = Connector.open("datagram://:1567"); // Ch server
- Giao din InputConnection
Giao din InputConnection dng thc hin mt lung nhp tun t d liu ch
c.
SV: Nguyn Th Dip T

Trang 31

Bo co n tt nghip

Chng II: Cng ngh J2ME, MIDP

- Giao din OutputConnection


Giao din OutputConnection dng thc hin mt lung xut d liu ch vit.
- Giao din StreamConnection
Giao din StreamConnection l kt hp ca c hai giao din InputConnection v
OutputConnection.N dng cho cc thit b di ng c truyn thng hai chiu.
- Giao din ContentConnection
Giao din ContentConnection m rng giao din StreamConnection v thm vo
cc phng thc getType(), getEncoding(), v getLength(). N cung cp c s
cho giao din HttpConnection ca MIDP.
- Giao din HttpConnection
Giao din HttpConnection c nh ngha trong MIDP v m rng giao din
ContentConnection ca CLDC.Giao din ny cung cp cc phng thc thit lp
mt kt ni HTTP.N cung cp c s cho giao din HttpsConnection ca MIDP.
- Giao din HttpsConnection
Giao din HttpsConnection c nh ngha trong MIDP v m rng giao din
HttpConnection ca CLDC.Giao din ny cung cp cc phng thc thit lp
mt kt ni HTTP bo mt (HTTPS).
- Giao din SocketConnection
Giao din SocketConnection m rng giao din StreamConnection.N cung cp
c s cho giao din SecureConnection ca MIDP. Giao din ny cung cp cc
phng thc thit lp mt kt ni socket bnh thng, v d:
SocketConnection socket = Connector.open("socket://smtp.gmail.com:110");
InputStream input = socket.openInputStream();
OutputStream output = socket.openOutputStream();
- Giao din SecureConnection
Giao din SecureConnection m rng giao din SocketConnection. Giao din
ny cung cp cc phng thc thit lp mt kt ni socket bo mt, v d:
SecureConnection ssocket = Connector.open("ssl://smtp.gmail.com:995");
InputStream input = ssocket.openInputStream();
OutputStream output = ssocket.openOutputStream();
Theo RFC1900 khuyn ngh nn dng cc a ch l tn my thay cho IP tng
cng bo mt. V mt kt ni bo mt phi c thi hnh t mt trong nhng
tiu chun sau:
SV: Nguyn Th Dip T

Trang 32

Bo co n tt nghip

Chng II: Cng ngh J2ME, MIDP

+ TLS Protocol Version 1.0 c ch ra trong RFC 2246 .


+ SSL V3 c ch ra trong The SSL Protocol Version 3.0 .
+ WAP(TM) TLS Profile v Tunneling Specification c ch ra trong WAP219-TLS-20010411-a.
II.2.2.c Kt ni HTTP
HTTP l giao thc duy nht chc chn c MIDP h tr.V th,ta c th giao
tip vi my ch hay bt c thit b t xa no c h tr giao thc ny nh vo lp
HttpConnection.
To kt ni.
Lp Connector cung cp 7 phng thc to kt ni vi my ch :
Phng thc

M t

Static Connection open(String name)

To kt ni trong ch READ_WRITE

Static Connection open (String name,int


mode)

To kt ni vi ch c ch ra

Static InputStream openInputStream(String


name)

To kt ni vi ch c ch ra, iu
khin ngoi l timeout

Static InputStream openInputStream(String


name)

To kt ni ngun nhp

Static OutputStream
openOutputStream(String name)

To kt ni ngun xut

Static DataInputStream
openDataInputStream(String name)

To kt ni ngun nhp kiu


DataInputStream

Static DataInputStream
openDataOutputStream(String name)

To kt ni ngun xut kiu


DataOutputStream

Bng 5 : Cc phng thc CLDC Connector.


V d : String url = http://www.corej2me/picture/1.png.
HttpConnection http = (HttpConnection)Connector.open(url);
Yu cu my khch :Nh chng ta bit HTTP l khi nim ch n mt giao
thc yu cu/p ng.Trong , ng dng my khch gi yu cu, ng dng my
ch gi tr v p ng.

SV: Nguyn Th Dip T

Trang 33

Bo co n tt nghip

Chng II: Cng ngh J2ME, MIDP

Cch thc yu cu :
Yu cu

M t

GET

Yu cu thng tin - d liu c chuyn i nh 1 phn ca URL

POST

Yu cu thng tin - d liu c di chuyn i trong lung ring bit

HEAD

Yu cu cc thng tin v thng tin ca ti nguyn.

C ba cch trn u thng bo cho ng dng my ch bit rng ng dng ca my


khch ang yu c mt thng tin no .i vi GET v POST l chuyn d liu
t my ch n my khch n my ch.
Khi s dng GET :
Phng thc HTTP GET cho php ly d liu t server v l phng thc mc nh
nu khng xc nh phng thc trong trng thi thit lp.Khi s dng GET phn
d liu ca yu cu s tr thnh mt phn ca URL.
V d : http://www.corej2me/formcolor?color=red&font=arial
Ta c form c hai trng color v font.Ta thy trong URL trn,du ? nh du
im kt thc ca URL v bt u ca d liu form.Tt c thng tin c gi qua
cp kha-gi tr (nh color=red),cc cp kha-gi tr ny phn cch nhau bi
? .Nu c khong trng s c thay bng du + .V du : ca chua thi s
thnh ca+chua .
 Khuyt im
Khng thch hp truyn d liu c tnh bo mt (password)
Dung lng d liu truyn i c gii hn
Khi lng d liu i s c truyn i ca Form b gii hn bichiu
di ti a ca mt URL trn Address bar. (ti a ca mt URLl 2048 bytes)
URL submit bng phng thc GET c lu li trn server
 u im
Ngi dng c th bookmark a ch URL
Ngi dng c thgi lp phng thc GET truyn d liu m khng
cn thng qua FORM.
SV: Nguyn Th Dip T

Trang 34

Bo co n tt nghip

Chng II: Cng ngh J2ME, MIDP

Khi s dng POST:


D liu c gi trong lung ring bit,ni dung d liu khng hin th ln thanh
a ch nh mt phn URL .
 u im
Bo mt hn phng thc GET
Khng gii hn dung lng d liu truyn i
ng dng cho cc ng dng truyn file t client ln server
 Khuyt im
Kt qu trang web tr v khng th bookmark
C th gy ra li nu ngi dng mun quay li trang kt qu (nhnnt
Back hoc Refresh) do b expired
D liu c th khng truyn i c do vn v security
Khi s dng HEAD:
Cch thc lm vic ca HEAD tng t nh GET d liu c gi nh mt phn
ca URL.Nhng khc vi GET l my ch khng tr phn thn ca d liu yu cu
trong phn thn ca p ng.Thng tin p ng c cp nht sau.
Thng tin header.
Thnh phn th hai trong yu cu my khch l thng tin header. Giao thc HTTP
nh ngha hn 40 trng header, cc trng thng dng l : Accept, CacheControl, Content Type, Expires, If-Modified-Since v User-Agent. thit lp
header ta dng phng thc setRequestProperty().
Body
D liu yu cu t my khch n my ch l body. Vi GET v HEAD thi body
trong phn URL, cn POST l lung ring bit.
p ng t my ch :
Dng trng thi :
bit kt qu ca yu cu my khch,ta da vo dng trng thi :
SV: Nguyn Th Dip T

Trang 35

Bo co n tt nghip

Chng II: Cng ngh J2ME, MIDP

1xx : thng tin


2xx : thnh cng
3xx : gi li
4xx: li ng dng my khch
5xx : li ng dng my ch.
V d : http:/1.1 200 OK
http :/1.1 400 Bad Request
http :/1.1. 500 Interal Server Error.
Cc phng thc p ng :
-

Int getResponseCode (): nhn p ng dng m(gi tr s).


String getResponseMessage (): nhn p ng dng thng bo(on vn bn).

Header :
Tng t nh my khch, my ch cng c th gi thng tin header. Cc cp kha gi tr ca header c trch xut nh mt s phng thc :
-

String getHeaderField (int n) // nhn gi tr trng header tm theo ch s.

String getHeaderField (String name) // nhn gi tr trng header tm theo tn.

long getHeaderFieldDate (String name, long def) //nhn trng (c tn ch ra


trong tham s name)v di dng gi tr long.

int getHeaderFieldInt(String name, int def) // nhn trng (c tn ch trong


tham s name) v di dng gi tr s nguyn.

String getHeaderFieldKey(int n) // nhn kha ca trng header theo ch s


c ch ra.

Long getDate () // nhn trng header date.

Long getExpiration () // nhn trng header expires

- Long getLastModified () //nhn trng header last -modified.


Body
Body l d liu t my ch n my khch.Tuy nhin, HttpConnecction khng
nh ngha cc phng thc h tr c body, vic c thng qua vic s dng
lung.
SV: Nguyn Th Dip T

Trang 36

Bo co n tt nghip

Chng III: C s h tr pht trin ng dng nh v

Chng III C S H TR PHT TRIN NG DNG NH V


III.1 LOCATION API
Nhiu in thoi di ng thi nay h tr Loacation API cho J2ME theo JSR
179.S dng cc Location API, bn c th d dng pht trin nhng ng dng hu
ch trn di ng
III.1.1 Gii thiu
Location APItheo JRS 179 l mt gi ty chn javax.microedition.location c
cung cp truy cp cc thng tin da trn v tr. Location API cung cp mt chun
cho cc developer vit cc ng dng di ng da trn v tr. Location API cung cp
thng tin v v tr a l hin ti ca thit b. N c th c s dng vi nhiu
profile J2ME. Cc tnh nng chnh ca Location API l:
V tr: cha cc thng tin v v tr thit b.
Cc im mc(landmark): to, chnh sa, lu tr v ly cc im mc.
nh hng(orientation): cha hng ca thit b.
Lp

M t

AddressInfo

Lp ny cha ng thng tin a ch text v v tr.

Coordinates

Lp ny i din nh ta (v kinh ).
Tiu ch s dng cho vic la chn nh cung cp location c xc

Criteria

nh bi cc gi tr trong lp ny.
Lp ny i din cho mt ct mc, tc l a im vi mt tn gi.

Landmark

LandmarkStore

Lp ny cung cp cc phng thc lu tr, xa v nhn landmark


t mt store landmark.
i din cho mt cc tiu chun thng tin location c bn.

Location
LocationProvider

Bt u t im m ng dng s dng cc API ny v i din cho


mt ngun thng tin location.

Orientation

Lp ny i din cho mt nh hng vt l.

QualifiedCoordinates

i din cho cc ta v kinh cao.

Bng 6 : M t cc lp trong gi javax.microedition.location


SV: Nguyn Th Dip T

Trang 37

Bo co n tt nghip

Chng III: C s h tr pht trin ng dng nh v

Cc giao din trong gi javax.microedition.location


Giao din
LocationListener

M t
i din cho mt listener nhn cc s kin kt hp vi mt LocationProvider.

ProximityListener i din cho mt listener cc s kin kt hp vi cc ta c ng k.

Bng 7 : M t cc giao din trong gi javax.microedition.location


Cc ngoi l trong gi javax.microedition.location
Ngoi l

M t

LandmarkException

Li ny c nm ra khi x l im mc x ra li.

LocationException

Li ny c nm ra khi mt location API gp li.

Bng 8 : M t cc ngoi l trong gi javax.microedition.location


III.1.2 Location.
Cc c im ca location cung cp v tr v cc thng tin lin quan n thit b.
C 2 lp Location v LocationProvider cung cp cc phng thc cha thng
tin Location. Lp Location tru tng ha cc thng tin c nhn, bao gm:
timestamp, ta , tnh chnh xc, tc , course, thng tin v thng tin a ch
text.Cc bc sau y dng xc nh thng tin thit b:

To Criteria.
Thit lp Criteria cho LocationProvider.
Nhn mt th hin LocationProvider theo mt Criteria.
Nhn i tng Location t LocationProvider.
Nhn Coordinates t Location.

nhn thng tin Location, ng dng cn to mt i tng ca


LocationProvider t mt Criteria. LocationProvider l im bt u ca ng dng
nhn thng tin Location.ng dng c th xc nh Criteria cho mt
LocationProvider. S dng LocationProvider, ng dng c th ly v i tng
Location thng qua:

S dng phng thc getLocation(int timeout)


ng k listener c c Location theo nh k.

SV: Nguyn Th Dip T

Trang 38

Bo co n tt nghip

Chng III: C s h tr pht trin ng dng nh v

i tng Location cha thng tin v a im v ta . Cc thng tin bao


gm: chnh xc, tc , course v cc thng tin v phng php nh v s dng
cho v tr (method), cng vi mt a ch ty chn vn bn (text).
Ta c i din bi mt trong 2 lp sau:

i tng Coordinates i din cho mt im gm c: v , kinh (tnh theo


) v cao ( tnh theo mt).
i tng QualifiedCoordinates c cha v , kinh , cao v ch dn chnh
xc ca chng chng hn nh bn knh ca khu vc.
a ch vn bn c i din bi lp AddressInfo. AddressInfo cha ng
thng tin cc thng tin text v location. N c cc phng thc getter v setter
thit lp v nhn d liu da trn cc trng constant, chng hn nh: m vng, tiu
bang, thnh ph, ng, s in thoi
Sau y, ta tm hiu mt s phng thc :
III.1.2.a S dng phng thc getLocation()
on code v d di y s m t cch thc cha mt i tng Location s
dng phng thc getLocation():.
/*Thit lp criteria cho LocationProvider*/
Criteria cr= new Criteria();
cr.setHorizontalAccuracy(500);
/*Thit lp i tng LocationProvider*/
LocationProvider lp= LocationProvider.getInstance(cr);
/*yu cu nhn ta trong khong thi gian 60 giy*/
Location l = lp.getLocation(60);
Coordinates c = l.getQualifiedCoordinates();
if(c != null ) {
/*S dng thng tin ta */
double lat = c.getLatitude();
double lon = c.getLongitude();
}
III.1.2.b S dng Listener
Lp LocationProvider c 2 phng thc ng k listener nhn cc i tng
Location thng qua:
SV: Nguyn Th Dip T

Trang 39

Bo co n tt nghip

Chng III: C s h tr pht trin ng dng nh v

LocationListener
setLocationListener(LocationListener listener, int interval, int timeout, int maxAge)
ProximityListener
addProximityListener(ProximityListener listener, Coordinates coordinates, float
proximityRadius)
III.1.2.c

LocationListener

LocationListener cho php cp nht v tr thng xuyn ti mt khong thi gian t


nh ngha. N c 2 phng thc:

locationUpdate(LocationProvider provider, Location location): phng thc


ny cho php cp nht v tr nh k.

providerStateChanged(LocationProvider provider, int newState): cung cp


thng tin trng thi ca LocationProvider, chng hn nh: AVAILABLE,
OUT_OF_SERVICE hay TEMPORARILY_UNAVAILABLE.
V d:
public void locationUpdated(LocationProvider provider, Location location){
if (location != null && location.isValid()) {
QualifiedCoordinates qc = location.getQualifiedCoordinates();
form.append("Lat: "+qc.getLatitude()+
"Lon: "+qc.getLongitude()+"Alt: "+ qc.getAltitude());
}
}
public void providerStateChanged(LocationProvider provider,int newState){
form.append(newState +newState)
}...

SV: Nguyn Th Dip T

Trang 40

Bo co n tt nghip

Chng III: C s h tr pht trin ng dng nh v

III.1.2.d ProximityListener
ng dng c th thm ProximityListener thng bo khi cc ta ng k
c pht hin. Listener ny c gi khi vch gii hn i vo proximity ca ta
c ng k. N c 2 phng thc:

proximityEvent(Coordinates coordinate, Location location): phng thc ny


c gi khi ngi dng i vo mt proximity mt v tr c th.

monitoringStateChanged(boolean isMonitoringActive): phng thc ny c


gi khi trng thi ca monitoring proximity thay i. Tham s
isMonitoringActive cho bit trng thi ca monitoring proximity, nu gi tr ca
n l true c ngha l monitoring proximity ang c active, ngc li nu bng
false.
III.1.3 Mc ranh gii(Landmark)
Landmark l mt v tr vt l vi tn i din cho v tr ti ngi dng cui.
Location API cho php ngi dng to ra, thm, lu tr, ly ra hay xa cc
Landmark. Hai lp Landmark v LandmarkStore cung cp cc chc nng k trn.
Lp Landmark i din cho thng tin ca mc ranh gii, cc thng tin bao gm:
tn, m t, cc thng tin a ch v cc ta . Thng tin a ch chnh l lp
AddressInfo.
Landmark(String name, String description,
QualifiedCoordinates coordinates, AddressInfo addressInfo)
V d: cch to ra mt Landmark
...
AddressInfo textAddress = new AddressInfo();
textAddress.setField(AddressInfo.COUNTRY , "UK");
textAddress.setField(AddressInfo.CITY , "London");
Landmark landmark =
new Landmark("My Restaurant, My Restaurant best in the world",
new QualifiedCoordinates(11.289496608768690,
34.59678880927362,460, 31.32, 45.000), textAddress);
.

SV: Nguyn Th Dip T

Trang 41

Bo co n tt nghip

Chng III: C s h tr pht trin ng dng nh v

LandmarkStore l mt vng c chia s lu tr, chnh sa v xa Landmark.


Thng tin Landmark c th c lu tr trong data store v c th c s dng
sau ny khi ng dng cn n.
Landmark cng c th c phn loi trong LandmarkStore. Cc Landmark c tn
v c th c t trong mt hay nhiu chuyn mc(category). Mi chuyn mc
c thit k nhm cc Landmark c cng kiu n ngi dng cui. Tt c c
s d liu ca LandmarkStore phi c chia s bi tt c cc ng dng J2ME v
c th c chia s bi cc ng dng native.
III.1.4 nh hng(Orientation)
Lp Orientation i din cho hng vt l ca thit b(la bn nh hng). ng
dng khng ch xc nh v tr ca thit b m cn c hng ca n nu thit b c
mt compass.
III.1.5 Bo mt v cp php
Cc phng thc c kit k di y s nm mt SecurityException nu ngi
dng khng cp php truy cp vo cc hot ng v ly v tr.
Tn cp php

Cc phng thc c cp php

javax.microedition.location.Location

LocationProvider.getLocation(),
LocationProvider.setLocationListener()

javax.microedition.location.Orientation

Orientation.getOrientation()

javax.microedition.location.ProximityListener

LocationProvider.addProximityListener()

javax.microedition.location.LandmarkStore.read

LandmarkStore.getInstance(),
LandmarkStore.listLandmarkStores()

javax.microedition.location.LandmarkStore.write

LandmarkStore.addLandmark(),
LandmarkStore.deleteLandmark(),
LandmarkStore.removeLandmarkFromCategory(),
LandmarkStore.updateLandmark()

javax.microedition.location.LandmarkStore.category

LandmarkStore.addCategory(),
LandmarkStore.deleteCategory()

javax.microedition.location.LandmarkStore.management LandmarkStore.createLandmarkStore(),
LandmarkStore.deleteLandmarkStore()

Bng 9 : Cc phng thc nm ngoi l


SV: Nguyn Th Dip T

Trang 42

Bo co n tt nghip

Chng III: C s h tr pht trin ng dng nh v

III.2 GOOGLE API


III.2.1 Static Google API
III.2.1.a Tng quan
Static Google API cho php bn nhng hnh nh Google Map trn trang web ca
bn m khng cn JavaScript hoc bt k trang load ng no.Cc dich v Static
Maps to ra bn da trn cc thng s URL c gi thng qua yu cu HTTP
v tr v bn l dng hnh nh hin th trn trang web ca bn .Static Google
Maps khng yu cu mt Maps API key.
V d : V d sau cha cc URL ca nh bn tnh ca thnh ph New York :
http://maps.google.com/maps/api/staticmap?center=Brooklyn+Bridge,New+York,NY
&zoom=14&size=512x512&maptype=roadmap
&markers=color:blue|label:S|40.702147,74.015794&markers=color:green|label:G|40.711614,-74.012318
&markers=color:red|color:red|label:C|40.718217,-73.998284&sensor=false

Hnh 10 : nh thnh ph NewYork dng Google Static Map


Static maps api tr v hnh nh p ng yu cu t http thng qua URL. i vi
mi yu cu,bn xc nh v tr,kch thc ca hnh nh,mc phng to nh,loi

SV: Nguyn Th Dip T

Trang 43

Bo co n tt nghip

Chng III: C s h tr pht trin ng dng nh v

bn ,v v tr nh du ty chn (opotional marker) ti cc a im trn bn


.Lu ,static maps api ch c th hin th trong ni dung ca trnh duyt.
Gii hn :
S dng Static Google Maps API chu gii hn 1000 truy vn hnh nh khc cho
mi ngi xem trn ngy.Tuy nhin,ngi pht trin khng cn qu lo lng v hn
ngch ca mnh, chng ta c th thc thi mt gii hn b sung ngn chn lm
dng dch v.Nu ngi dng vt qu gii hn cm trn,hnh nh sau xut hin :

Gii hn ny nhm ngn chn vic lm dng Static Maps API,gii hn ny tng
lai c th thay i.Nu bn vt qu gii hn hoc lm dng cc dch v, Static
Maps API c th ngng lm vic tm thi.Nu bn tip tc vt qu hn,truy cp
ca bn vo static maps api c th b cm.
URL b gii hn n 2048 k t .Thc t,ta khng c nhu cu URL di n th
nhng vi cc bn phc tp vi mt s lng ln cc marker v path km theo
URL c m ha bi cc trnh duyt lm cho kch thc k t s dng tng.
Xy dng mt URL hp l c th tham kho ti http://code.google.com/intl/viVN/apis/maps/documentation/webservices/index.html#BuildingURL.
III.2.1.b Cc tham s URL
Mt
Static
Maps
API
URL
c
hnh
thc
sau
:http://maps.google.com/maps/api/staticmap? Parameters.
Mt s tham s c yu cu, mt s khc l ty chn.Theo chun trong URL,tt
c nhng tham s c phn cch bng du &. Sau y, ta s c th cc tham s
URL :
 Tham s location
- Center (tham s yu cu nu khng c markers) nh ngha trung tm ca
bn ,cch u tt c cc cch ca bn .Tham s ny c mt v tr
{v ,kinh }(kinh v v l kiu float) l v tr duy nht trn tri
t.

SV: Nguyn Th Dip T

Trang 44

Bo co n tt nghip

Chng III: C s h tr pht trin ng dng nh v

- Zoom (tham s bt buc nu khng c marker) xc nh mc phng


to ca bn .Tham s ny c gi tr tng ng vi mc phng to
ca khu vc mong mun.
 Tham s Map
- Size (tham s yu cu) : nh ngha kch thc hnh ch nht ca bn .
Tham s ny c hnh thc value x value .V d : 500 x 400 nh ngha
mt bn c 500 im nh rng, 400 im nh cao.Nu bn to bn
c s im nh nh hn 100,logo Powersd by Google t ng gim
kch thc.
- Format (tham s ty chn):xc nh nh dng ca nh, mc nh l
static maps api to ra nh PNG,c th gm cc nh dng nh : GIF,
JPEG v PNG v cc loi.
- Maptype (tham s ty chn): xc nh loi bn .Mt s maptype :
roadmap, satellite(v tinh), hybrid, terrain(a hnh).
- Language (tham s ty chn): xc nh ngn ng hin th trn bn .
 Tham s Feature
- Marker (tham s ty chn)xc nh 1 hoc nhiu du hiu nh km
vo hnh nh ti cc a im qui nh.
- Path (tham s ty chn) ng ngha con ng duy nht ca hai hay
nhiu im kt ni.
- Visible (tham s ty chn): Mt hoc nhiu im nn hin th trn bn
, d khng c marker. S dng tham s ny m bo tnh nng center
v v tr bn c hin th trn bn tnh.
- Style (tham s ty chn) : xc nh mt syle ty chnh thay i cch
trnh by ca mt s tnh nng c th (nh ng,cng vin,..)ca bn
.
 Tham s Reporting
Reporting (tham s bt buc) c bit khi cc yu cu ng dng bn tnh
c s dng nh ngha v tr ca ngi s dng.Tham s c yu cu
cho tt c nhng yu cu bn tnh
III.2.1.c S dng thng s
bi bo co ny,em tp trung cc tham s bt buc,cn cc ty chn,c th tham
kho ti :
http://code.google.com/intl/viVN/apis/maps/documentation/javascript/v2/reference.html.
SV: Nguyn Th Dip T

Trang 45

Bo co n tt nghip

Chng III: C s h tr pht trin ng dng nh v

 Xc nh v tr
Static map phi xc nh chnh xc v tr ca bn thng qua center
hoc marker.V v kinh ca mt v tr c tnh hnh xc n 6 ch s
thp phn v c m ha a l hp l ,nu vt qu 6 s thp phn xem
nh b qua.Nu v v kinh khng hp l c th xem nh mt yu cu
xu v b t chi.
Hu ht mi ngi khng xc nh c v tr ca mnh theo v v
kinh v th h biu din v tr bng cch s dng a ch.Qu trnh chuyn
1 a ch vo 1 im a l c gi l m ha a l,nh cc bn tnh
thc hin m ha a l nu ta cung cp mt a ch hp l.Thay v ta phi
cung cp cc tham s v /tung ta c th ch nh mt chui a ch,
Google s cung cp dch v Static Map vi v /kinh s dng trong vic
xc nh v tr.a ch c phn nh qua tn ng,khu vc,thnh ph,..
 S dng k hiu cm bin
S dng Google Maps API yu cu bn phi bit s dng sensor(cm
bin)(nh b nh v GPS) xc dnh v tr ca ngi s dng. xc
nh ngi dng c s dng k hiu cm bin hay khng trong URL th ta
xc nh tham s nh sau : sensor =true c dng b cm bin (tham s
trong URL),sensor = false (khng dng b cm bin).
V d :
http://maps.google.com/maps/api/staticmap?center=Berkeley,CA&zoom=14
&size=400x400&sensor=false.

Hnh 11 : Kt qu v d s dng k hiu bin cm

SV: Nguyn Th Dip T

Trang 46

Bo co n tt nghip

Chng III: C s h tr pht trin ng dng nh v

 zoom
Bn trn Google Map c mt s nguyn zoom,s nh ngha
phn gii hin ti.Zoom mc 0 l mc thp nht,c th nhn thy ton th
gii trn bn .Mc cao nht l +21(xung n cc ta nh ring l).Mi
mc zoom tng gp i chnh xc trong c hai chiu ngang v chiu
dc.
Lu : ti cc im khc nhau trn tri t c zoom khc nhau ty thuc
vo v tr,cng nh d liu ton cu v a im .
V d l bn thnh ph Manhattan cng trung tm nhng c zoom
khc :

Zoom 12
Zoom 12

Zoom 14

 Kch thc hnh nh


Kch thc nh c th ln n 640x640 (y l kch thc nh ln nht).
 nh dng hnh nh: nh c th nh dng mt s file nh :jpg, png,..
III.2.2 Google Map Javasript
Google Maps API cho php bn nhng Google Maps vo trang web ring vi
javaSript.API cung cp thm mt s tin ch,dch v cho thao tc bn mt cch
mnh m trn website ca bn.
Cc API Maps th min ph,nhng s dng n,ta cn ng k 1 Google Maps
API key. ng k Google Maps API key, ta c th ng k ti:
http://code.google.com/intl/vi-VN/apis/maps/signup.html .Vi Google Maps API c
th khc phc nhng hn ch ca Static Google API.

SV: Nguyn Th Dip T

Trang 47

Bo co n tt nghip

Chng III: C s h tr pht trin ng dng nh v

Nu nh vi Static Google Maps iu quan trng l cch dng tham s trong


URL th vi Google Maps JavaScipt chng ta phi bit cch s dng cc API ca
n.Trong Google Maps API c cc lp : lp li(core),lp c bn(basic), lp s
kin(event), lp iu khin (control), lp bao ph (overlay), lp dch v (service).
Bi bo co ny,em ch tp trung vo cc API tiu biu,ta c th tham kho
Google Maps API y ti :
http://code.google.com/intl/viVN/apis/maps/documentation/javascript/v2/reference.html.
III.2.2.a Lp li ( core class)
y l lp quan trng trong Maps API , to ra mt bn mi bn trong
HTML,thng bn hin th trong th <div>,nu khng thit lp loi bn (map
type)th mc nh l G_DEFAULT_MAP_TYPES c s dng.Nu kch thc
khng c khi to th kch thc ca ni hin th s c s dng.
V d :chng ta hy xem v d hello world bn di :
<html>
<head>
<metahttp-equiv="content-type"content="text/html; charset=utf-8"/>
<title>Google Maps JavaScript API </title>
<scriptsrc="http://maps.google.com/maps?file=api&amp;v=2&amp;key=abcdefg&sensor=true"
type="text/javascript"></script>
<scripttype="text/javascript">
function initialize(){
if(GBrowserIsCompatible()){
var map =newGMap2(document.getElementById("map_canvas"));
map.setCenter(newGLatLng(37.4419,-122.1419),13);
map.setUIToDefault();
}
}
</script>
</head>
<bodyonload="initialize()"onunload="GUnload()">
<divid="map_canvas"style="width:500px; height:300px"></div>
</body>
</html>

SV: Nguyn Th Dip T

Trang 48

Bo co n tt nghip

Chng III: C s h tr pht trin ng dng nh v

Quan st v d trn ta thy, load Google Maps API ta cn khai bo src :


http://maps.google.com/map?file=api&v=2, sensor v key .Key l key khi chng
ta ng k Google Maps JavaScript API key.
hin th bn ln trang web ta khai bo mt hp c kch thc 500x300
trong th <div> . Mi i tng ca lp Gmap2 th hin mt bn trn trang web.
Mun c nhiu bn trn trang, ta khai bo nhiu i tng thuc lp Gmap2.
Sau , ta khi to bn .

map.setCenter(newGLatLng(37.4419,-122.1419),13);//
map.setUIToDefault();//thit lp giao din ngi dng
Trong phng thc setCenter c yu cu i tng GLatLng, i tng ny s
cp lp c s.
By gi, chng ta xem qua mt s phng thc ca Gmap2.
-

enableDragging () : cho php ko bn .


disableDragging () : khng cho php ko bn .
draggingEnabled() : tr v true nu bn c ko.
disableInfoWindow() : ng ca s nu n m hoc disables vic m ca s.
enableInfoWindow() : cho php ca s hot ng.
enableDoubleClickZoom() : cho php nhn double click phng to thu nh.
disableDoubleClickZoom() : disable nhn double click.
setUIToDefault () : thit lp giao din ngi dng.
addControl (GControl, v tr) : gn s kim sot bn cho i tng gi,nu
tham s v tr khng c th s dng v tr mc nh c nh ngha bi
GControl.getDefaultPosition().
getMaptypes () : tr v mng MapTypes .
getCenter () : tr v ta a l ca im trung tm bn .
addOverlay(GOverlay) : s kin ny pht sinh ra khi mt lp ph duy nht
c thm vo bn theo phng php addOverlay.

III.2.2.b Lp c bn (base class)


 GLatLng : khi to mt im trong ta a l vi v , kinh . Lp c
cc phng thc nh :
- Lat () : tr v v trong ta .
- Lng() : tr v kinh trong ta .
SV: Nguyn Th Dip T

Trang 49

Bo co n tt nghip

Chng III: C s h tr pht trin ng dng nh v

- latRadians() : tr v v trong bn knh,nm trong khong -/2 n /2.


- lngRadians() : tr v kinh trong bn knh , nm trong khonh t -/2
n /2.
- equals(GlatLng) : kiu Boolean, tr v khi hai thnh phn bng nhau.
- distanceForm(GlatLng , bn knh) : tr v khong cch gia v tr hin
to v v tr nht nh(tnh bng mt). Theo mc nh, khong cch ny
c tnh t v tr hin ti ti bn knh xch o,ngoi ra ta c th truyn
cho n tham s bn knh.
- toUrlValue() : tr v chui i din cho v tr ny (nh dng ca n phi
ph hp vi tham s URL).
 GBrowserIsCompatible():chc nng ny kim tra xem Map API c th
c s dng trong cc trnh duyt hin hnh. Nu tr v true th h
tr,faulse th khng.
 GPoint : biu din 1 im trn bn bng ta pixel, trong version 2
ny n khng biu din mt im trn tri t bng ta a l.Ta a l
c biu din bng GLatLng. Trong h thng ta Googles Maps, ta x
tng theo chiu t tri sang phi, y tng theo chiu t trn xung di.
Khi to GPoint (x,y) : to ra mt i tng GPoint.
Cc phng thc ca GPoint :
- equals( GPoint) : tr v true nu cc im c ta ging nhau.
- toString () : tr v mt chui c cha cc ta x v y,cch nhau bi du
phy.
 GSize : kch thc bng pixel ca khu vc hnh ch nht ca bn .
Khi to : GSize (chiu rng, chiu cao): to ra i tng GSize.
Cc phng thc :
- Equals(GSize) : tr v true nu kch thc bng nhau.
- toString() : tr v mt chui cha tham s chiu rng,chiu cao.
 Gunload () : tho g tt c cc x l s kin c ng k ngn nga s
r r b nh nn n c gi nh l x l s kin unload.
III.2.2.c Lp iu khin (class Control)
GControl : Lp ny tha k t giao din GControl.Giao din GControl c ci
t bi tt c iu khin.Bn c th ci t th t ty chn iu khin bn
.Nhng iu khin c thm vo bn bng cch GMap2.addControl().
Phng php addControl c tham s th hai GControlPosition thit lp v tr iu
khin trn bn . Gi tr ny c th l nhng gi tr sau :
SV: Nguyn Th Dip T

Trang 50

Bo co n tt nghip

Chng III: C s h tr pht trin ng dng nh v

G_ANCHOR_TOP_RIGHT //gc pha trn bn phi

G_ANCHOR_TOP_LEFT // gc pha trn bn tri

G_ANCHOR_BOTTOM_RIGHT //gc pha di bn phi

G_ANCHOR_BOTTOM_LEFT //gc pha di bn tri


Chng ta c th add nhiu iu khin vo bn .Trong trng hp ny,chng ta c
th xy dng iu khin bng GSmallMapControl v GmapTypeControl.

var map =newGMap2(document.getElementById"map_canvas"));


var mapTypeControl =newGMapTypeControl();
var topRight =newGControlPosition(G_ANCHOR_TOP_RIGHT,newGSize(10,10));
var bottomRight
=newGControlPosition(G_ANCHOR_BOTTOM_RIGHT,newGSize(10,10));
map.addControl(mapTypeControl, topRight);
GEvent.addListener(map,"dblclick",function(){
map.removeControl(mapTypeControl);
map.addControl(newGMapTypeControl(), bottomRight);
});
map.addControl(newGSmallMapControl());
map.setCenter(newGLatLng(37.4419,-122.1419),13);
Mt s phng thc ca GControl :
GSmallMapControl () : to ra mt nt iu khin xoay 4 hng,phng to v
thu nh.
GLargeMapControl () : to ra mt nt iu khin xoay 4 hng,phng
to,thu nh v zoom theo kiu trt.
GSma-allZoomControl () : to nt iu khin phng to v thu nh.
GMapTypeControl : cung cp 1 iu kin chn v chuyn i gia cc
loi bn thng qua nt iu khin. Theo mc nh, bn h tr cch thit
lp ca G_DEFAULT_MAP_TYPES; bn cng c th thm cc loi bn
mt cch r rng qua GMap2.addMapType ().
Phng thc khi to : GMapTypeControl(boolean) : to 1 i
tngGMapTypeControl.

SV: Nguyn Th Dip T

Trang 51

Bo co n tt nghip

Chng III: C s h tr pht trin ng dng nh v

III.2.2.d Lp s kin (Event class)


Nampaces GEvent gm cc chc nng dng x l s kin,cho cc s kin
ring v s kin pht sinh.Cc s kin c nh ngha bi API v ty chnh s
kin thng qua GEvent.trigger().Mi Maps API to ra mt s s kin,v d GMap2
to ra click,dblclick v s kin di chuyn.
Mt s phng thc :
GEvent.removeListener(GEventListener) : xa mt x l c thit lp khi
s dng addListener().
III.2.2.e Lp bao ph (Overlay class)
 GIcon(): mt icon biu din 1 GMarker trn bn .V l do tng thch vi
trnh duyt rt kh,nn nu bn khng mun c bit th nn dng mc nh
G_DEFAULT_ICON.
Khi to : GIcon (GIcon, String) : to mt i tng Icon.
V d icon n gin:
var map =newGMap2(document.getElementById("map_canvas"));
map.addControl(newGSmallMapControl());
map.setCenter(newGLatLng(37.4419,-122.1419),13);
// to icon cho marker
var blueIcon =newGIcon(G_DEFAULT_ICON);
blueIcon.image ="http://www.google.com/intl/en_us/mapfiles/ms/micons/bluedot.png";
// thit lp i tng GMarkerOptions
markerOptions ={ icon:blueIcon };
// thm 10 maker vo bn v tr ngu nhin
var bounds = map.getBounds();
var southWest = bounds.getSouthWest();
var northEast = bounds.getNorthEast();
var lngSpan = northEast.lng()- southWest.lng();
var latSpan = northEast.lat()- southWest.lat();

SV: Nguyn Th Dip T

Trang 52

Bo co n tt nghip

Chng III: C s h tr pht trin ng dng nh v

for(var i =0; i <10; i++){


var point =newGLatLng(southWest.lat()+ latSpan *Math.random(),
southWest.lng()+ lngSpan *Math.random());
map.addOverlay(newGMarker(point, markerOptions));
}

Kt qu :

Hnh 12 : Kt qu v d icon
Mt s phng thc :
- Image : tr v chui URL nh mt trc ca icon
- Shadow : tr v chui URL ca nh shadow.
- iconSize : kch thc pixel ca nh mt trc icon.
- shadowSize : kch thc pixel ca nh shadow.
 GMarker()
Mt i tng GMarker nh du v tr trn bn . N ci t giao din
GOverlay v sau thm vo bn s dng phng php
GMaps.addOverlay().Mi i tng GMarker c mt thuc tnh latlng l v tr a
l ni marker hin th trn bn v mt icon.Nu icon khng c thit lp,icon
mc nh c s dng G_DEFAULT_ICON.

SV: Nguyn Th Dip T

Trang 53

Bo co n tt nghip

Chng III: C s h tr pht trin ng dng nh v

Google Maps API cng h tr s dng Google Map Marker.Google Map Marker
l bn c to ra thng qua s ng gp ca ngi s dng t khp ni trn th
gii, bao gm c khu vc cha bao ph Google Maps.
Lu : khi dng Map Marker, bn ch c th kim sot bn m Google Map
Marker thit lp,khi zoom vo cc khu vc m khng h tr s c thng bo l
ni khng c trn bng .Google Map Marker c sn 2 loi bn sau:
G_MAPMAKER_NORMAL_MAP hin th ch xem road map chun
G_MAPMAKER_HYBRID_MAP hin th kt hp nh v tinh v thng
thng.
Google Maps cung cp mt s bn b sung cho cc thin th khc ngoi
tri t :
G_MOON_ELEVATION_MAP : hin th bn a hnh bng m ca mt
trng,m mu theo cao.
G_MOON_VISIBLE_MAP : hin th nh chp c ly t qu o xung
quanh mt trng.
G_MARS_ELEVATION_MAP : hin th mt bn a hnh bng m ca
b mt sao Ha, m mu theo cao.
G_MARS_VISIBLE_MAP : hin th hnh nh c ly t qu o xung
quanh sao Ha.
G_MARS_INFRARED_MAP : hin th mt bn hng ngoi bng ca b
mt sao Ha, ni vng m p hn xut hin sng hn v lnh hn xut hin
cc khu vc sng ti hn.
G_SKY_VISIBLE_MAP : hin th mt khm ca bu tri, nh nhn thy t
Tri t, bao gm cc thin th hnh cu ton.
Mt s phng thc :
- openInfoWindowHtml(String,GInfoWindowOptions ) : m ca s hin th bn
thng qua icon ca marker.Ni dung ca ca s c cho bi chui HTML
- bindInfoWindowTabsHtml (GInfoWindowTab[],GInfoWinOptions): kt ni
HTML c cho n marker.Ni dung HTML s hin th trong ca s khi
marker c click.
- closeInfoWindow() :ch ng ca s nu n thuc v marker ny.
- getIcon() : tr v icon ca marker nh thit lp.
- getTitle (): tr v chui marker nh thit lp thng qua GMarkerOptions.title
getLatLng (): tr v ta a l ni marker ng.
SV: Nguyn Th Dip T

Trang 54

Bo co n tt nghip

Chng III: C s h tr pht trin ng dng nh v

Mt s s kin ca GMarker : click,dblclick,mousedown,mouseup,mouseover,..


V d icon v marker :

var map =newGMap2(document.getElementById("map_canvas"));


map.addControl(newGSmallMapControl());
map.addControl(newGMapTypeControl());
map.setCenter(newGLatLng(37.4419,-122.1419),13);
// To icon n gin cho cc marker
var baseIcon =newGIcon(G_DEFAULT_ICON);
baseIcon.shadow ="http://www.google.com/mapfiles/shadow50.png";
baseIcon.iconSize =newGSize(20,34);
baseIcon.shadowSize =newGSize(37,34);
baseIcon.iconAnchor =newGPoint(9,34);
baseIcon.infoWindowAnchor =newGPoint(9,2);
function createMarker(point, index){
// To icon ch trong icon ti mi im
var letter =String.fromCharCode("A".charCodeAt(0)+ index);
var letteredIcon =newGIcon(baseIcon);
letteredIcon.image ="http://www.google.com/mapfiles/marker"+ letter +".png";
// Thit lp i tng GMarkerOptions
markerOptions ={ icon:letteredIcon };
var marker =newGMarker(point, markerOptions);
GEvent.addListener(marker,"click",function(){
marker.openInfoWindowHtml("Marker <b>"+ letter +"</b>");
});
return marker;
}
// To 10 marker ngu nhin
var bounds = map.getBounds();

SV: Nguyn Th Dip T

Trang 55

Bo co n tt nghip

Chng III: C s h tr pht trin ng dng nh v

var southWest = bounds.getSouthWest();


var northEast = bounds.getNorthEast();
var lngSpan = northEast.lng()- southWest.lng();
var latSpan = northEast.lat()- southWest.lat();
for(var i =0; i <10; i++){
var point =newGLatLng(southWest.lat()+ latSpan *Math.random(),
southWest.lng()+ lngSpan *Math.random());
map.addOverlay(createMarker(point, i));
}

Kt qu :

Hnh 13 : Kt qu v d GMarker
III.2.2.f

Lp dch v (Service class)


 GDownloadURL() :hm ny cung cp cch thun tin ng b ly
ngun ti nguyn c xc nh bi URL.Hm ny khng cn thit s dng
mt URL tuyt i cho cc tham s url, tt nht nn dng ng dn tuyt i
hay tng i x l cc ngoi l c nm ra.
GDownloadUrl (String url, Function onload,String postBody, String
postContentType) : ly ngun ti nguyn t url v gi chc nng onload vi
document nh tham s u tin v trng thi p ng ca HTTP nh tham s
th hai.Nu thi gian yu cu ht,hm onload c th c gi thay v null

SV: Nguyn Th Dip T

Trang 56

Bo co n tt nghip

Chng III: C s h tr pht trin ng dng nh v

ln u tin v -1 ln th hai.Hm ny mc nh gi HTTP GET. gi HTTP


POST ta s dng thm 2 tham s postBody, postContType.

GXml(): Namespace ny cung cp phng php x l cc d kin XML.

Mt s phng thc:
- GXml.parse (String) : phn tch chui XML v tr v mt node.Nu
browser khng h tr XML,kt qu tr v cho th <div> l rng.
- GXml.value() : tr v gi tr text ca d liu XML .
V d :
var map =newGMap2(document.getElementById("map_canvas"));
map.addControl(newGSmallMapControl());
map.addControl(newGMapTypeControl());
map.setCenter(newGLatLng(37.4419,-122.1419),13);
// Download d liu file data.xml and load n trn bn .
-

GDownloadUrl("data.xml",function(data, responseCode){
var xml =GXml.parse(data);
var markers = xml.documentElement.getElementsByTagName("marker");
for(var i =0; i < markers.length; i++){
var point =newGLatLng(parseFloat(markers[i].getAttribute("lat")),
parseFloat(markers[i].getAttribute("lng")));
map.addOverlay(newGMarker(point));
}
});

SV: Nguyn Th Dip T

Trang 57

Bo co n tt nghip

Chng III: C s h tr pht trin ng dng nh v

Kt qu :

Hnh 14 : Kt qu v d GXml.

GXmlHttp()
Namespace ny cung cp mt phng thc to i tng
XmlHttpRequest trong mt browser.GXmlHttp.create() : to mt i tng
XmlHttpRequest.
V d :

var request =GXmlHttp.create();


request.open("GET","myfile.txt",true);
request.onreadystatechange =function(){
if(request.readyState ==4){
alert(request.responseText);
}
}
request.send(null);

SV: Nguyn Th Dip T

Trang 58

Bo co n tt nghip

Chng IV: Pht trin ng dng nh v

Chng IV PHT TRIN NG DNG NH V


IV.1 GII THIU NG DNG
Chng trnh ng dng cng ngh GPS xy dng ng dng hin th v tr ca
my di ng trn bn , trong :
- Chng trnh trn my in thoi di ng gi ta v web servertheo khong
thi gian nh k. ng thi, ngi dng c th bit bit v tr hin ti ca mnh.
- Chng trnh server trn website nhn ly ta v hin th v tr trn bn .
ng thi, ta t my in thoi di ng gi v c lu trong c s d liu
server nhm phc v cho vic nh v, gim st my in thoi di ng v
nhng tin ch t bn : d ng,..ngi dng website c th s dng.

Hnh 15 : M hnh ng dng.


M t :
Ngi dng in thoi di ng bt tnh nng Dinh vi trn chng trnh ng dng,
ti mn hnh ng dng, ngi s dng s nhp usename (phone), website server,
chnkhong thi gian nh k gi ta GPS v zoom ca bn (bn l kt
qu t server gi v cho ngi dng in thoi, da vo bn ny ngi dng
in thoi c th bit v tr hin ti ca mnh).Chng trnh gi ta v server
thng qua kt ni GPRS.Chng trnh c th chy song song vi cc chng trnh
ng dng khc ca in thoi, ngi dng c th cho in thoi t ng gi ta
cho server trong khi tng tc vi cc chng trnh khc (nh nghe nhc,xem
phim,..).
Ti web server, chng trnh trn server s nhn ly ta , lu vo trong c s d
liu (d liu ny c th dng gim st,ng dng trong a l nh lp biu
SV: Nguyn Th Dip T

Trang 59

Bo co n tt nghip

Chng IV: Pht trin ng dng nh v

ng i,v ng..).Sau ,server s load cc ta ln hp seclect km theo thi


gian cp nht ngi qun l chn v hin th ln mn hnh.Ta c hin th
trn bn s, bn ny c th xem 3 dng : bn ng (road map), v tinh,
v bn kt hp c hai.ng thi, ngi s dng web c th s dng cc ng
dng t bn s ny nh : d ng. Chng trnh ti server cn c chc nng
delete xa ta .

IV.2 PHN TCH


IV.2.1 Chng trnh sever
IV.2.1.a Lc use case

Hnh 16 : Biu use case server.


 Danh sch actor
STT

Actor

ngha

Nguoi giam sat

Ngi gim st

Bng 10 : Danh sch cc actor ca chng trnh cho server.


 Danh sch use case
STT

Use case

ngha

Nhan toa do

Nhn ta t client

Hien thi toa do de chon

Hin th cc ta trong c s d liu ln


hp seclect

Hien thi toa do len ban do

Hin th ta chn trong hp select ln


bn

Xoa toa do

Xa ta trong hp seclect

Bng 11 : Danh sch cc use case ca chng trnh cho server


SV: Nguyn Th Dip T

Trang 60

Bo co n tt nghip

Chng IV: Pht trin ng dng nh v

IV.2.1.b c t use case


 c t chc nng Nhan toa do.
- Chc nng cho ngi gim st nhn ta t ngi dng in
thoi(client) cp nht vo c s d liu v tr li kt kt qu l bn
(nu kt ni thnh cng) hay thng bo (nu kt qu khng thnh
cng)cho client.
- Dng s kin chnh:
+ Use case bt u khi ngi dng in thoi kt ni vi server.
+Chng trnh t ng cp nht ta vo c s d liu.
+ Chng trnh gi yu cu nh v client n Google map
+ Chng trnh tr kt qu li client.
+ Chc nng thnh cng, ngi dng in thoi nhn c bn
hin th v tr hin ti ca ngi dng v cp nht c c s d liu ta .
- Dng s kin khc:Khng c.
- Cc yu cu c bit: Khng c .
- iu kin tin quyt: Khng c.
- im m rng: Khng c .
 c t chc nng Hien thi toa do de chon.
- Chc nng cho ngi gim st load cc ta trong c s d liu vo hp
seclect.
- Dng s kin chnh:
+ Use case bt u khi gim st bt browser.
+ Chng trnh t ng trch ta t c s d liu hin th ln hp
select..
- Dng s kin khc:Khng c.
- Cc yu cu c bit: Khng c .
- iu kin tin quyt: Khng c.
- im m rng: Khng c .
 c t chc nng Hien thi toa do len ban do.
- Chc nng cho ngi gim st chn ta t hp select, trch t c s
d liu ta tng ng ta chn, v load bn t Google map.
SV: Nguyn Th Dip T

Trang 61

Bo co n tt nghip

Chng IV: Pht trin ng dng nh v

- Dng s kin chnh:


+ Use case bt u khi ngi gim st chn ta trong hp
seclect.
+ Chng trnh trch ly d liu ta (tng ng vi ta c
s d liu)
+ Chng trnh gi yu cu nh v ta va chn n Google
map
+ Chng trnh hin th bn vi ta chn l center.
- Dng s kin khc:Khng c.
- Cc yu cu c bit: Khng c .
- iu kin tin quyt: Khng c.
- im m rng: Khng c .
 c t chc nng Xoa toa do.
- Chc nng cho ngi gim st xa cc ta trong c s d liu.
- Dng s kin chnh:
+ Use case bt u khi ngi gim st nhn delect
+Ngi gim st chn ta cn xa
+ Thc hin xa
+ Chng trnh xa ta trong c s d liu
+ Thng bo thnh cng cho ngi gim st.
- Dng s kin khc:Khng c.
- Cc yu cu c bit: Khng c .
- iu kin tin quyt: Khng c.
- im m rng: Khng c .
IV.2.1.c Lc tun t v hot ng
Ti bc ny, ta ch qu trnh thc hin cc chc nng, khng quan tm qu trnh
in thoi c ta th no m quan tm lm r qu trnh x l t lc in thoi c
ta .
 Lc hot ng nhn ta
Di y l biu tun t x l vic gi ta v nhn bn :

SV: Nguyn Th Dip T

Trang 62

Bo co n tt nghip

Chng IV: Pht trin ng dng nh v

Hnh 17 : Biu tun t x gi v nhn bn


 Lc tun t hin th ta chn

Hnh 18 : Biu tun t hin th ta chn


SV: Nguyn Th Dip T

Trang 63

Bo co n tt nghip

Chng IV: Pht trin ng dng nh v

 Lc tun t hin th ta ln bn

Hnh 19 : Biu tun t hin th ta ln bn .

 Lc tun t xa ta

Hnh 20: Lc tun t xa ta .


SV: Nguyn Th Dip T

Trang 64

Bo co n tt nghip

Chng IV: Pht trin ng dng nh v

IV.2.1.d Giao din

Hnh 21 : Giao din hin th ta ln bn .

IV.2.2 Chng trnh client


IV.2.2.a Lc use case

Hnh 21: Lc use case client.


 Danh sch actor
STT

Actor

ngha

Nguoi dung DD

Ngi dng di ng

Bng 12 : Danh sch cc actor ca chng trnh cho client.

SV: Nguyn Th Dip T

Trang 65

Bo co n tt nghip

Chng IV: Pht trin ng dng nh v

 Danh sch use case


STT
1

Use case

ngha

Dinh vi dien thoai Hin th v tr ngi dng di ng trn bn


Bng 13 : Danh sch cc use case ca chng trnh cho client

IV.2.2.b c t use case


 c t chc nng Dinh vi dien thoai.
- Chc nng cho php ngi dng di ng bit c v tr hin ti ca mnh
trn bn .
- Dng s kin chnh:
+ Use case bt u khi ngi dng in thoi chn chc nng nh
vt nt Dinh vi.
+Ngi dng nhp cc thng tin usename(phone), webserver,
zoom, thi gian nh k gi ta vo textbox,checkbox,gause tng
ng.
+Chng trnh s lu thng tin nhp vo trong nh in thoi, ng
gi gi yu cu ti server.
+ Chc nng thnh cng, ngi dng nhn c bn hin th v tr
hin ti ca ngi dng.
- Dng s kin khc:Ngi dng phi nhp username hoc phone, nu
khng nhp s cnh bo.
- Cc yu cu c bit: Khng c .
- iu kin tin quyt: Khng c.
- im m rng: Khng c .

SV: Nguyn Th Dip T

Trang 66

Bo co n tt nghip

Chng IV: Pht trin ng dng nh v

IV.2.2.c Lc tun t.
Lc tun t nh v in thoi :

Hnh 22 : Lc tun t nh v in thoi.

IV.2.2.d Giao din

Hnh 22: Giao din chc nng nh v.

SV: Nguyn Th Dip T

Trang 67

Bo co n tt nghip

Chng IV: Pht trin ng dng nh v

IV.3 Xy dng ng dng


IV.3.1 B cng c pht trin ng dng.
- Neatbean 6.9 ti ti :http://netbeans.org/community/news/show/1461.html
- JDK 1.6 ti ti
:http://www.oracle.com/technetwork/java/javase/downloads/index.html
- Xampp :http://www.apachefriends.org/en/xampp.html
- MySQL tool 5.0 :http://dev.mysql.com/downloads/gui-tools/5.0.html
- NuSphere PhpED :http://www.nusphere.com/
- JavaScript Editor :http://www.yaldex.com/JSFactory_Pro.htm
IV.3.2 Hin thc
Chng trnh em s dng m ngun m GPSTracker, nhng c b sung v chnh
sa cc bc x l v giao din, c th s trnh by bn di.
IV.3.2.a Trn in thoi
 Trng hp 1 : xy dng ng dng mc th nghim, in thoi khng c
chc nng GPS :
Chng trnh trn my in thoi di ng to gi ta GPS v gi v web
server theo khong thi gian nh k. ng thi ngi dng in thoi nhn
c bn th hin v tr ca mnh.
Tun t thc hin chc nng c trnh by bc phn tch, ti y ta s
c th cc qu trnh x l nh sau :
- Pht sinh ta .
- To b nh thi.
- Lu thng tin nhp vo b nh in thoi
- Kt ni vi server .
Pht sinh ta .
Khi in thoi s dng tnh nng GPS tch hp sn,sau qu trnh tnh
ton(chng 1 c cp)in thoi s nhn c thng tin c bn v v tr gi
tt l ta .Thng tin ny gm : ta , chnh xc, tc , method(cch ly
d liu v tr),V th, ta to mt lp Toado m t i tng l ta
GPS:
public class Toado {
private QualifiedCoordinates toado;
private float speed;

SV: Nguyn Th Dip T

Trang 68

Bo co n tt nghip

Chng IV: Pht trin ng dng nh v

private int localmethod;


}
Lp ny c thm cc phng thc truy cp vo thnh phn ca n c th
khi to ga tr v truy cp. pht sinh ta , ta s dng hm random, cho
pht sinh ngu nhin cc thnh phn trong i tng Toado, c bit l phi
khi to gi tr cho tng bin trong QuanlifiedCoordinates(nh honh , tung
, cao ,..) nhng phi gii hn trong phm vi ta thc.Ring vi tham
s method, nu method =8 c ngha l d liu v tr c ly t cell phone,
nu method = 327681 th d liu v tr ly t satellite. y, em chn method
= 327681 tng ng d liu v tr ly t v tinh.
To b nh thi.
Ta mun cho in thoi gi ta lin tc theo khong thi gian nh k ti
server th buc ta phi lp lch cho nhim v gi ta . lp lch cho nhim
v, ta thm vo hai lp Timer(lp lch cho thi im xut pht nhim v) v
TimerTask (thc thi nhim v).C th, trong chng trnh ny,em cho lp
GPS kt tha lp TimerTask c nhim v gi ta v khai bo i tng
Timer trong lp GPSTracker.
lp lch cho nhim v, c 2 cch : lp lch nhim v mt ln v lp lch
nhim v nh k. Vi yu cu ca chc nng gi ta lin tc, ta chn lp
lch theo nh k.Trong lp lch theo nh k li c hai cch : tr c
nh(Fixed -delay) v t l c nh (Fixed - rate).u im ca fixed delay l
tnh n nh quan trng hn tnh chnh xc, tc l m bo cng vic thc hin
mt cch n nh i khi khng chnh xc thi gian lp li cng vic, v th
khi ta thay i n s lm hnh nh trn tru, n nh.Chnh nhng u im
ny lm em chn cch lp lch ny.Ta dng phng thc void
schedule(TimerTasker task, long delay, long period) vi khong thi gian
delay bng 0, thi gian period ty thuc vo ty chn ca ngi dng di
ng(n v ca period c tnh theo phn nghn giy).Bn cnh , ta dng
phng thc cancel() hy b lp thi gian khi c thay i v thi gian gi
toa .
Lu thng tin nhp vo b nh in thoi .
Khi ta s dng chc nng Dinh vi ta cn nhp mt s thng tin :
username(phone), thi gian nh k gi, thi gian gi ta v server,
SV: Nguyn Th Dip T

Trang 69

Bo co n tt nghip

Chng IV: Pht trin ng dng nh v

zoom. Nhm to s tin dng cho ngi s dng v d nh khi nhp cc


thng s ny, i khi ta nhn nhm c th lm chng trnh thot ra,nn
chng trnh c chc nng lu li cc thng s khi bn nhn save v s load
li trong ln m chng trnh sau . thc hin chc nng ny, em dng
lp RMS(m ngun m), thc hin chc nng lu v load li thng tin
nhp.
Kt ni vi server .
Kt ni vi server l cng vic ca i tng lp Networker(m ngun
m).Ti lp Networker, ta xy dng phng thc GetURL(String query )
to kt ni vi server thng qua lp HttpConnector(chng 2) v dng
phng thc GET gi yu cu ti server . Kt qu t server tr v l 1nh
bn vi v tr ca ngi dng in thoi l trung tm bn . Bn ny l
Static Google Map.Khi ngi dng in thoi gi yu cu cho server, server
s x l (x l th no, phn server s lm r) v to nh gi li cho in
thoi.in thoi m lung nhn d liu t server, v dng hm
Image.createImage phc hi li nh, hin th ln mn hnh.Kch thc ca
khung hin th bn cng c gi km yu cu gi ti server.
 Trng hp 2 :
in thoi c tnh nng GPS, in thoi nhn ta t h thng GPS gi v
cho server theo khong thi gian nh k. ng thi ngi dng in thoi
nhn c bn th hin v tr ca mnh.
Trnh t x l cho trng hp ny tng t nh trng hp trn, nhng c
im khc nhau.Vi trng hp trn, chng trnh phi t sinh ta, to b lp
lch nhim v th vi trng hp ny, ta khng phi sinh ta m nhn ta
t GPS v khng cn to b lp lch nhim v, ta s dng hm trong
Location API thit lp cp nht. Cc bc x l :
- Nhn ta GPS.
- Cp nht ta theo nh k.
- Lu thng tin nhp vo b nh in thoi
- Kt ni vi server v hin th kt qu.
Nhn ta GPS.
nhn ta t GPS, ta tin hnh trnh t cc bc nh trong phn chng
2 gii thiu :
SV: Nguyn Th Dip T

Trang 70

Bo co n tt nghip

Chng IV: Pht trin ng dng nh v

- B1 : To Criteria.
- B2 :Thit lp Criteria cho LocationProvider.
- B3 :Nhn mt th hin LocationProvider theo mt Criteria.
- B4 :Nhn i tng Location t LocationProvider.
- B5 :Nhn Coordinates t Location.
Bc 1, 2, 3 ta thc hin ngn gn qua hm createLocationProvider():
private void createLocationProvider() {
Criteria cr = new Criteria();
try {
locationProvider = LocationProvider.getInstance(cr);
} catch (Exception e) {
midlet.log("GPS.createLocationProvider: " + e);
}
}
Bc 4, 5 ta thc hin n gin qua hm getLocation (Location
location).Hm ny thc hin nhn Coordinates t i tng Location(s
dng hm khi to mc nh cho i tng Location _ vi hm khi to
mc nh, i tng ny c khi to t LocationProvider).
Cp nht ta theo nh k.
Trong Location API c h tr phng thc
setLocationListener(LocationListener listener, int interval, int timeout, int
maxAge) (thuc lp LocationPrivider ) update v tr theo khong thi gian
interval hoc theo s thay i trng thi ca LocationProvider. V th, ta s
dng phng thcproviderStateChanged(LocationProvider provider,
int newState) (trong Location API) lng nghe s thay i trng thi ca
LocationProvider, v phng thc
locationUpdated(LocationProvider provider, Location location).
Lu thng tin nhp vo b nh in thoi.
X l tng t nh trng hp 1.

SV: Nguyn Th Dip T

Trang 71

Bo co n tt nghip

Chng IV: Pht trin ng dng nh v

Kt ni vi server.
X l tng t nh trng hp 1.
IV.3.2.b Trn server
 Nhn ta .
Tun t thc hin chc nng c trnh by bc phn tch, ti y ta s c th
cc qu trnh x l nh sau :
- To c s d liu lu cc thng s nhn t client.
C s d liu server l bng vi cc field l cc thng s nhn t
client : phoneNumber, latitude, longtitude, sessionID, speed,.. v thm vo
fiefd GPSLocationID lm kha.

Hnh 23 : Bng c s d liu server.


S dng phng thc GET nhn kt ni
Lu thng s nhn t client vo c s d liu
To url download bn static map theo nh dng Static Google
API vi cc tham s : markers, lat, lng, zoom, size,..
To nh bng hm imageCreateFromGIF($mapUrl)
Gi nh tr v client.

 Hin th ta ln hp select .

SV: Nguyn Th Dip T

Trang 72

Bo co n tt nghip

Chng IV: Pht trin ng dng nh v

- hin th ta ln hp select ta trch t c s d liu thng tin s


phone, ngy gi cp nht,.. hin th ln hp seclect.
- cho thng tin trong c s d liu mi khi c cp nht hin th ln
mn hnh, ta phi phi kim tra trng thi mn hnh, khi mn hnh reload li
th ta s load li d liu ln hp select. y,em dng hm
setTimeout("location.reload(true)", interval*1000) reload t server.
 Hin th nh ln bn (m ngun m).
hin th nh chn t hp select ln bn , ta cn x l cc cng vic :
- Trch t c s d liu thng tin ta tng ng vi ta
chn t hp seclect.
- Xy dng bn (bn hin th ta ti server l bn xy
dng t Googole JavaScript API).
- To nt iu khin.
- To marker tng ng vi ta c chn.
- To icon th hin v tr ta .
Cc icon dng gn vo marker th hin v tr in thoi trn bn .Mi
ln in thoi cp nht v tr v server, v tr lu trong c s d liu. Khi ta
chn trong hp select s phoneNumber cn nh v, ta s truy cp trong c
s d liu ton b cc ta ca phoneNumber.
Ta to ra s marker tng ng s ta ca phoneNumber .Sau , ta s
thm cc marker vo bn .Ta hin hnh ta s chn icon khc cc ta
trc .Nh th ta s hin th c du vt tt c cc ta ca
phoneNumber.
 Xa ta .
xa ta , ta chn ta cn xa trn hp select, tin hnh xa ta
trong c s d liu vi ta va chn.
IV.3.3 Hng pht trin.
D n lc v c gng nhng do thi gian hn ch, kh khn khi tip cn
cc cng ngh mi, ngn ng lp trnh mi, cng nh kh khn trong kt hp
mySQL vi php, nhng javacript, php vo html cc nn chng trnh em cn c
nhng hn ch v thiu st sau :
Chng trnh server, mun t ng cp nht nhng thay i t c s d liu
ln hp select phi nh k reload li mn hnh. Em c nghin cu tm cch khc
SV: Nguyn Th Dip T

Trang 73

Bo co n tt nghip

Chng IV: Pht trin ng dng nh v

phc, em c bit s dng timer, nhng do thi gian hn ch, nn em cha kp


hon thin n.
Chng trnh ca em mc demo nn qu trnh xc thc cn n gin, tng
lai nu chng trnh p dng thc t s phi xy dng h thng xc thc mnh nh
radius,...

IV.4 KCH BN DEMO.


IV.4.1 Kch bn 1 :
Demo chng trnh pht trin ng dng nh v trn in thoi gi lp. in
thoi gi lp gi ta pht sinh v web server local.
C th l, lc ny ngi dng in thoi di ng chnh l ngi dng my
tnh c ci chng trnh client, chng trnh client chy trn phn mm gi lp
in thoi Toolkit Wireless 2.5.Ti y, in thoi gi lp chy chc nng nh v
ca chng trnh client, in thoi s gi ta do chng trnh client pht sinh
nh k v web server.
Ngi gim st web server s ng nhp vo web server ti trang login, ng
nhp thnh cng s hin th trang gim st. Ti trang ny, ngi gim st chn s
phoneNumber cn gim st ti hp select bn th hin v tr ca in thoi
c hin th trn trang gim st v v tr ca in thoi c th hin bng icon
trn bn . Icon th hin v tr hin ti khc vi icon th hin cc ta i
qua.V th, khi ta quan st trn bn ti server s gim st c ngi dng di
ng.
IV.4.2 Kch bn 2 :
Demo chng trnh pht trin ng dng nh v trn in thoi tht ch c tnh
nng GPRS, in thoi gi ta pht sinh v web server qua GPRS.
Lc ny, ngi dng in thoi s dng in thoi tht, c c chc nng
GPRS, khng c chc nng GPS. in thoi bt chc nng nh v trn chng
trnh client v gi ta do chng trnh client pht sinh theo nh k v web
server .
Ngi gim st ti web server cng ng nhp v lm cc bc nh web
server local, nhng trong trng hp ny web server c public.
IV.4.3 Kch bn 3 :

SV: Nguyn Th Dip T

Trang 74

Bo co n tt nghip

Chng IV: Pht trin ng dng nh v

Demo chng trnh pht trin ng dng nh v trn in thoi tht c chc
nng GPS v GPRS, in thoi nhn ta t h thng GPS qua chc nng GPS
tch hp trong in thoi gi ta v web server qua GPRS.
Lc ny, in thoi tht nhn ta GPS t chc nng GPS tch hp trong
in thoi, in thoi chy chc nng nh v ca chng trnh client gi ta
tht v cho server theo nh k thng qua GPRS.
Ngi gim st ti web server cng ng nhp v lm cc bc nh web
server local nhng web server c public.

SV: Nguyn Th Dip T

Trang 75

Bo co n tt nghip

KT LUN
Sau gn 3 thng lm ti tt nghip, di s hng dn tn tnh ca thy
Nguyn Hng Sn em nm c mt s kin thc cn bn v h thng nh v
GPS, cc cng ngh h tr nh v, cng ngh J2ME, Milet, mt s hm trong
Googe API, cch to bn thng qua Google Static API, cch to bn , iu
khin bn thng qua Google JavaScript API, s lc v th htm, ngn ng php.
c bit xy dng c chng trnh ng dng trn in thoi v server, nhm gip
cho ngi qun l server gim st in thoi, ly thng tin ng i thng qua vic
x l s liu ta nhn c trong c s d liu v c th gip ngi dng nh v
v tr hin ti ca bn thn.

SV: Nguyn Th Dip T

Trang 76

Bo co n tt nghip

TI LIU THAM KHO.


1.Nguyn Bch H, Nn tng cng ngh J2ME & MIDP, nh xut bn giao thng vn
ti
2.John W.Muchow, Core J2METM Technology & MIDP, xut bn bi Pretince Hall
PTR, ngy xut bn 21/12/2001 .
3.Vartan Piroumian, Wireless J2METM Platform Programing, xut bn bi Pretince
Hall PTR, ngy xut bn 25/03/2002.
4.Phm Hu Khang, PHP & MySQL, nh xut bn Phng ng.
5.Cc website tham kho :
http://vi.wikipedia.org/wiki/H_thng_nh_v_ton_cu.
http://vi.wikipedia.org/wiki/Dch_v_v_tuyn_gi_tng_hp.
http://ktvt.org/forum/showthread.php?251-doc-GPRS-GSM-Network&p=309
http://developers.sun.com/mobility/apis/articles/location/
http://mobilesprogramming.wordpress.com/2010/08/19/
http://wiki.forum.nokia.com/index.php/Google_Maps_API_in_Java_ME
http://code.google.com/apis/maps/documentation/mapsdata/developers_guide_protoco
l.html.
http://code.google.com/intl/vi-VN/apis/maps/documentation/staticmaps/
http://www.mapmap.org/googlemaps/mock/js_docs_out/
http://www.jappit.com/blog/midmaps-google-maps-java-me-library/
http://econym.org.uk/gmap/index.htm
http://www.php.net/manual/en/index.php
http://www.qhonline.info/php-can-ban/29/bai-8--khai-niem-ve-ham-va-goi-lai-hamtrong-php.html.
http://www.w3schools.com/jsref/
http://www.ajaxtoolbox.com/request/documentation.php
http://dev.mysql.com/doc/refman/5.1/en/

SV: Nguyn Th Dip T

Trang 77

You might also like