You are on page 1of 21

Bo co bi tp ln H iu Hnh

ti 3:Tm hiu v cu trc HH thi gian thc v pht trin ng dng trn
HH H iu Hnh Android.
Thy gio hng dn : Vn Uy
Nhm :
1.Nguyn Duy Minh -

Lp CNPM K53,MSSV 20083408

2.Nguyn Trng Hon - Lp CNPM K53,MSSV 20083340


3.Nguyn Cnh Trung - Lp CNPM K53,MSSV 20083536
4.H Huy Hong -

Lp CNPM K53,MSSV 20083344

5.Nghim Tin Vin -

Lp CNPM K53,MSSV 20083567

Mc lc
Mc lc...................................................................................................................................2
Chng I. Tng quan v ti...............................................................................................3
S lc v h iu hnh....................................................................................................3
1.2 H iu hnh trn di ng.............................................................................................3
1.3 Cc din cuc chin h iu hnh di ng...................................................................4
Chng II. Tm hiu h iu hnh Android............................................................................6
2.1 Lch s Android.............................................................................................................6
2.2 Cc c im h iu hnh Android.............................................................................7
2.3 Kin trc h iu hnh Android.....................................................................................9
2.3.1 Tng ht nhn Linux..............................................................................................9
2.3.2 Tng Library v android runtime............................................................................9
2.3.3 Tng Application Framework...............................................................................10
2.3.4 Tng Application..................................................................................................10
2.4 Phng thc hot ng.............................................................................................10
2.4.1 File system...........................................................................................................10
2.4.2 Cu trc th mc.................................................................................................11
2.4.3 Qun l b nh....................................................................................................11
2.4.4 Qun l tin trnh.................................................................................................12
2.4.5 Giao tip vi ngi dng.....................................................................................13
Chng III. Vit ng dng cho Android................................................................................15
3.1 c im ng dng Android.......................................................................................15
3.2 Web App....................................................................................................................15
3.3 M t ng dng..........................................................................................................16
3.4 Phn tch....................................................................................................................16
3.5 Sn phm..................................................................................................................17
Chng IV. Kt lun.............................................................................................................20

Chng I. Tng quan v ti


S lc v h iu hnh
H iu hnh l chng trnh chy trn h thng my tnh, qun l cc
ti nguyn trn my tnh v l mi trng cho cc chng trnh ng
dng chy trn n.
Ngy nay, khi nim h iu hnh khng ch l trn my vi tnh m
cn c m rng cho nhiu thit b in t khc chng hn nh in
thoi thng minh (smart phone), cc thit b cm tay PDA....v.v
1.2 H iu hnh trn di ng
Nh vy h iu hnh di ng l h iu hnh chy trn h thng my c
tnh di ng cao. Vi c th , h iu hnh di ng phi c nhng kh
nng c bit m nhng h iu hnh thng thng khng c c.
-

L h iu hnh, iu khin 1 thit b di ng hoc cc thit b


lu tr thng tin. in hnh l cc smartphone, PDA, (personal
digital assistants) my tnh bng v cc thit b di ng khc.

Nng lng pin c gii hn, v th tt c cc thnh phn trn


thit b u phi ti u tit kim pin, iu ny sinh nhiu
mu thun vi nhu cu s dng ca ngi dng. Mn hnh ln,
sng, hay b nh ln, vi x l tc cao u s gy tn pin. Khi
h iu hnh di ng cng c trch nhim phi ti u hot
ng ca mnh tit kim nng lng mt cch ti a.

N phi qun l cc ng dng khng cc ng dng chy


chim qu nhiu ti nguyn, trnh s c quyn, xung t, tranh
chp ti nguyn gia cc ng dng trong khi cc h iu hnh
chy desktop th t ch hn. H iu hnh di ng lun c b
cng c qun l in nng s dng trong my, trong nhng tnh
hung cn thit th h thng s t tt nhng ng dng khng
cn thit duy tr cc chng trnh cn thit hn hot ng.

a s cc h iu hnh trn desktop u cho php nhiu ng


dng chy ng thi (a nhim) v kh t do. Trong khi , cc
h iu hnh chy trn di ng thng khng cho php chy a
nhim, hoc c a nhim th cc ng dng b gii hn kh nhiu.

Vic hin th giao din trn mt khung hnh nh cng iu kh


khn hn so vi h iu hnh chy trn desktop, thng th trn

h iu hnh di ng gn nh khng c giao din ca s cho


php nhiu ng dng cng hin th mt lc m ch l mt giao
din m trn mi thi im ch hin th mt giao din ca mt
ng dng m thi.
-

H iu hnh di ng phi c kh nng hot ng lin tc khng


ngng ngh m bo lin lc, m bo kt ni ca thit b ti
mng khng dy cn kt ni trong khi vn di chuyn. V th cn
c thit k c bit hn so vi h iu hnh trn desktop.

Cc h iu hnh ph bin :
o iOS : Apple
o Android : Google
o

RIM : BlackBerry

o Symbian
o webOS, Bada, Window Mobile

1.3 Cc din cuc chin h iu hnh di ng

Cc din gia cc h iu hnh trong na u nm 2010 cho thy:


H iu hnh iPhone (iOS) ca Apple tip tc bnh trng trn th
trng in thoi thng minh smartphone. Google Android ang
"tng tc" ln v tr th 2. Trong khi , Rim ca BlackBerry ang
dn tt hng do thiu "ci m" vi cc ng dng mi.
Nhiu hy vng v gng mt mi ca h iu hnh di ng tng
lai ang c gi gm cho Android do mt s u im ng k nh
tnh linh ng, p o v s lng v chng loi, c cng c
pht trin ng dng v tp trung nhiu vo ngi dng...
Nhng hin ti, Android ang ng trc s cnh tranh quyt lit
ca nhng h iu hnh mi ra i ang c u t v qung b
rng ri nh Bada ca Samsung.

Chng II. Tm hiu h iu hnh Android


Tm hiu v cu trc HH thi gian thc v pht trin ng dng
trn HH H iu Hnh Android
ti :

2.1 Lch s Android


Thng 7/2005, Google mua li Android, 1 cng ty nh va thnh lp
c tr s ti Palo Alto, California, M. Ngi sng lp ra cng ty lc
l Andy Rubin, hin ti l gim c ph trch mng di ng ca
Google
Thng 11/2007, Trc s xut hin ca iPhone, tin n v vic
Google bt u sn xut thit b di ng ca ring mnh lan nhanh.
Do , mc thi gian ny thc s quan trng trong lch s h iu
hnh Android. Trong khong thi gian ny, Google cng b 1 tin
bt ng vi th gii: h khng ch ang tp trung sn xut nhng
chic di ng v cn ang bt tay vo vic pht trin h iu hnh
m ngun m cho thit b di ng nhm cnh tranh vi Symbian,
Windows Mobile v nhng tn tui khc.
S ra mt ca Android vo ngy 5 thng 11 nm 2007 gn vi s
thnh lp ca lin minh thit b cm tay m ngun m, bao gm 78
cng ty phn cng, phn mm v vin thng nhm mc nh to
nn mt chun m cho in thoi di ng trong tng lai
T thng 10 nm 2008, h iu hnh Android chnh thc tr
thnh phn mm m ngun m. Theo o, cc cng ty th ba c
php thm nhng ng dng cua ring ca h vo Android v bn
chng m khng cn phi hoi y kin Google.
Thng 2/2009, 1 s cng ty trong c Qualcomm v Texas
Instruments co trong tay nhng con chip chy cc phin bn n
gin ca h iu hnh Android, cho php c th gii chim ngng
sc mnh ca "Chu robot xanh". Khi , Android gim bt thi gian
pht trin 1 cch ng k. Cac i thu bt u lo s
Ti MWC 2008 v Google I/O, hng Google tung ra nhng tm
hnh b mt ca chic in thoi Android u tin v t ngi
tiu dng cm thy th v v s n gin ca h iu hnh ch
robot xanh. Nokia cho rng mi e da t h iu hnh ca Google
l kh chng . Hng ny quyt nh tr tin cho Sony
Ericsson, Samsung v nhng cng ty khc c th s hu hon
ton h iu hnh Symbian v nhanh chng thnh lp T chc

Symbian Foundation, c thit k nhm kch thch s lng ln


khch hng ang s dng h iu hnh ny.
Cac thit bi s dung Android ra i Thng 9/2008, chic in thoi
s dung Android u tin chnh thc c ra mt. o la T-Mobile
G. Tip theo, n lt Google Nexus One - san phm cy nha la
vn cua Google (san xut bi HTC) ra mt vao nm 2010, anh
du bc phat trin manh me cua h iu hanh Android. Sau o,
hang loat thit bi s dung h iu hanh Robot xanh b ln thi
trng.
2.2 Cc c im h iu hnh Android
Android l h iu hnh trn in thoi di ng pht trin bi
Google v da trn nn tng Linux
Google cng b hu ht cc m ngun ca Android theo bn cp
php Apache.
Vi giy php Apache, cc nh cung cp c th thm nhng m
rng thng mi m khng cn chuyn chng thnh m ngun m.
H iu hnh Android bao gm 12 triu dng m; 3 triu dng
XML, 2.8 triu dng m C, 2.1 triu m Java v 1.75 triu dng m
C++
C th c s dng cho in thoi, netbook, my tnh bng
( Streak Dell , Samsung Galaxy Tab) TV v cc thit b khc.

Tnh nng
o

Lu tr : SQLite - 1 c s d liu quan h mnh m c s dng


cho mc ch lu tr d liu

Kt ni : H tr cc cng ngh kt ni
GSM/EDGE, IDEN, CDMA, EV-DO, UMTS, Bluetooth, Wi-Fi, LTE, WiMAX

Nhn tin: SMS/MMS

Trnh duyt web: da trn m ngun m webkit, kt hp vi


Chromes V8 JavaScript engine

H tr Java: Khi nh pht trin vit mt ng dng dnh cho


Android, u tin thc hin cc on m trong mi trng Java.
Sau , n s c bin dch sang cc bytecode ca Java, tuy

nhin thc thi c ng dng ny trn Android th nh pht


trin phi thc thi mt cng c c tn l dx. y l cng c dng
chuyn i bytecode sang mt dng gi l dex bytecode.
"Dex" l t vit tt ca "Dalvik executable" ng vai tr nh c
ch o thc thi cc ng dng Android. My o Dalvik cng ging
nh my o Java (Java Virtual Machine)
o

H tr Multi media: H tr cc nh dng m thanh/hnh


nh/video sau :
WebM , H.263 , H.264 (trong 3GP hoc MP4 ),MPEG-4
SP , AMR , AMR-WB (trong 3GP), AAC , HE-AAC (trong MP4 hoc
3GP), MP3 , MIDI , Ogg Vorbis , WAV ,JPEG , PNG , GIF , BMP

H tr cc phng thc Streaming Media. RTP / RTSP


streaming, HTML5 th <Video> . Adobe Flash Streaming (RTMP)
v HTTP streaming , Apple Live HTTP streaming (RealPlayer),

H tr phn cng : Camera, Mn hnh cm ng, GPS, Gia tc,


con quay hi chuyn, t k, cm bin p sut, cm bin tim
cn, tng tc 2D v 3D

a chm

Bluetooth

a nhim

Cc tnh nng da trn chc nng thoi (Video call)

Tethering : Cho php in thoi c s dng nh 1 im truy


cp khng dy (t android 2.2)

2.3 Kin trc h iu hnh Android


H iu hnh android c 4 tng t di ln trn l tng ht nhn
Linux (Phin bn 2.6), tng Tng Libraries & Android runtime , Tng
Application Framework v trn cng l tng Application.

2.3.1 Tng ht nhn Linux


H iu hnh android c pht trn da trn ht nhn linux, c
th l ht nhn linux phin bn 2.6, iu c th hin lp
di cng ny. Tt c mi hot ng ca in thoi mun thi
hnh c th u c thc hin mc cp thp lp ny bao
gm qun l b nh (memory management), giao tip vi phn
cng (driver model), thc hin bo mt (security), qun l tin
trnh (process).
Tuy c pht trin da vo nhn linux nhng thc ra nhn linux
c nng cp v sa i rt nhiu ph hp vi tnh cht
ca nhng thit b cm tay nh hn ch v b vi x l, dung
lng b nh, kch thc mn hnh, nhu cn kt ni mng khng
dy...
2.3.2 Tng Library v android runtime
Phn Libraries. Phn ny c nhiu th vin c vit bng
C/C++ cc phn mm c th s dng.

Phn Android runtime Phn ny cha cc th vin m mt


chng trnh vit bng ngn ng Java c th hot ng. Phn
ny c 2 b phn tng t nh m hnh chy Java trn my tnh
thng. Th nht l cc th vin li (Core Library) , cha cc lp
nh JAVA IO, Collections, File Access. Th hai l mt my o
java (Dalvik Virtual Machine)
2.3.3 Tng Application Framework.
Tng ny xy dng b cng c - cc phn t mc cao cc
lp trnh vin c th nhanh chng xy dng ng dng. N c
vit bng Java, c kh nng s dng chung tit kim ti
nguyn.
a. Vi cc hng sn xut in thoi : C th ty bin ph hp
vi cu hnh in thoi m h sn xut cng nh c nhiu
mu m, style hp th hiu ngi dng. V th nn tuy cng
chung nn tng android m in thoi ca Google c th khc
hn vi Motorola, HTC, T-Mobile, Samsung...
b. Vi lp trnh vin : Cho php lp trnh vin c th s dng cc
API tng trn m khng cn phi hiu r cu trc bn di, to
iu kin cho lp trnh vin t do sng to bi v ch cn quan
tm n ni dung m ng dng h lm vic. Mt tp hp cc
hm API rt hu ch c xy dng sn nh h thng nh v, cc
dch v chy nn, lin lc gia cc ng dng, cc thnh phn
giao din cp cao ...
2.3.4 Tng Application
y l lp ng dng giao tip vi ngi dng, bao gm cc ng
dng nh :
Cc ng dng c bn, c ci t i lin vi h iu hnh l
gi in(phone), qun l danh b(Contacts), duyt web
(Browser), nhn tin (SMS), lch lm vic (Calendar), c e-mail
(Email-Client), bn (Map), quay phim chp nh (camera)...
Cc ng dng c ci thm nh cc phn mm chng khon
(Stock), cc tr chi (Game), t in...
2.4 Phng thc hot ng
2.4.1 File system
Mc nh, Android s dng YAFFS - Yet Another Flash File System
http://kythuatmaytinh.wordpress.com/2008/05/26/h%E1%BB%87-th%E1%BB%91ngfile-flash-tren-linux/

YAFFS l mt h thng file flash c pht trin cho thit b NAND. Phin
bn u tin (YAFFS) h tr cc thit b flash vi cc page kch thc 512
byte, nhng phin bn gn y (YAFFS2) h tr cc thit b mi hn vi
kch thc page ln hn v s chu k Write gii hn cng ln hn.
Android da trn nhn linux do n h tr hu ht cc file system khc
m linux h tr nh vfat (fat 12/16/32), ext2,ext3
Thng thng th sd dng fat32 file system tin vic trao i d liu
vi cc my tnh window.
2.4.2 Cu trc th mc
Trong nhiu h iu hnh nh window, ngi ta phn bit r file (tp tin)
v folder (hay directory : th mc) l 2 thnh phn khc hn nhau. Tuy
nhin trn h iu hnh android (cng nh linux) th coi directory cng l
file v n l mt loi file c bit.
Th mc (hay c th gi l file) root l th mc gc ca tt c cc file
th mc cn li. Di n c cha mt s file th mc h thng. Mi th
mc (tr th mc root) u c mt th mc cha cha n, bn thn n
cng c th c nhiu file th mc con. Cu trc c th m t bng mt
cy th mc c dng nh sau :

2.4.3 Qun l b nh
Thay v s dng my o Java nh truyn thng, Android s dng my o
ca ring mnh m bo chy nhiu tin trnh hiu qu trn 1 thit b
duy nht. Cc my o Dalvik s dng nhn linux qun l cp thp bao
gm tin trnh, lung v qun l b nh
Mi tin trnh Android c chy trong 1 my o Dalvik ring bit v giao
ton quyn qun l b nh cho n. My o Dalvik c cc trnh dn rc
ti u ha hot ng ca 1 process. N t ng xa cc i tng khng
dng n, cc vng nh tm.. vic ny rt thng xuyn i vi cc ng
dng lin quan nhiu ti ha.

Android m bo cho cc tin trnh cn thit chy thng sut bng cch
dng cc tin trnh khng cn thit li, dnh ti nguyn cho tin trnh
c u tin cao hn. Th t b ng ca 1 tin trnh thu hi ti
nguyn ph thuc vo u tin ca ng dng chy n. Tt c ng dng
Androi s vn chy v trong b nh cho n khi h thng cn ti
nguyn.

2.4.4 Qun l tin trnh


iu quan trng l bn phi cu trc chng trnh ca mnh cho ph hp
trnh vic chng trnh b dng gia chng khi n ang thc hin 1 nhim
v quan trng. Th t u tin ca cc tin trnh nh sau
Active Process: L cc tin trnh ang tng tc trc tip vi ngi s
dng, cc tin trnh phc v vic thu nhn sng (m thoi, nhn tin), cc
tin trnh pht sinh x l s kin OnStart, OnCreate, OnDestroy . Cc tin
trnh ny c Android c gng p ng ngun ti nguyn cn thit. Ni
chung c rt t tin trnh thuc dng ny b ng. Vic ch xy ra khi
khng cn cch no khc. Cc tin trnh dng ny bao gm :
Visible Process : L cc tin trnh b che khut 1 phn, ang khng trc
tip tng tc vi ngi s dng. VD 1 ng dng khng che ph ton mn
hnh, th nhng ng dng thy c di ca s ny l cha cc tin trnh
thuc dng trn. Chng vn s c gi cho n khi thiu ti nguyn.
Background Process : Cc tin trnh thuc cc ng dng khng th nhn
thy
Empty Process: tng hiu sut h thng Android lu gi trng thi cui
ca 1 ng dng khi n hon thnh cng vic. Android lu gi trng thi
m ny phc v ng dng khi n chy li ln sau.

Hu nh cc nh pht trin v ngi dung u hi lng vi cch qun l b


nh ca Android.

2.4.5 Giao tip vi ngi dng


Androi c giao din ha trc quan v d s dng. Tuy nhin bn c th
s dng giao din dng lnh bng cch ci thm ng dng (Android
Terminal Emulator).

Chng III. Vit ng dng cho Android


ng dng cho Android hin nay c rt nhiu hng i. Em xinh trnh by 1
hng i mi, ang dn ph bin trn cc dng my smart phone.
3.1 c im ng dng Android
-

Vit bng Java, phn m rng l apk

Khi mi ng dng c chy, n c mt phin bn Virtual Machine


c dng ln phc v cho n. N c th l mt Active Program
( Chng trnh c giao din vi ngi s dng ) hoc l mt
background ( chng trnh chy nn ).

Android l h iu hnh a nhim, iu c ngha l trong cng mt


thi im, c th c nhiu chng trnh cng chy mt lc, tuy nhin,
vi mi ng dng th c duy nht mt thc th (instance) c php
chy m thi. iu c tc dng hn ch s lm dng ti nguyn,
gip h thng hot ng tt hn.

Android l mt h iu hnh c tnh m, khc vi nhiu h iu hnh


di ng khc, android cho php mt ng dng ca bn th ba c
php chy nn. Cc ng dng ch c mt hn ch nh l n
khng c php s dung qu 5~10% cng sut CPU, iu nhn
trnh c quyn trong vic s dng CPU.

ng dng khng c im vo c nh, khng c phng thc main


bt u.

3.2 Web App


L s kt hp gia ngn ng web (HTML, CSS, JavaScript.. ) v
phn App ( phn m Java chy trn nn h iu hnh). 2 phn ny
ph trch cc mng ring bit ca phn mm nh :
Phn Web ph trch vic hin th giao din, hnh nh, cc hiu
ng, tng tc ngi dng
Phn App ph trch vic giao tip vi cc thit b ngoi vi nh
chp nh, duyt file, c file, chi nhc, gi tin nhn
Vic pht trin Web-app ang ngy cng c ch trng bi nhng
u im ca n :

Pht trin giao din nhanh v d dng do da trn HTML.


Vi Android, cc hiu ng chuyn cnh cng c thc
hin d dnh nh HTML5, CSS3..

C th s dng database kch thc ln do lu tr


server, tch bit vi my ngi dng.

To kh nng chia s v lin kt ngi dung

Vic thay i giao din, ngn ng, thm bt chc nng l


cc k d dng m ngi dng c th khng cn update
phin bn

Nhc im

S dng phn mm lun cn c kt ni mng trao i


d liu vi server.

Tc ph thuc tc mng

Yu cu ln v bo mt h thng

3.3 M t ng dng
m t cho Web-app bn em lm ng dng cho php ngi dng
upload nh ln website chia s nh trc tuyn http://upanh.com . nh
c chn t my hoc chp trc tip t camera. nh sau khi Upload
c th c gi ti bn b qua tin nhn. C th xem nh mi Upload
t nhng ngi khc v ti v my.
M t hot ng :
-

Xem nh mi : lit k nh va c up ln upanh.com

Xem chi tit nh: Xem chi tit 1 nh, c th lu v my, t lm


hnh nn, chia s link nh cho bn b qua tin nhn

Upload nh

Chn nh t my : duyt qua cc th mc cha nh, chn


nh

Chp nh trc tip t camera

ng nhp/ng k

Xem nh ca ti, album ca ti

3.4 Phn tch


Cc thnh phn ca ng dng s c t chc nh sau :
-

Phn giao din c thit k v s dng HTML, CSS dng hnh, lu


server, do server tr v cho client (my ngi dng)

Upload ln upanh.com qua API c cung cp, phn ny vit bng


Java

Ly d liu ( nh mi, nh ca ti.. ) t upanh.com qua API

Chp nh, duyt file, lu nh, t nh lm hnh nn, gi tin nhn vit
bng Java

3.5 Sn phm
1 s hnh nh ca ng dng

Chng IV. Kt lun


Android l mt h iu hnh di ng hin i, c tim nng pht trin cao.
Hin nay s dng rng ri nhiu hng in thoi v thc s tr
thnh mt tp on in thoi mnh m khi cnh tranh vi nhng dng
in thoi khc nh iPhone, Window Phone, Sysbian..
Android c ngun gc t nhn Linux nn c tha hng nhng c tnh
qu bu ca linux, nht l v bo mt v hiu nng hot ng cao.
Khng nhng th, t nhn linux c ti u, ci thin ph hp vi
h thng in thoi nn n c kh nng ty bin, tng thch cao vi
nhiu mu in thoi ca nhiu hng khc nhau.
H iu hnh android c tch hp nhiu cng ngh hin i, h tr
phn cng tt, lin tc c cp nht nhng phin bn mi hn, hot
ng tt hn. C nhiu API hu ch cho cc nh pht trin phn mm, nh
pht trin ROM c th xy dng nn nhiu ng dng, h thng khc
nhau.
Trong tng lai, chc chn Android s cn pht trin v ngy cng hon
thin hn na, p ng c nhu cu ca nh pht trin v ngi dng.

Ti liu tham kho

[1] Gio trnh Nguyn l h iu hnh - i hc bch


khoa H Ni
[2] Mark L. Murphy. The Busy Coder's Guide to Android
Development. CommonsWare, LLC
[3] Mark L. Murphy. Beginning Android Apress
[4] Sayed Y. Hashimi v Satya Komatineni Pro Android
Appress
[5] Trang pht trin android
http://developer.android.com/

You might also like