nhập môn phát triển ứng dụng trên android - Pdf 23



Nhp môn phát trin ng dng Android

Mc : Nhp môn
Frank Ableson, Software designer
22 01 2011
Android là mt môi trng h iu hành hoàn chnh da trên h iu hành nhân Linux® V2.6. Lúc u,
ích trin khai i vi Android là lnh vc in thoi di ng, gm các loi in thoi thông minh và các
loi thit b in thoi kiu gp chi phí thp. Tuy nhiên, phm vi y  các dch v in toán ca
Android và s h tr chc nng phong phú ca nó có tim nng m rng vt ra ngoài th trng in
thoi di ng. Android có th hu ích i vi các nn tng và ng dng khác. Trong bài vit này, bn s
c gii thiu v nn Android và hc cách vit mã mt ng dng Android c bn.
Gii thiu

BlackBerry và iPhone, vi các nn di ng dung lng cao và hp d n, ang nh!m n hai u ngc chiu nhau ca
ph" các in thoi di ng. BlackBerry vng ch!c nh á i vi nhng ngi s# dng mc nghip v chuyên nghi
p.
$ làm mt thit b tiêu dùng, nó khó cnh tranh c vi iPhone v tính d% s# dng và “yu t tuyt tác” (cool
factor). Android, mt nn tng v n còn tr& và cha c kim chng, có tim nng óng vai trò  c hai u ca ph"
các in thoi di ng và thm chí có th làm cu ni qua h sâu ngn cách gia làm vic và vui chi.
Ngày nay, có nhi
u thit b da trên mng hay có kh nng ni mng chy mt bin thái h iu hành nhân Linux. $ó
là mt nn vng ch!c: có hiu qu v chi phí khi trin khai và h tr, và s'n sàng c chp nhn nh là mt cách tip
cn thit k tt  trin khai. Giao din ngi s# dng dành cho các thit b nh vy thng da trên HTML và có th
xem c b(ng mt trình duyt cho PC hay Mac. Nhng không phi vt dng nào c)ng cn iu khin b(ng mt thit
b tính toán chung. Hãy xem xét mt vt dng thông thng, ch*ng hn nh mt lò nng, lò vi sóng ho+c  làm
bánh mì. $iu gì xy ra nu các vt dng gia ình ca bn c Android iu khin và hãnh din khoe ra mt màn
hình màu cm ng? Vi mt giao din ngi s# dng Android trên m+t lò, tác gi thm chí có th nu nng m
t món
gì ó.


n

ng d

ng Android
Nn tng Android

Vi kh nng rng rãi ca Android, s rt d% dàng nhm l n nó vi mt h iu hành máy tính  bàn. Android là mt
môi trng phân tng, xây dng trên nn ca h iu hành nhân Linux, và nó bao hàm nhiu chc nng phong phú. H

thng con giao din ngi s# dng gm có:

C#./0"

Khung nhìn

Các tiu trình  hin th các ph,n t# ph" bin nh các hp biên son, danh sách, danh sách th xung
Android gm mt trình duyt có th nhúng vào c, c xây dng da trên WebKit, chính là máy (engine) trình
duyt mã ngun m c)ng ang là ng c ca trình duyt Safari di ng ca iPhone.
Android khoe ra mt mng di dào nhiu tùy chn kt ni, gm WiFi, Bluetooth, và d liu không dây qua mt kt n
i
di ng (nh GPRS, EDGE, và 3G). Mt k1 thut ph" bin trong các ng dng Android là liên kt ti Google Maps

hin th mt a ch trc tip trong mt ng dng. Vic h tr cho các dch v da trên a im (ch*ng hn nh GPS)
và các dng c o gia tc c)ng có s'n trong chng phn mm Android, m+c dù không phi tt c các thit b Android
c trang b vi các phn cng cn thit. C)ng có c h tr máy nh (camera) na.

ng Android
o Java (JVM) nh bn ch i, mà là máy o Dalvik (Dalvik Virtual Machine), mt công ngh mã ngun m. Mi
ng dng Android chy trong mt cá th ca máy o Dalvik, n lt mình, cá th máy o này n(m trong mt tin
trình do nhân Linux qun lý, nh trình bày di ây.

Hình 2. Máy o Dalvik
Mt ng dng Android gm có mt ho+c nhiu phân loi sau ây:
Hot ng

Mt ng dng có mt giao din ngi dùng nhìn thy c, s c thc hin b(ng mt hot ng. Khi ngi
s# dng chn mt ng dng t- màn hình ch ho+c trình khi chy ng dng, mt hot ng c khi ng.


Mt dch v nên c s# dng i vi bt k3 ng dng nào cn tn ti trong mt thi gian dài, ch*ng hn nh
mt trình giám sát mng ho+c ng dng kim tra-cp nht.
Trình cung cp ni dung

Bn có th coi các trình cung cp ni dung nh là mt máy ch c s d liu. Công vic ca mt trình cung cp
ni dung là qun lý truy cp vào d liu ang tn ti, ch*ng hn nh mt c s d liu SQLite. Nu ng dng
ca bn rt n gin thì bn không nht thit phi to ra mt trình cung cp ni dung. Nu bn ang xây dng
mt ng dng ln hn, ho+c mt ng dng  cung cp d liu s'n sàng cho nhiu hot ng ho+c ng dng
khác, mt trình cung cp ni dung là phng tin truy cp d liu ca bn.
Trình thu sóng phát

Mt ng dng Android có th c khi chy  x# lý mt phn t# d liu ho+c áp ng mt s kin, ch*ng
hn nh nhn mt vn bn thông báo.
Mt ng dng Android, cùng vi mt tp tin tên là AndroidManifest.xml, c trin khai lên mt thit b.

Developer Tools dùng cho Eclipse. Các ng dng Android c vit b(ng ngôn ng Java, nhng biên dch và thi hành
b(ng máy o Dalvik (mt máy o không phi Java). Vit mã b(ng ngôn ng Java trong Eclipse là rt trc quan;
Eclipse cung cp mt môi trng Java phong phú, gm c vic tr giúp theo ng cnh và các mách nc gi ý v mã.
Khi b mã Java ca bn c biên dch sch s, Android Developer Tools s m bo r(ng ng dng ó c gói
úng !n, gm c tp tin AndroidManifest.xml.
Có th phát trin các ng dng Android mà không cn Eclipse và và trình c!m thêm Android Developer Tools, nhng
bn s cn phi bit cách s# dng B công c phát trin phn mm Android.
B công c phát trin phn mm Android c phân phi di dng mt tp tin nén ZIP và gii nén vào mt th mc
trên " a ca bn. Do có mt vài cp nht B công c phát trin phn mm (SDK), bn nên gi cho môi trng phát
trin ca bn có t" chc tt  bn có th d% dàng chuyn "i gia các bn cài +t SDK. SDK gm có:
android.jar

Tp tin lu tr Java cha toàn b các lp SDK Android cn thit  xây dng ng dng ca bn.
documention.html và th mc docs

Tài liu SDK c cung cp ti ch và trên Web. Ch yu nó  dng JavaDocs, to iu kin d% dàng cho vic
d n hng trong nhiu gói trong SDK. Tài liu c)ng gm c mt Hng d n Phát trin mc cao và các liên kt
n cng ng Android rng rãi hn.
Th mc samples (các ví d mu)

Th mc con samples cha b mã ngun y  dùng cho mt lot các ng dng, gm c ApiDemo, nó s#
dng nhiu API. 5ng dng m u là mt ni khám phá tuyt vi khi b!t u phát trin ng dng Android.
Th mc tools (các công c)

Cha toàn b các công c dòng lnh  xây dng nên các ng dng Android. Công c c dùng ph" bin và
hu ích nht là tin ích
adb
(Android Debug Bridge).
usb_driver


thy lnh trình shell
adb
i vi mt thit b thc c kt ni vi mt máy tính xách tay Windows b(ng mt cáp
USB.

Hình 4. S dng lnh shell
adbPage
5
of
11
Nh

p môn phát tri

n

ng d

ng AndroidTrong môi trng shell này, bn có th:

Hin th cu hình mng cho thy nhiu kt ni mng. Chú ý các kt ni mng:

lo
là kt ni cc b ho+c kt ni vòng tr li.

n gin nh bn có th hình dung: mt ng dng “Hello Android” ã ci biên. Bn s b" sung mt s#a "i nh4 
làm cho toàn b màu nn ca màn hình thành màu tr!ng  bn có th s# dng in thoi nh mt èn pin. Không tht
c áo, nhng nó s b" ích nh mt ví d. Hãy ti v b mã ngun y .
$ to ra mt ng dng trong Eclipse, chn
File > New > Android project
, nó khi ng th thut New Android
Project (D án Android mi).

Page
6
of
11
Nh

p môn phát tri

n

ng d

ng Android
Hình 5. Th thut New Android Project
Tip theo, bn to ra mt ng dng n gin ch có mt hot ng n l&, cùng vi mt bài trí giao din ngi s# d
ng
lu trong main.xml. Bài trí này cha mt ph,n t# vn bn mà bn s!p s#a "i thành Android FlashLight (èn pin
Android). Bài trí n gin c trình bày nh di ây.


11
Nh

p môn phát tri

n

ng d

ng Android
Bài trí màn hình chính có mt màu nn c nh ngha là
all_white
. Trong tp tin strings.xml, bn thy r(ng
all_white
c nh ngha nh là mt b ba giá tr RGB là #FFFFFF, hay là hoàn toàn màu tr!ng.
Bài trí này cha mt
TextView
, (khung nhìn vn bn) n l&, ó tht ra ch là mt on vn bn tnh, không biên tp
c. Vn bn này c +t thành màu en và cn chính gia theo chiu ngang vi thuc tính
gravity
.
5ng dng có mt tp tin ngun Java tên là FlashLight.java, nh ch ra di ây.

Lit kê 3. Flashlight.javaMã này là mt vn bn tho s'n (boiler-plate) trc tip t- th thut New Project:

Nó là mt phn ca gói Java tên là com.msi.flashlight.


!#  /
!!!,/
!0/
!&-  ,1
"22*%  2"
!&*304561
!*3456/
*)%376/
8
8
Page
8
of
11
Nh

p môn phát tri

n

ng d

ng AndroidThit lp tp tin AndroidManifest.xml dành cho ng dng FlashLight trình bày di ây.

Lit kê 4. AndroidManifest.xml dùng cho FlashLight


Tóm tt

Trong bài này, bn ã tìm hiu v Android  mc rt cao và ã xây dng nên mt ng dng nh4. Hy vng r(ng ví d
ã làm cho bn có c s hng khi   khám phá thêm nn Android. Android ha h2n là mt nn tng mã ngun
m làm chuyn ng th trng mà s hu ích c ngoài phm vi in thoi di ng.

Ti v
Tài nguyên

Hc tp


Open Handset Alliance (Liên minh Thit b cm tay m) là mt tp oàn 47 công ty công ngh và in thoi di
ng ã tp hp nhau li  tng tc "i mi v in thoi di ng mang li cho ngi tiêu dùng mt tri
nghim v in thoi di ng phong phú hn, ít tn kém hn, và tt hn. Cùng vi nhau, h ã phát trin
Android, nn di ng hoàn chnh, m và mi%n phí u tiên.


Android developers site (trang Web ca các nhà phát trin Android) cung cp các tài liu, phn ti v, blog, và
nhiu th khác na.



Thông tin v


ph

ng th

c t

i
Page
10
of
11
Nh

p môn phát tri

n

ng d

ng Android

Truy cp vào vùng mã ngun m trên developerWorks  có các thông tin hng d n cách làm, các công c,

các d án cp nht  giúp bn phát trin vi các công ngh mã ngun m và s# dng chúng vi các sn ph,m
ca IBM.



Sau khi s nghip trong i bóng r" ca trng cao *ng kt thúc mà không có mt hp ng dài hn nhiu nm chi
cho i LA Lakers, Frank Ableson ã chuyn chí hng ca mình sang thit k phn mm máy tính. Ông thích gii
quyt các vn  phc tp, nht là trong các lnh vc truyn thông và lp giao din phn cng. Khi không làm vic,
ông dành thi gian vi ngi v Nikki và con cái. Bn có th g+p Frank ti a ch
Page
11
of
11
Nh

p môn phát tri

n

ng d

ng Android


Nhờ tải bản gốc

Tài liệu, ebook tham khảo khác

Music ♫

Copyright: Tài liệu đại học © DMCA.com Protection Status