NG D NG CALCULATOR .... Có th dùng degree hay radians cho các hàm l ng giác trigonometry ...22 f.. Demo ng d ng Calcaulator: ..... Ch n Install Selected -> Install -> Ch ch ng trình cài
Trang 1B GIÁO D C VÀ ÀO T O
KHOA CÔNG NGH THÔNG TIN
ÁN MÔN H C TÀI:
Trang 2Trong quá trình th c hi n đ án môn h c chúng em xin chân thành c m n đ c
bi t đ n th y Th c s H Quang Kh i, giáo viên h ng d n, đã t n tình gi ng d y và giúp đ chúng em trong su t quá trình th c hi n và hoàn thành đ án môn h c
Khi hoàn thành đ c đ án này chúng em đã tr i qua kho ng th i gian làm vi c nhóm cùng v i nhau th t h u ích Th t s , đây là m t kho ng th i gian tuy ng n,
nh ng đ đ chúng em th hi n tinh th n làm vi c nhóm, v n d ng nh ng ki n th c đã
h c đ hoàn thành công vi c m t cách t t nh t
Tuy nhiên, do kh n ng còn h n ch và th i gian có h n, ch c ch n trong t p đ
án môn h c không tránh kh i thi u sót, mong đ c s đ ng viên, thông c m và đóng góp ý ki n c a quý Th y cô và các b n đ t p đ án hoàn ch nh h n
Chúng em xin chân thành c m n
Trang 3M C L C
M C TIÊU VÀ YÊU C U 6
1 M c tiêu chính: 6
a M c tiêu c a gi ng viên đ t ra cho chúng em là: 6
b Bên c nh đó m c tiêu c a nhóm chúng em đ t ra là: 6
2 Yêu c u sinh viên: 6
GI I THI U ÁN 7
N I DUNG BÁO CÁO 8
I. TÌM HI U H I U HÀNH ANDROID: 8
1 S phát tri n ng d ng trên di đ ng: 8
2 Gi i thi u chung v h đi u hành Android: 8
a Khái ni m: 8
b. S phát tri n c a Android: 8
c Các ng d ng Android c b n: 9
d. c đi m c a b phát tri n ng d ng Android: 9
3 Ki n trúc h đi u hành Android: 10
a T ng h t nhân Linux (Linux Kernel layer): 10
b T ng Libraries và android runtime: 10
c T ng Application Framework: 11
d T ng Application: 11
4 Cài đ t môi tr ng phát tri n Android: 11
a Ph n m m h tr : 11
b H ng d n cài đ t: 11
II. NGÔN NG L P TRÌNH JAVA 20
1 Gi i thi u Java: 20
2 L ch s hình thành ngôn ng Java: 20
3 M t s đ c đi m n i b t c a ngôn ng l p trình Java: 20
a Máy o Java ( Java Virtual Machine): 20
b Thông d ch: 21
c. c l p n n: 21
d H ng đ i t ng: 21
e. a nhi m – đa lu ng ( Multi Tasking – Multi Threading): 21
f. Kh chuy n: 21
g H tr m nh cho vi c phát tri n ng d ng: 21
III. NG D NG CALCULATOR 22
1 Mô t ch c n ng ng d ng: 22
a X lý bi u th c: 22
b Nh p hàm: 22
c. Các phép tính c b n: C ng +, tr -, nhân *, chia ÷ 22
d. Các phép tính v i các hàm: x2 , n!, sin, cos, tan, sqrt .22
e Có th dùng degree hay radians cho các hàm l ng giác (trigonometry) 22
f. L u và g i l i n i dung c a bi u th c tính toán c (history) 22
g Bi u th k t qu : 22
2 Ý t ng gi i quy t bài toán: 22
3 Ý t ng thu t toán ký pháp ngh ch đ o Ba Lan 23
a. Ý t ng: 23
b. Hi n th c thu t toán: 23
4 Demo ng d ng Calcaulator: 26
IV. K T QU 38
1 Ch ng trình ng d ng “calculator”: 38
a. K t qu đ t đ c: 38
Trang 4b H n ch c a ch ng trình: 38
2 Kh n ng làm vi c 38
a T p th nhóm 38
b Cá nhân: 38
V. H NG PHÁT TRI N THÊM 39
VI. K T LU N 40
VII. TÀI LI U THAM KH O 41
Trang 5NH N XÉT C A GIÁO VIÊN H NG D N
Ngày……tháng……n m……
Trang 6Phân tích và xây d ng thành công ph n m m ng d ng máy tính khoa h c cho
đi n tho i c m tay thông minh ch y trên n n gi l p Android SDK
a M c tiêu c a gi ng viên đ t ra cho chúng em là:
- Làm quen v i cách th c làm vi c theo nhóm
- N m v ng và l p trình thành th o v i Java trên n n Android
- Dùng Java trên n n Android thi t k “Calculator”
Trang 7bi t là nh ng ng d ng cho máy ch y trên h đi u hành Android
Ph n m m máy tính bao gi c ng đ c cài đ t s n trong b t c đi n tho i c m tay nh ng ch d ng l i m c đ c b n nh c ng tr nhân chia, trong khi đó m c nhu
c u s d ng c a gi i làm vi c “trí th c” cao h n, m c đ c a máy tính khoa h c
L y tiêu chí là đáp ng đ c nhu c u k trên, nhóm chúng em xin đ ng ký, tìm hi u và
l p trình ng d ng “máy tính khoa h c” dành cho h đi u hành Android
tài “Tìm hi u và l p trình ng d ng trên h đi u hành Android” nh m nâng
cao k n ng l p trình, c ng nh phân tích, thi t k và xây d ng m t ng d ng th c ti n cho sinh viên t nh ng yêu c u đ c phân tích nh trên Xây d ng đ c m t ph n
m m ng d ng nh m t máy tính khoa h c th c th s không đ n gi n Cho nên m c
đ yêu c u c a đ tài ch bao g m nh ng phép toán và hàm đ n gi n ng th i ng
d ng đ c gi i h n ch cho máy đi n tho i c m tay thông minh do màn hình (l n, c m
ng, …) c a chúng s cho phép thi t k và xây d ng m t giao di n ph c t p đa n ng,
và b x lý c a chúng đ m nh đ tính toán bài toán ph c t p nh m đáp ng đ c yêu
c u c a đ tài
Trang 8N I DUNG BÁO CÁO
+ Nhà phát tri n: Sun MicroSystems
+ Ngôn ng l p trình: Java, MIDlet
+ Thi t b h tr : c h tr t nhi u nhà s n xu t đi n tho i
− Windows Phone:
+ Nhà phát tri n: Microsoft
+ Ngôn ng l p trình: C#, VB
+ Thi t b h tr : HTC, Samsung, LG, Dell, Nokia
− webOS (Palm OS)
+ Thi t b h tr : HTC, Samsung, LG, Sony Ericsson, Acer, Dell…
2 Gi i thi u chung v h đi u hành Android:
a Khái ni m:
- Android là m t h đi u hành dành cho thi t b di đ ng nh smartphone, tablet hay netbook Android do Google phát tri n d a trên n n t ng Linux kernel và các ph n m m mã ngu n m Android là h đi u hành m mã ngu n chính duy
- Ban đ u n n t ng này đ c phát tri n b i Android Inc Android là m t h
đi u hành di đ ng d a trên n n t ng linux phiên b n 2.6 dành cho các dòng đi n tho i SmartPhone u tiên, đ c ra đ i b i công ty liên h p Android, sau đó
Trang 9đ c Google mua l i và phát tri n t n m 2005 và tr thành m t h
đi u hành di đ ng mã ngu n m , mi n phí, m nh m và đ c a chu ng cao trên th gi i
- Android đ c phát tri n nh m c nh tranh v i các h đi u hành di đ ng khác
nh iOS (Apple), BlackBerry OS, Windows Mobile (Microsoft), Symbian (Nokia), Samsung (Bada), WebOS (Palm) Tính đ n th i đi m này, Android đã
tr thành n n t ng di đ ng t ng tr ng nhanh nh t th gi i
- H đi u hành android m t h đi u hành r t m nh m nh, có b o m t cao, h tr đ c nhi u công ngh tiên ti n nh 3G, GPS, EDGE, Wifi t ng thích v i nhi u ph n c ng, h tr nhi u lo i b nh p d li u nh keyboard, touch và trackball Android là h đi u hành di đ ng nên có kh n ng k t
n i cao v i các m ng không dây H tr công ngh OpenGL nên có kh n ng
ch i các ph ng ti n media, ho t hình c ng nh trình di n các kh n ng đ h a khác c c t t, là ti n đ đ phát tri n các ng d ng có giao di n ph c t p
ch ng h n nh là các trò ch i
- N m 2008, h đi u hành android đã chính th c m toàn b mã ngu n, đi u
đó cho phépcác hãng đi n tho i có th đem mã ngu n v tùy ch nh, thi t
k l i sao cho phù h p v i m i m u mã đi n tho i c a h và đi u quan tr ng
n a là h đi u hành m này hoàn toàn mi n phí, không ph i tr ti n nên giúp
h ti t ki m khá l n chi phí phát tri n h đi u hành Nh ng đi u đó là
c c k t t không ch đ i v i các hãng s n xu t đi n tho i nh mà ngay
c v i nh ng hãng l n nh Samsung, HTC
- V i các nhà phát tri n ng d ng (developers), vi c h đi u hành android đ c s d ng ph bi n đ ng ngh a v i vi c h có th tho i mái phát tri n ng d ng trên n n android v i s tin t ng là ng d ng đó s có th
ch y đ c ngay trên nhi u dòng đi n tho i c a các hãngkhác nhau H ít
ph i quan tâm là đang phát tri n cho đi n tho i nào, phiên b n bao nhiêu vìn n
t ng android là chung cho nhi u dòng máy, máy o Java đã ch u trách nhi m th c thinh ng ng d ng phù h p v i m i dòng đi n tho i mà nó đang ch y T t c các ch ng trình ng d ng đ c vi t b ng ngôn ng Java
k t h p v i XML nên có kh n ng kh chuy n cao
Trang 10- Th vi n đ h a 2D, 3D
3 Ki n trúc h đi u hành Android:
H đi u hành android có 4 t ng t d i lên trên là t ng h t nhân Linux
(phiên b n 2.6), t ng T ng Libraries và Android runtime, T ng Application
Framework và trên cùng là t ngApplication
Ki n trúc h đi u hành Android
a T ng h t nhân Linux (Linux Kernel layer):
H đi u hành android đ c phát tr n d a trên h t nhân linux, c th là h t nhân linux phiên b n2.6, đi u đó đ c th hi n l p d i cùng này T t c m i ho t đ ng
c a đi n tho i mu n thihành đ c thì đ u đ c th c hi n m c c p th p l p này
bao g m qu n lý b nh (memorymanagement), giao ti p v i ph n c ng (driver model), th c hi n b o m t (security), qu n lý ti n trình (process)
b T ng Libraries và android runtime:
- L i b r a r i e s: P h n nà y c ó n h i u t h vi n đ c vi t b n g C / C ++
đ các ph n m m có th s d ng, các th vi n đó đ c t p h p thành m t s nhóm nh :
+ Th vi n h th ng (System C library): th vi n d a trên chu n C, đ c
s d ng ch b i h đi u hành
+ Th vi n Media (Media Libraries): Có nhi u code đ h tr vi c phát và ghi
các lo i đ nh d ng âm thanh, hình nh, video thông d ng
+ Th vi n SQLite : H c s d li u đ các ng d ng có th s d ng
- Android runtime: Ph n này ch a các th vi n mà m t ch ng trình
vi t b ng ngôn ng Java có th ho t đ ng Ph n này có 2 b ph n t ng t
nh mô hình ch y Java trên máy tính th ng Th nh t là các th vi n lõi (Core Library), ch a các l p nh JAVA IO, Collections, File Access Th hai là m t máy o java (Dalvik Virtual Machine)
Trang 11- Activity Manager: Qu n lý các chu k s ng c a m t ng d ng c ng
nh cung c p công c đi u khi n các Activity
- T e l e p h o n y M a na g e r: C u n g c p c ô n g c đ th c hi n vi c liên
l c n h g i đi n tho i
- XMPP Service: Cung c p công c đ liên l c trong th i gian th c
- Location Manager: Cho phép xác đ nh v trí c a đi n tho i tho i
d a vào h th ng đ nh v toàn c u GPS và Google Maps
d T ng Application:
ây là l p ng d ng giao ti p v i ng i dùng, bao g m các ng d ng nh :
- Các ng d ng c b n, đ c cài đ t đi li n v i h đi u hành là g i đi n
(phone), qu n lý danh b (Contacts), duy t web (Browser), nh n tin (SMS), l ch làm vi c (Calendar), đ c e-mail (Email-Client), b n đ (Map), quay phim ch p
- SDK Android Emulator là m t ti n ích mi n phí dành cho Windows, Mac
và Linux đ gi l p Android ngay trên máy tính Nó đ c Google thi t k đ các nhà phát tri n có th th nghi m các ng d ng c a mình trên Android tr c khi
ch y chúng trên thi t b c m tay và có nhi u phiên b n khác nhau nh 1.6, 2.0, 2.1, 2.2, 2.3, v.v…
- B n có th ch n phiên b n mà mình mu n, b n d a vào thông s SDK Platform Android your.version đ xác đ nh phiên b n Android tích h p trong gói cài đ t
http://dl.google.com/android/ADT-0.9.7.zip
Trang 12• B m nút download có m i tên trong hình đ t i:
• Ti p t c b m nút Ch n “Accept License Agreement” đ ch p nh n đi u kho n s d ng và b m vào link đ t i v (phù h p v i h đi u hành) nh m i tên trong hình:
Trang 13• Sau khi t i v b n cài đ t b n ch y file cài đ t JDK và làm theo hình đ m c
đ nh toàn b và b m Next đ n khi Finish:
Trang 14• Sau b c này JDK s yêu c u cài JRE (Java Runtime Environment) vào máy
B n b m Next nh hình đ ti p t c cài JRE :
• Sau khi cài hoàn thành b m Finish đ hoàn t t vi c cài JDK vào máy
+ Cài đ t Eclipse: (h ng d n dành cho phiên b n portable)
• u tiên b n c n t i Eclipse Classic b n m i t i : Eclipse
• Ch n Eclipse cho h đi u hành c a b n là x86 ho c x64:
Trang 15• Sau khi t i v b n b m chu t ph i vào file v a t i và bung nén nh hình:
• đây mình dùng C trong máy đ bung nén :
Trang 16• Sau khi bung nén b n s có toàn b file c a Eclipse trong th m c C:\eclipse
nh sau:
Trang 17• File Eclipse có đánh d u sao trong hình là file đ ch y Eclipse, b n có th t o shortcut nó ra desktop đ d làm vi c
+ Cài đ t Android SDK
• u tiên ta t i b SDK t i http://developer.android.com/sdk/index.html, ch n platform phù h p v i OS mình đang dùng
• Gi i nén file zip b n v a t i v Ch y SDK Setup.exe B n có th g p thông
báo l i “Fetching https://dl-sl Failed to fetch ”
• Close thông báo này l i Ti p theo c a s Choose Packages to Install xu t hi n
N u c a s này tr ng r ng thì ch n Cancel
• Quay v c a s Android SDK and AVD manager -> Ch n Setting, đánh d u
vào ô Force https:// Ch n Available Packages
• ánh d u các Packages b n mu n t i: Documents chính là ph n Javadoc mô t
ho t đ ng c a các ph ng th c và các l p (ph n này không th thi u), Sample là
các đo n code m u, SDK Platform ng v i các phiên b n h đi u hành (2.2 - API level 8, 2.1 - API level 7, ), và Google API đ phát tri n các ph n m m liên quan
đ n d ch v c a Google
Ch n Install Selected -> Install -> Ch ch ng trình cài đ t xong
Trang 18+ Tích h p Android SDK vào Eclipse:
• Kh i ch y Eclipse, vào Help -> Install new softwares
• Ch n Add, Name” tên b n mu n và Location gõ vào đ a ch đ t i v ADT:
HTML Code: https://dl-ssl.google.com/android/eclipse/
ho c HTML Code: http://dl-ssl.google.com/android/eclipse/
• N u https không ho t đ ng, b n c ng có th t i th ng ADT v máy theo link
http://dl.google.com/android/ADT-0.9.7.zip (b n m i nh t 0.9.7 ng v i Android 2.2), ch n Archive và browse t i file này (l u ý không gi i nén)
• Ch n OK Check vào ph n d i ô Name (s hi n ra dòng Developer Tools)
Trang 19• Ch y Eclipse ch n Tab Windows -> Preferences -> Android
Nh n nút Browse và ch nh đ ng d n t i th m c c a Android SDK b n t i lúc
tr c Ch n Apply -> OK
Trang 20II NGÔN NG L P TRÌNH JAVA
1 Gi i thi u Java:
- Java là m t ngôn ng l p trình d ng l p trình h ng đ i t ng (OOP) Khác
v i ph n l n ngôn ng l p trình thông th ng, thay vì biên d ch mã ngu n thành
mã máy ho c thông d ch mã ngu n khi ch y, Java đ c thi t k đ biên d ch mã ngu n thành bytecode, bytecode sau đó s đ c môi tr ng th c thi (runtime environment) ch y B ng cách này, Java th ng ch y nhanh h n nh ng ngôn
ng l p trình thông d ch khác nh Python, Perl, PHP,…
- Cú pháp Java đ c vay m n nhi u t C & C++ nh ng có cú pháp h ng
có th ch y trên m i n n t ng (platform) khác nhau thông qua m t môi tr ng
th c thi v i đi u ki n có môi tr ng th c thi thích h p h tr n n t ng đó Môi
tr ng th c thi c a Sun Microsystems hi n h tr Sun Solaris, Linux, Mac OS, FreeBSD & Windows Ngoài ra, m t s công ty, t ch c c ng nh cá nhân khác
c ng phát tri n môi tr ng th c thi Java cho nh ng h đi u hành khác nh BEA, IBM, HP… Trong đó, đáng nói đ n nh t là IBM Java Platform h tr Windows, Linux, AIX & z/OS
- Nh ng chi ti t v ngôn ng , máy o và API c a Java đ c gi b i C ng
đ ng Java (do Oracle qu n lý) Java đ c t o ra vào n m 1991 do m t s k s Sun, bao g m ông James Gosling, m t ph n c a D án Xanh (Green Project)
Java đ c phát hành vào n m 1994, r i nó tr nên n i ti ng khi Netscape tuyên
b t i h i th o SunWorld n m 1995 là trình duy t Navigator c a h s h tr Java V sau Java đ c đ c h tr trên h u h t các trình duy t nh Internet
Explorer (Microsoft), Firefox (Mozilla), Safari (Apple)…
- Java đ c s d ng ch y u trên môi tr ng m ng, internet.subby Sau khi Oracle mua l i công ty c a Sun Microsystem n m 2009-2010, Oracle đã mô t h
là “ng i qu n lý công ngh Java v i cam k t không ng ng đ b i d ng m t
c ng đ ng tham gia và minh b ch
3 M t s đ c đi m n i b t c a ngôn ng l p trình Java:
a Máy o Java ( Java Virtual Machine):
- T t c các ch ng trình mu n th c thi đ c thì ph i đ c biên d ch ra mã
máy Mã máy c a t ng ki n trúc CPU c a m i máy tính là khác nhau (t p l nh
mã máy c a CPU Intel, CPU Solarix, CPU Macintosh … là khác nhau), vì v y
tr c đây m t ch ng trình sau khi đ c biên d ch xong ch có th ch y đ c trên m t ki n trúc CPU c th nào đó i v i CPU Intel chúng ta có th ch y các h đi u hành nh Microsoft Windows, Unix,Linux, OS/2, …