Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 11 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
11
Dung lượng
427,3 KB
Nội dung
Nhp môn phát trin ng dng Android Mc : Nhp môn Frank Ableson, Software designer 22 01 2011 Android là mt môi trng h iu hành hoàn chnh da trên h iu hành nhân Linux® V2.6. Lúc u, ích trin khai i vi Android là lnh vc in thoi di ng, gm các loi in thoi thông minh và các loi thit b in thoi kiu gp chi phí thp. Tuy nhiên, phm vi y các dch v in toán ca Android và s h tr chc nng phong phú ca nó có tim nng m rng vt ra ngoài th trng in thoi di ng. Android có th hu ích i vi các nn tng và ng dng khác. Trong bài vit này, bn s c gii thiu v nn Android và hc cách vit mã mt ng dng Android c bn. Gii thiu BlackBerry và iPhone, vi các nn di ng dung lng cao và hp d n, ang nh!m n hai u ngc chiu nhau ca ph" các in thoi di ng. BlackBerry vng ch!c nh á i vi nhng ngi s# dng mc nghip v chuyên nghi p. $ làm mt thit b tiêu dùng, nó khó cnh tranh c vi iPhone v tính d% s# dng và “yu t tuyt tác” (cool factor). Android, mt nn tng v n còn tr& và cha c kim chng, có tim nng óng vai trò c hai u ca ph" các in thoi di ng và thm chí có th làm cu ni qua h sâu ngn cách gia làm vic và vui chi. Ngày nay, có nhi u thit b da trên mng hay có kh nng ni mng chy mt bin thái h iu hành nhân Linux. $ó là mt nn vng ch!c: có hiu qu v chi phí khi trin khai và h tr, và s'n sàng c chp nhn nh là mt cách tip cn thit k tt trin khai. Giao din ngi s# dng dành cho các thit b nh vy thng da trên HTML và có th xem c b(ng mt trình duyt cho PC hay Mac. Nhng không phi vt dng nào c)ng cn iu khin b(ng mt thit b tính toán chung. Hãy xem xét mt vt dng thông thng, ch*ng hn nh mt lò nng, lò vi sóng ho+c làm bánh mì. $iu gì xy ra nu các vt dng gia ình ca bn c Android iu khin và hãnh din khoe ra mt màn hình màu cm ng? Vi mt giao din ngi s# dng Android trên m+t lò, tác gi thm chí có th nu nng m t món gì ó. Trong bài này, chúng ta hãy tìm hiu v nn Android và cách có th s# dng nó nh th nào cho các ng dng di ng và không phi di ng. Hãy cài +t B công c phát trin phn mm Android (Android SDK) và xây dng mt ng dng n gin. Hãy Ti v mã ngun ca ng dng m u trong bài vit này. Lc s v Android N n Android là sn ph,m ca Open Handset Alliance (Liên minh thit b cm tay m), mt tp oàn các t" chc cùng hp tác vi nhau xây dng nên mt loi in thoi di ng tt hn. Tp oàn do Google ng u này gm các nhà vn hành (in thoi) di ng, các nhà sn xut thit b cm tay, sn xut linh kin, các nhà cung cp nn và gii pháp phn mm, và các công ty tip th. T- mt quan im phát trin phn mm, Android n(m chính gia th gii mã ngu n m. Thit b cm tay có kh nng Android u tiên trên th trng là thit b G1 do HTC sn xut và c bán trên T- Mobile. Nó tr nên s'n có sau gn mt nm n i, khi mà các công c phát trin phn mm s'n có duy nht ch là mt s bn phát hành B công c phát trin phn mm (SDK) c ci tin dn t-ng bc. Khi ngày phát hành G1 gn n, nhóm Android ã phát hành SDK V1.0 và các ng dng b!t u vt lên nh(m ti nn tng mi này. $ kích thích "i mi, Google ã tài tr hai vòng cuc thi "Các Thách thc Nhà Phát trin Android," ni mà hàng triu ô la c " vào các ng dng d thi hàng u. Vài tháng sau G1, Android Market c phát hành, cho phép ngi s# dng duyt và ti v các ng dng trc tip vào in thoi ca h. Trong khong 18 tháng, mt nn di ng mi ã bc lên v) ài công khai. Page 1 of 11 Nh p môn phát tri n ng d ng Android Nn tng Android Vi kh nng rng rãi ca Android, s rt d% dàng nhm l n nó vi mt h iu hành máy tính bàn. Android là mt môi trng phân tng, xây dng trên nn ca h iu hành nhân Linux, và nó bao hàm nhiu chc nng phong phú. H thng con giao din ngi s# dng gm có: C#./0" Khung nhìn Các tiu trình hin th các ph,n t# ph" bin nh các hp biên son, danh sách, danh sách th xung Android gm mt trình duyt có th nhúng vào c, c xây dng da trên WebKit, chính là máy (engine) trình duyt mã ngun m c)ng ang là ng c ca trình duyt Safari di ng ca iPhone. Android khoe ra mt mng di dào nhiu tùy chn kt ni, gm WiFi, Bluetooth, và d liu không dây qua mt kt n i di ng (nh GPRS, EDGE, và 3G). Mt k1 thut ph" bin trong các ng dng Android là liên kt ti Google Maps hin th mt a ch trc tip trong mt ng dng. Vic h tr cho các dch v da trên a im (ch*ng hn nh GPS) và các dng c o gia tc c)ng có s'n trong chng phn mm Android, m+c dù không phi tt c các thit b Android c trang b vi các phn cng cn thit. C)ng có c h tr máy nh (camera) na. V m+t lch s#, có hai lnh vc mà các ng dng di ng ã g!ng sc theo kp các i tác máy tính bàn là ha/ a phng tin, và phng thc lu tr d liu. Android gii quyt thách thc v ha b(ng s h tr dng s'n cho ha 2-D và 3-D, gm c th vin OpenGL. Gánh n+ng lu tr d liu c gim nh2 vì nn Android có gm c c s d liu SQLite mã ngun m ph" bin. Hình 1 cho thy mt khung nhìn n gin hoá v các tng phn mm Android. Hình 1. Các tng phn mm Android Kin trúc ng dng Nh ã cp, Android chy bên trên mt h iu hành nhân Linux. Các ng dng Android c vit b(ng ngôn ng lp trình Java, và chúng chy trong mt máy o (VM). $iu quan trng là phi lu ý r(ng VM không phi là mt máy Page 2 of 11 Nh p môn phát tri n ng d ng Android o Java (JVM) nh bn ch i, mà là máy o Dalvik (Dalvik Virtual Machine), mt công ngh mã ngun m. Mi ng dng Android chy trong mt cá th ca máy o Dalvik, n lt mình, cá th máy o này n(m trong mt tin trình do nhân Linux qun lý, nh trình bày di ây. Hình 2. Máy o Dalvik Mt ng dng Android gm có mt ho+c nhiu phân loi sau ây: Hot ng Mt ng dng có mt giao din ngi dùng nhìn thy c, s c thc hin b(ng mt hot ng. Khi ngi s# dng chn mt ng dng t- màn hình ch ho+c trình khi chy ng dng, mt hot ng c khi ng. Mt dch v nên c s# dng i vi bt k3 ng dng nào cn tn ti trong mt thi gian dài, ch*ng hn nh mt trình giám sát mng ho+c ng dng kim tra-cp nht. Trình cung cp ni dung Bn có th coi các trình cung cp ni dung nh là mt máy ch c s d liu. Công vic ca mt trình cung cp ni dung là qun lý truy cp vào d liu ang tn ti, ch*ng hn nh mt c s d liu SQLite. Nu ng dng ca bn rt n gin thì bn không nht thit phi to ra mt trình cung cp ni dung. Nu bn ang xây dng mt ng dng ln hn, ho+c mt ng dng cung cp d liu s'n sàng cho nhiu hot ng ho+c ng dng khác, mt trình cung cp ni dung là phng tin truy cp d liu ca bn. Trình thu sóng phát Mt ng dng Android có th c khi chy x# lý mt phn t# d liu ho+c áp ng mt s kin, ch*ng hn nh nhn mt vn bn thông báo. Mt ng dng Android, cùng vi mt tp tin tên là AndroidManifest.xml, c trin khai lên mt thit b. AndroidManifest.xml cha các thông tin cu hình cn thit cài +t nó úng !n vào thit b. Nó gm các tên lp c n thit và các kiu s kin mà ng dng có th x# lý, và các quyn hn ng dng cn có chy. Thí d, nu mt ng dng òi h4i vic truy cp vào mng — ti v mt tp tin ch*ng hn — thì quyn hn này phi c tuyên b mt cách tng minh trong tp tin manifest. Nhiu ng dng có th có các quyn hn riêng này c kích hot. $m bo an ninh b(ng khai báo nh vy giúp gim bt kh nng xy ra là mt ng dng xu có th làm thit hi thit b ca bn. Phn tip theo bàn lun v môi trng phát trin cn có xây dng nên mt ng dng Android. Các công c òi hi phi có Cách d% nht b!t u phát trin các ng dng Android là ti v B công c phát trin phn mm Android và Môi Page 3 of 11 Nh p môn phát tri n ng d ng Android trng phát trin tích hp Eclipse (Eclipse IDE) (xem phn Tài nguyên). Vic phát trin Android có th di%n ra trên Microsoft® Windows®, Mac OS X, ho+c Linux. Bài vit này gi thit r(ng bn ang s# dng Môi trng phát trin tích hp Eclipse và trình c!m thêm Android Developer Tools dùng cho Eclipse. Các ng dng Android c vit b(ng ngôn ng Java, nhng biên dch và thi hành b(ng máy o Dalvik (mt máy o không phi Java). Vit mã b(ng ngôn ng Java trong Eclipse là rt trc quan; Eclipse cung cp mt môi trng Java phong phú, gm c vic tr giúp theo ng cnh và các mách nc gi ý v mã. Khi b mã Java ca bn c biên dch sch s, Android Developer Tools s m bo r(ng ng dng ó c gói úng !n, gm c tp tin AndroidManifest.xml. Có th phát trin các ng dng Android mà không cn Eclipse và và trình c!m thêm Android Developer Tools, nhng bn s cn phi bit cách s# dng B công c phát trin phn mm Android. B công c phát trin phn mm Android c phân phi di dng mt tp tin nén ZIP và gii nén vào mt th mc trên " a ca bn. Do có mt vài cp nht B công c phát trin phn mm (SDK), bn nên gi cho môi trng phát trin ca bn có t" chc tt bn có th d% dàng chuyn "i gia các bn cài +t SDK. SDK gm có: android.jar Tp tin lu tr Java cha toàn b các lp SDK Android cn thit xây dng ng dng ca bn. documention.html và th mc docs Tài liu SDK c cung cp ti ch và trên Web. Ch yu nó dng JavaDocs, to iu kin d% dàng cho vic d n hng trong nhiu gói trong SDK. Tài liu c)ng gm c mt Hng d n Phát trin mc cao và các liên kt n cng ng Android rng rãi hn. Th mc samples (các ví d mu) Th mc con samples cha b mã ngun y dùng cho mt lot các ng dng, gm c ApiDemo, nó s# dng nhiu API. 5ng dng m u là mt ni khám phá tuyt vi khi b!t u phát trin ng dng Android. Th mc tools (các công c) Cha toàn b các công c dòng lnh xây dng nên các ng dng Android. Công c c dùng ph" bin và hu ích nht là tin ích adb (Android Debug Bridge). usb_driver Th mc cha các trình iu khin cn thit kt ni môi trng phát trin vi mt thit b có kh nng chy Android, ch*ng hn nh G1 hay in thoi phát trin ã c m khóa Android Dev 1. Các tp tin này là òi h4i duy nht i vi các nhà phát trin ang s# dng nn Windows. Các ng dng Android có th c chy trên mt thit b tht s ho+c trên trình mô ph4ng Android (Android Emulator), g#i kèm vi SDK Android. Hình 3 cho thy màn hình ch ca trình mô ph4ng Android. Hình 3. Trình mô phng Android Page 4 of 11 Nh p môn phát tri n ng d ng Android Android Debug Bridge Tin ích adb h tr mt s i s dòng lnh tùy chn, mang li các tính nng mnh m, nh sao chép tp tin n và t- thit b. $i s dòng lnh shell cho phép bn kt ni vi chính in thoi và a ra các lnh shell thô s. Hình 4 cho thy lnh trình shell adb i vi mt thit b thc c kt ni vi mt máy tính xách tay Windows b(ng mt cáp USB. Hình 4. S dng lnh shell adb Page 5 of 11 Nh p môn phát tri n ng d ng Android Trong môi trng shell này, bn có th: Hin th cu hình mng cho thy nhiu kt ni mng. Chú ý các kt ni mng: lo là kt ni cc b ho+c kt ni vòng tr li. tiwlan0 là kt ni WiFi vi mt a ch cung cp bi mt máy ch DHCP cc b. Hin th ni dung ca bin môi trng PATH . Thc hin lnh su tr thành siêu ngi s# dng. Chuyn th mc n /data/app, ni lu tr các ng dng ca ngi s# dng. Thc hin lit kê ni dung th mc, ây bn s nhìn thy ch mt ng dng n l&. Các tp tin ng dng Android thc t là các tp tin lu tr có th xem ni dung b(ng WinZip ho+c công c tng ng. Phn m rng là apk. Phát lnh ping xem Google.com ã s'n có cha. T- cùng mt môi trng du nh!c lnh này, bn c)ng có th tng tác vi các c s d liu SQLite, khi ng chng trình, và nhiu nhim v mc h thng khác. $ây là mt chc nng khá n"i bt, nu lu ý r(ng bn ã ch kt ni vi mt in thoi. Trong phn tip theo, bn s to ra mt ng dng n gin Android. Vi t mã mt ng dng c bn Phn này cung cp mt vòng tham quan nhanh nh cn lc v cách xây dng mt ng dng Android. 5ng dng m u n gin nh bn có th hình dung: mt ng dng “Hello Android” ã ci biên. Bn s b" sung mt s#a "i nh4 làm cho toàn b màu nn ca màn hình thành màu tr!ng bn có th s# dng in thoi nh mt èn pin. Không tht c áo, nhng nó s b" ích nh mt ví d. Hãy ti v b mã ngun y . $ to ra mt ng dng trong Eclipse, chn File > New > Android project , nó khi ng th thut New Android Project (D án Android mi). Page 6 of 11 Nh p môn phát tri n ng d ng Android Hình 5. Th thut New Android Project Tip theo, bn to ra mt ng dng n gin ch có mt hot ng n l&, cùng vi mt bài trí giao din ngi s# d ng lu trong main.xml. Bài trí này cha mt ph,n t# vn bn mà bn s!p s#a "i thành Android FlashLight (èn pin Android). Bài trí n gin c trình bày nh di ây. Lit kê 1. Bài trí Flashlight To mt vài ngun màu s!c trong strings.xml. Lit kê 2. Màu sc trong strings.xml !"" "!#"" $% $! $ $! &#'"$% ()% $% $! $ %!$ '" *'"$&# $ +" " ,- " !!$- " $% " $&#." " Page 7 of 11 Nh p môn phát tri n ng d ng Android Bài trí màn hình chính có mt màu nn c nh ngha là all_white . Trong tp tin strings.xml, bn thy r(ng all_white c nh ngha nh là mt b ba giá tr RGB là #FFFFFF, hay là hoàn toàn màu tr!ng. Bài trí này cha mt TextView , (khung nhìn vn bn) n l&, ó tht ra ch là mt on vn bn tnh, không biên tp c. Vn bn này c +t thành màu en và cn chính gia theo chiu ngang vi thuc tính gravity . 5ng dng có mt tp tin ngun Java tên là FlashLight.java, nh ch ra di ây. Lit kê 3. Flashlight.java Mã này là mt vn bn tho s'n (boiler-plate) trc tip t- th thut New Project: Nó là mt phn ca gói Java tên là com.msi.flashlight. Nó có hai mc nhp kh,u vào: Mt là ca lp activity (hot ng) Mt là ca lp bundle (bó) Khi hot ng này c khi to, phng thc onCreate c gi ra, nó chuyn giao tham i là mt (bó) savedInstanceState . $-ng quan tâm n bó này i vi mc ích ca chúng ta, nó c s# dng khi mt hot ng b treo và sau ó tip tc li. Phng thc onCreate là np chng è lên phng thc ca lp activity có cùng tên gi. Nó gi phng thc onCreate ca lp bc trên. Mt lnh gi setContentView() s g!n bài trí giao din ngi s# dng ã nh ngha trong tp tin main.xml. Bt c th gì trong main.xml và strings.xml u c t ng ánh x ti các h(ng ã nh ngha trong tp tin ngun R.java. $-ng bao gi chnh s#a tp tin này trc tip, vì nó c thay "i theo t-ng ln xây dng. Vic chy ng dng s trình di%n mt màn hình màu tr!ng vi vn bn màu en. Hình 6. Màn hình trng ca flashlight !# / !!!,/ !0/ !&- ,1 "22*% 2" !&*304561 !*3456/ *)%376/ 8 8 Page 8 of 11 Nh p môn phát tri n ng d ng Android Thit lp tp tin AndroidManifest.xml dành cho ng dng FlashLight trình bày di ây. Lit kê 4. AndroidManifest.xml dùng cho FlashLight !"" "!#"" !# * 9 !!'%&"&'"!!$ - &'"!!$ :,49" ,;9*<=7" " Page 9 of 11 Nh p môn phát tri n ng d ng Android Tp tin này c to ra mt cách t ng bi trình c!m thêm Android Developer Tools cho Eclipse. Bn không phi làm gì ht. Tt nhiên, ng dng này không cc k3 tuyt vi. Nhng nó có th tin dng nu bn mun c mt ít mà không phin nhi%u gic ng ca v/chng bn, ho+c nu bn cn tìm li i n hp cu chì trong tng hm trong khi mt in. Tóm tt Trong bài này, bn ã tìm hiu v Android mc rt cao và ã xây dng nên mt ng dng nh4. Hy vng r(ng ví d ã làm cho bn có c s hng khi khám phá thêm nn Android. Android ha h2n là mt nn tng mã ngun m làm chuyn ng th trng mà s hu ích c ngoài phm vi in thoi di ng. Ti v Tài nguyên Hc tp Open Handset Alliance (Liên minh Thit b cm tay m) là mt tp oàn 47 công ty công ngh và in thoi di ng ã tp hp nhau li tng tc "i mi v in thoi di ng mang li cho ngi tiêu dùng mt tri nghim v in thoi di ng phong phú hn, ít tn kém hn, và tt hn. Cùng vi nhau, h ã phát trin Android, nn di ng hoàn chnh, m và mi%n phí u tiên. Android developers site (trang Web ca các nhà phát trin Android) cung cp các tài liu, phn ti v, blog, và nhiu th khác na. Tìm hiu nhiu hn v Máy o Dalvik. Xem các bài hng d n có trên máy ch YouTube bàn lun v các chi tit bên trong ca Máy o Dalvik. Unlocking Android: A Developer's Guide (M khóa Android: Mt Hng dn ca Nhà Phát trin) cung cp ch d n súc tích, thc ti%n v h iu hành và các công c phát trin Android. $ nghe các ph4ng vn và tho lun thú v i vi các nhà phát trin phn mm, xem developerWorks podcasts. Theo sát các bu"i phát tin trên mng và s kin k1 thut ca developerWorks. Theo dõi developerWorks trên Twitter. Xem các hi ngh, trng bày thng mi, các bu"i phát tin trên mng, và Events các s kin khác trên kh!p th gii s!p di%n ra mà các nhà phát trin mã ngun m ca IBM quan tâm n. " "!! " Mô t Tên Kích thc Phng thc ti FlashLight source code os-android-devel-FlashLight.zip 22KB HTTP 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 [...]...Nh p môn phát tri n ng d ng Android Page 11 of 11 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 , và 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 Theo dõi và tìm hi u v IBM và các công ngh mã ngu n m và các ch c n ng c a s n ph,m b(ng các trình di%n mi%n phí theo yêu c u trên developerWorks... s n ph m và công ngh T i v Android SDK Nh n b n Eclipse IDE m i nh t $"i m i d án phát tri n mã ngu n m ti p theo c a b n b(ng ph n m m dùng th# c a IBM (IBM trial software), s'n có t i v ho+c trên a DVD T i v các phiên b n ánh giá s n ph,m c a IBM (IBM product evaluation versions) ho+c khám phá dùng th# tr c tuy n trong SOA Sandbox c a IBM và hãy b!t tay vào các công c phát tri n ng d ng và các s . Page 3 of 11 Nh p môn phát tri n ng d ng Android trng phát trin tích hp Eclipse (Eclipse IDE) (xem phn Tài nguyên). Vic phát trin Android có th di%n ra trên Microsoft® Windows®,. mô ph4ng Android (Android Emulator), g#i kèm vi SDK Android. Hình 3 cho thy màn hình ch ca trình mô ph4ng Android. Hình 3. Trình mô phng Android Page 4 of 11 Nh p môn phát tri n. > New > Android project , nó khi ng th thut New Android Project (D án Android mi). Page 6 of 11 Nh p môn phát tri n ng d ng Android Hình 5. Th thut New Android Project