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
Nh p môn phát tri n ng d ng Android Page of 11 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 m t môi tr ng h i u hành hoàn ch nh d a h i u hành nhân Linux® V2.6 Lúc u, ích tri n khai i v i Android l nh v c i n tho i di ng, g m lo i i n tho i thông minh lo i thi t b i n tho i ki u g p chi phí th p Tuy nhiên, ph m vi y d ch v i n toán c a Android s h tr ch c n ng phong phú c a có ti m n ng m r ng v t th tr ng i n tho i di ng Android có th h u ích i v i n n t ng ng d ng khác Trong vi t này, b n s c gi i thi u v n n Android h c cách vi t mã m t ng d ng Android c b n Gi i thi u BlackBerry iPhone, v i n n di ng dung l ng cao h p d n, ang nh!m n hai u ng c chi u c a ph" 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, khó c nh tranh c v i iPhone v tính d% s# d ng “y u t t tác” (cool factor) Android, m t n n t ng v n tr& ch a c ki m ch ng, có ti m n ng óng vai trò c hai u c a ph" i n tho i di ng 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 vui ch i Ngày nay, có nhi u thi t b d a 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 $ó m t n n v ng ch!c: có hi u qu v chi phí tri n khai h tr , s'n sàng c ch p nh n nh 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 thi t b nh v y th ng d a HTML có th xem c b(ng m t trình t cho PC hay Mac Nh ng không ph i v t d ng c)ng c n i u 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 x y n u v t d ng gia ình c a b n c Android i u n hãnh di n khoe m t hình màu c m ng? V i m t giao di n ng i s# d ng Android m+t lò, tác gi th m chí có th n u n ng m t ó Trong này, tìm hi u v n n Android cách có th s# d ng nh th cho ng d ng di ng không ph i di ng Hãy cài +t B công c phát tri n ph n m m Android (Android SDK) xây d ng m t ng d ng n gi n Hãy T i v mã ngu n c a ng d ng m u vi t L c s v Android N n Android s n ph,m c a Open Handset Alliance (Liên minh thi t b c m tay m ), m t t p oàn t" ch c h p tác v i xây d ng nên m t lo i i n tho i di ng t t h n T p oàn Google ng u g m nhà v n hành ( i n tho i) di ng, nhà s n xu t thi t b c m tay, s n xu t linh ki n, nhà cung c p n n gi i pháp ph n m m, công ty ti p th T- m t quan i m phát tri n ph n m m, Android n(m gi a th gi i mã ngu n m Thi t b c m tay có kh n ng Android u tiên th tr ng thi t b G1 HTC s n xu t c bán TMobile Nó tr nên s'n có sau g n m t n m n i, mà công c phát tri n ph n m m s'n có nh t ch m t s b n phát hành B công c phát tri n ph n m m (SDK) c c i ti n d n t-ng b c Khi ngày phát hành G1 g n n, nhóm Android ã phát hành SDK V1.0 ng d ng b!t u v t lên nh(m t i n n t ng m i $ kích thích "i m i, Google ã tài tr hai vòng cu c thi "Các Thách th c Nhà Phát tri n Android," n i mà hàng tri u ô la c " vào ng d ng d thi hàng u Vài tháng sau G1, Android Market c phát hành, cho phép ng i s# d ng t t i v ng d ng tr c ti p vào i n tho i c a h Trong kho ng 18 tháng, m t n n di ng m i ã b c lên v) ài công khai Nh p môn phát tri n ng d ng Android Page of 11 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 v i m t h i u hành máy tính bàn Android m t môi tr ng phân t ng, xây d ng n n c a h i u hành nhân Linux, bao hàm nhi u ch c n ng phong phú H th ng 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 ph,n t# ph" bi n nh h p biên so n, danh sách, danh sách th xu ng Android g m m t trình t có th nhúng vào c, c xây d ng d a WebKit, máy (engine) trình t mã ngu n m c)ng ang ng c c a trình t Safari di ng c a iPhone Android khoe m t m ng d i nhi u tùy ch n k t n i, g m WiFi, Bluetooth, d li u không dây qua m t k t n i di ng (nh GPRS, EDGE, 3G) M t k1 thu t ph" bi n ng d ng Android liên k t t i Google Maps hi n th m t a ch tr c ti p m t ng d ng Vi c h tr cho d ch v d a a i m (ch*ng h n nh GPS) d ng c o gia t c c)ng có s'n ch ng ph n m m Android, m+c dù không ph i t t c thi t b Android c trang b v i ph n c ng c n thi t C)ng có c h tr máy nh (camera) n a V m+t l ch s#, có hai l nh v c mà ng d ng di ng ã g!ng s c theo k p i tác máy tính bàn h a/ a ph ng ti n, ph ng th c l u tr d li u Android gi i quy t thách th c v h a b(ng s h tr d ng s'n cho h a 2-D 3-D, g m c th vi n OpenGL Gánh n+ng l u tr d li u c gi m nh2 n n Android có g m c c s d li u SQLite mã ngu n m ph" bi n Hình cho th y m t khung nhìn n gi n hoá v t ng ph n m m Android Hình Các t ng ph n m m Android Ki n trúc ng d ng Nh ã c p, Android ch y bên m t h i u hành nhân Linux Các ng d ng Android c vi t b(ng ngôn ng l p trình Java, chúng ch y m t máy o (VM) $i u quan tr ng ph i l u ý r(ng VM không ph i m t máy Nh p môn phát tri n ng d ng Android Page of 11 o Java (JVM) nh b n ch i, mà máy o Dalvik (Dalvik Virtual Machine), m t công ngh mã ngu n m M i ng d ng Android ch y m t cá th c a máy o Dalvik, n l t mình, cá th máy o n(m m t ti n trình nhân Linux qu n lý, nh trình bày d i ây Hình 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 s# d ng ch n m t ng d ng t- hình ch ho+c trình kh i ch y ng d ng, m t ho t ng ng Khi ng i c kh i ng M t d ch v nên c s# d ng i v i b t k3 ng d ng c n t n t i 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 trình cung c p n i dung nh 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 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 b n không nh t thi t ph i t o 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 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, v i m t t p tin tên AndroidManifest.xml, c tri n khai lên m t thi t b AndroidManifest.xml ch a thông tin c u hình c n thi t cài +t úng !n vào thi t b Nó g m tên l p c n thi t ki u s ki n mà ng d ng có th x# lý, quy n h n ng d ng c n có ch y Thí d , n u m t ng d ng òi h4i vi c truy c p vào m ng — t i v m t t p tin ch*ng h n — quy n h n ph i c tuyên b m t cách t ng minh t p tin manifest Nhi u ng d ng có th có quy n h n riêng c kích ho t $ m b o an ninh b(ng khai báo nh v y giúp gi m b t kh n ng x y m t ng d ng x u có th làm thi t h i thi t b c a b n Ph n ti p theo bàn lu n v môi tr Các công c Cách d% nh t ng phát tri n c n có xây d ng nên m t ng d ng Android òi h i ph i có b!t u phát tri n ng d ng Android t i v B công c phát tri n ph n m m Android Môi Nh p môn phát tri n ng d ng Android Page of 11 tr ng phát tri n tích h p Eclipse (Eclipse IDE) (xem ph n Tài nguyên) Vi c phát tri n Android có th di%n Microsoft® Windows®, Mac OS X, ho+c Linux Bài vi t gi thi t r(ng b n ang s# d ng Môi tr ng phát tri n tích h p Eclipse trình c!m thêm Android 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 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 Eclipse 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 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 ng d ng Android mà không c n Eclipse 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 gi i nén vào m t th m c " 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 b n cài +t SDK SDK g m có: android.jar T p tin l u tr Java ch a toàn b l p SDK Android c n thi t xây d ng ng d ng c a b n documention.html th m c docs Tài li u SDK c cung c p t i ch Web Ch y u d ng JavaDocs, t o i u ki n d% dàng cho vi c d n h ng nhi u gói SDK Tài li u c)ng g m c m t H ng d n Phát tri n m c cao 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 samples ch a b mã ngu n y dùng cho m t lo t ng d ng, g m c ApiDemo, s# d ng nhi u API 5ng d ng m u m t n i khám phá t v i 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ông c dòng l nh xây d ng nên ng d ng Android Công c c dùng ph" bi n h u ích nh t ti n ích adb (Android Debug Bridge) usb_driver Th m c ch a trình i u n c n thi t k t n i môi tr ng phát tri n v i m t thi t b có kh n ng ch y Android, ch*ng h n nh G1 hay i n tho i phát tri n ã c m khóa Android Dev Các t p tin òi h4i nh t i v i nhà phát tri n ang s# d ng n n Windows Các ng d ng Android có th c ch y m t thi t b th t s ho+c trình mô ph4ng Android (Android Emulator), g#i kèm v i SDK Android Hình cho th y hình ch c a trình mô ph4ng Android Hình Trình mô ph ng Android Nh p môn phát tri n ng d ng Android Page of 11 Android Debug Bridge Ti n ích adb h tr m t s i s dòng l nh tùy ch n, mang l i tính n ng m nh m , nh chép t p tin n tthi t b $ i s dòng l nh shell cho phép b n k t n i v i i n tho i a l nh shell thô s Hình cho 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 S d ng l nh shell adb Nh p môn phát tri n ng d ng Android Trong môi tr Page of 11 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ú ý k t n i m ng: lo k t n i c c b ho+c k t n i vòng tr l i tiwlan0 k t n i WiFi v i m t a ch cung c p b i m t máy ch DHCP c c b Hi n th n i dung c a bi n môi tr ng PATH Th c hi n l nh su tr thành siêu ng i s# d ng Chuy n th m c n /data/app, n i l u tr ng d ng c a ng i s# d ng Th c hi n li t kê n i dung th m c, ây b n s nhìn th y ch m t ng d ng n l& Các t p tin ng d ng Android th c t t p tin l u tr có th xem n i dung b(ng WinZip ho+c công c t ng ng Ph n m r ng apk Phát l nh ping xem Google.com ã s'n có ch a T- m t môi tr ng d u nh!c l nh này, b n c)ng có th t ng tác v i c s d li u SQLite, kh i ng ch ng trình, nhi u nhi m v m c h th ng khác $ây m t ch c n ng n"i b t, n u l u ý r(ng b n ã ch k t n i v i m t i n tho i Trong ph n ti p theo, b n s t o m t ng d ng n gi n Android Vi t mã m t ng d ng c b n Ph n cung c p m t vòng tham quan nhanh nh c n l c v cách xây d ng m t ng d ng Android 5ng d ng m u 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 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 s b" ích nh m t ví d Hãy t i v b mã ngu n y $ t o m t ng d ng Eclipse, ch n File > New > Android project, kh i Project (D án Android m i) ng th thu t New Android Nh p môn phát tri n ng d ng Android Page of 11 Hình Th thu t New Android Project Ti p theo, b n t o m t ng d ng n gi n ch có m t ho t ng n l&, v i m t trí giao di n ng i s# d ng l u main.xml Bài trí 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 Li t kê Bài trí Flashlight ! "" $% $ & ( ) # " !#" $! $! " $% ' % $% $ ' % $! !$ " * $ + " " T o m t vài ngu n màu s!c strings.xml Li t kê Màu s c strings.xml , !!$ $% $& " " # " " " " ' " $& # Nh p môn phát tri n ng d ng Android Page of 11 Bài trí hình có m t màu n n c nh ngh a all_white Trong t p tin strings.xml, b n th y r(ng all_white c nh ngh a nh m t b ba giá tr RGB #FFFFFF, hoàn toàn màu tr!ng Bài trí ch a m t TextView, (khung nhìn v n b n) n l&, ó th t ch m t o n v n b n t nh, không biên t p c V n b n c +t thành màu en c n 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 FlashLight.java, nh ch d i ây Li t kê Flashlight.java ! # / ! ! ! & !! , / / "22 * ! & , % * ! * * ) 30 %37 4 6/ 2" 6/ 8 Mã m t v n b n th o s'n (boiler-plate) tr c ti p t- th thu t New Project: Nó m t ph n c a gói Java tên com.msi.flashlight Nó có hai m c nh p kh,u vào: M t c a l p activity (ho t ng) M t c a l p bundle (bó) Khi ho t ng c kh i t o, ph ng th c onCreate c g i ra, chuy n giao tham i m t (bó) savedInstanceState $-ng quan tâm n bó i v i m c ích c a chúng ta, c s# d ng m t ho t ng b treo sau ó ti p t c l i Ph ng th c onCreate n p ch ng è lên ph ng th c c a l p activity có tên g i Nó g i ph ng th c onCreate c a l p b c M t l nh g i setContentView() s g!n trí giao di n ng i s# d ng ã nh ngh a t p tin main.xml B t c th main.xml strings.xml u ct ng ánh x t i h(ng ã nh ngh a t p tin ngu n R.java $-ng bao gi ch nh s#a t p tin tr c ti p, c thay "i theo t-ng l n xây d ng Vi c ch y ng d ng s trình di%n m t hình màu tr!ng v i v n b n màu en Hình Màn hình tr ng c a flashlight Nh p môn phát tri n ng d ng Android Page of 11 Thi 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ê AndroidManifest.xml dùng cho FlashLight ! "" ! " !#" " # * !! ' & % & ' " & ' " !!$ :,49 " " !!$ " ,;9*