0962TÌM HIẾU VÀ PHÁT TRIỀN ỨNG DỤNG CALCULATOR TRÊN HỆ ĐIỀU HÀNH ANDROID

86 4 0
0962TÌM HIẾU VÀ PHÁT TRIỀN ỨNG DỤNG CALCULATOR TRÊN HỆ ĐIỀU HÀNH ANDROID

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

Thông tin tài liệu

B GIÁO D C VÀ ÀO T O TR NG IH CM THÀNH PH H CHÍ MINH KHOA CƠNG NGH THƠNG TIN KHĨA LU N T T NGHI P Tài TÌM HI U VÀ PHÁT TRI N CALCULATOR TRÊN H GV h NG D NG I U HÀNH ANDROID ng d n: THS H QUANG KH I SV th c hi n: LÊ QU C VI T MSSV: 0851010328 L p: TH08B2 TP H Chí Minh – Tháng n m 2012 Báo cáo kháo lu n t t nghi p GVHD: ThS H Quang Kh i L IC M N hồn thành khóa lu n t t nghi p này, s c g ng làm vi c c a b n thân, em nh n đ tr c s giúp đ c a nhi u cá nhân ngồi ng Qua đó, em xin g i l i c m n chân thành nh t đ n quý th y cô Khoa ng đ t bi t th y h công ngh thông tin c a tr Kh i t n tình h ng d n – Ths H Quang ng d n dành th i gian quý báo c a giúp đ em hồn thành khóa lu n Em c ng xin bày t lòng bi t n sâu s c t i nh ng ng đình, b n bè, nh ng ng i bên em, đ ng viên, giúp đ i thân gia em su t q trình làm khóa lu n t t nghi p Em r t mong nh n đ c s ch b o, đóng góp ý ki n c a quý th y, đ em có th b sung ki n th c rút kinh nghi m hoàn thi n h n Xin chân thành c m n! SV : Lê Qu c Vi t –i– Báo cáo kháo lu n t t nghi p GVHD: ThS H Quang Kh i L i Nói u Ngày nay, xu th c a xã h i thông tin chuy n d n sang l nh v c công ngh di đ ng nói chung n tho i di đ ng nói riêng Minh ch ng cho u s đ i c a hai dòng n tho i smartphone Android iPhone Tuy nhiên, hi n tiêu m gây ý nh t xã h i thông tin v n n n t ng Android c a Google Android ™ cung c p m t b đ y đ ph n m m cho thi t b di đ ng: m t h th ng u hành, middleware ng d ng di đ ng ch ch t Hình Bi u t ng h u hành Android Android h u hành n tho i di đ ng ( hi n c m t s đ u phát HD, HD Player, TV) phát tri n b i Google d a n n t ng Linux Tr Android đ c phát tri n b i cơng ty liên h p Android (sau đ c đây, c Google mua l i vào n m 2005) Hi n nay, Android thu hút đ đ ng l n th gi i m c t ng tr c s quan tâm c a nhà s n xu t n tho i di ng c a Android v t lên d n đ u so v i iPhone, Nokia nhi u hãng khác n khai thác c ta, Android th c s m t m nh đ t màu m mà công ty ph n m m i u c ng kéo theo vi c c h i vi c làm cho sinh viên m i tr nhi u h n Ngoài ra, Android m t n n t ng m đ m t m r t thu n l i đ cho nhi u ng c ng nh d dàng ti p c n công ngh – ii – ng c ng c vi t b ng ngôn ng Java nên i có th d dàng b t tay vào nghiên c u Báo cáo kháo lu n t t nghi p GVHD: ThS H Quang Kh i Vì v y, M c đích th c hi n đ tài nh m ti p c n, nghiên c u khai thác n n t ng ph n m m m Android đ t o m t ng d ng có tính th c ti n cao, ng d ng hi u qu vào cu c s ng N i dung khóa lu n g m ph n sau:  Ch ng 1: T ng quan v đ tài Gi i thi u t ng quan đánh giá s b v đ tài  Ch ng 2: Nh ng ki n th c liên quan Trình bày nh ng ki n th c tìm hi u đ  Ch ng 3: Th c hi n đ tài Trình bày ch c n ng mà ch  Ch c trình tìm hi u ng trình ng d ng đ t đ ng 4: K t lu n K t l i đ tài đ a nh ng nh n x t đánh giá – iii – c Báo cáo kháo lu n t t nghi p GVHD: ThS H Quang Kh i Nh n Xét C a Giáo Viên H ng D n – iv – Báo cáo kháo lu n t t nghi p GVHD: ThS H Quang Kh i Nh n Xét C a Giáo Viên Ph n Bi n –v– Báo cáo kháo lu n t t nghi p GVHD: ThS H Quang Kh i M CL C Ch ng I:  T NG QUAN V TÀI 1  Gi i thi u đ tài 2  I.  1)  Tên đ tài: 2  2)  Th c tr ng 2  3)  Nhu c u 2  4)  N i dung: 4  5)  Ph ng pháp th c hi n: 5  II.  Gi i thi u ch c n ng 5  1)  Giao di n 5  2)  Các ch c n ng 8  III.  Ch I.  ánh giá k t qu 8  ng II:  CÁC KI N TH C CÓ LIÊN QUAN 9  Tìm hi u h u hành Android 10  1)  Gi i thi u h u hành Android 10  a)  Gi i thi u m t s h u hành thi t b di đ ng 10  b)  L ch s Android 12  2)  c m c a H H Android 17  a)  Nh ng nét đ c tr ng: 17  b)  u m c a H H Android: 17  c)  Nh c m c a H H Android: 18  3)  C u trúc h th ng Android 19  a)  Applications (t ng ng d ng) 19  b)  Application framework 19  c)  Library 20  d)  Android Runtime (môi tr e)  Linux kernel (nhân Linux) 21  4)  Chu k ng th c thi) 20  ng d ng Android 21  a)  Activity Stack 21  b)  Các tr ng thái c a chu k s ng 22  – vi – Báo cáo kháo lu n t t nghi p c)  Các ph GVHD: ThS H Quang Kh i ng th c c a chu k s ng 22  5)  Các thành ph n ng d ng android 23  a)  View 23  b)  ViewGroup 24  c)  LinearLayout 24  d)  FrameLayout 25  e)  AbsoluteLayout 25  f)  RetaliveLayout 26  g)  TableLayout 27  h)  Button 27  i)  ImageButton 28  j)  ImageView 28  k)  ListView 28  l)  TextView 29  m)  EditText 29  n)  CheckBox 29  o)  MenuOptions 29  p)  AccessingFile: 30  II.  Xây d ng ng d ng h u hành android: 32  1)  Yêu c u h th ng: 32  2)  Cài đ t Android SDK 32  III.  Ch I.  a)  Download JDK 32  b)  Download eclipse 33  c)  Cài đ t ADT plugin 33  d)  Cài đ t Android SDK 35  e)  T o m t n tho i o (AVD) 39  f)  T o m t project HelloWold 39  Thu t toán dùng 40  ng III:  TH C HI N TÀI 41  Gi i thi u ch c n ng 42  – vii – Báo cáo kháo lu n t t nghi p GVHD: ThS H Quang Kh i II.  Chi ti t t ng ch c n ng 42  1)  Máy tính C b n 42  2)  Máy tính Khoa h c 45  3)  Gi i ph ng trình 47  4)  Các công th c toán h c 51  5)  Chuy n đ i 56  6)  History 57  Ch ng IV:  I.  II.  H III.  K T LU N 60  u m khuy t m 61  ng phát tri n 62  T đánh giá 63  TÀI LI U THAM KH O 64  PH L C 66  – viii – Báo cáo kháo lu n t t nghi p GVHD: ThS H Quang Kh i DANH M C HÌNH NH Hình Bi u t ng h u hành Android .ii  Hình 1.1 Giao di n ng d ng Scientific calculator 3  Hình 1.2 Giao di n ng d ng Scientific calculator 4  Hình 1.3 Giao di n ng d ng Scientific calculator 4  Hình 1.4 Giao di n ng d ng Scientific calculator 4  Hình 1.5 Màn hình ng d ng c a đ tài 5  Hình 1.6 Màn hình ng d ng c a đ tài 6  Hình 1.7 Màn hình hi n th k t qu c a ng d ng 7  Hình 1.8 H th ng menu c a ng d ng 7  Hinh 2.1 Các h u hành di đ ng hi n 10  Hình 2.2 H u hành IOS 11  Hình 2.3 Các phiên b n android 14  Hình 2.4 Các ng d ng Android 18  Hình 2.5 C u tr c h th ng Android 19  Hình 2.6 Activity Stack 21  Hình 2.7 Chu k s ng c a activity 22  Hình 2.8 T ch c view ng d ng Android 24  Hình 2.9 Ví d linearlayout ng d ng Android 24  Hình 2.10 Ví d AbsoluteLayout 26  Hình 2.11 Ví d button 27  Hình 2.12 Ví d ImageButton 28  Hình 2.13 Ví d ListView 28  Hình 2.14 Ví d MenuOptions 30  Hình 2.15 Download JDK 32  Hình 2.16 Download eclipse 33  Hình 2.17 Cài đ t ADT plugin 35  Hình 2.18 Cài đ t SDK 36  Hình 2.19 Cài đ t SDK 36  Hình 2.20 Cài đ t SDK 37  – ix – Báo cáo kháo lu n t t nghi p GVHD: ThS H Quang Kh i u m khuy t m I Qua trình th c hi n đ tài khóa lu n g p nhi u khó kh n nh ng v i s n l c c a cá nhân, s h ng d n t n tình c a th y h ng d n - ThS H Quang Kh i, s ng h c a th y cô, b n bè, gia đình em c ng hồn thành t t đ tài c a Qua em c ng xin rút m t s đánh giá v đ tài c a V u m c a đ tài, b c đ u em tìm hi u đ c v n đ c b n c a h u hành m i – Android ng d ng ki n th c đ vi t m t ch V ph n ch b ng trình ng d ng ng d ng đ c xây d ng ch c n ng c b n c đ u phát tri n thêm ch c n ng h u ích cho ng di n thân thi n phù h p v i ng ng trình ng d ng đ n gi n i dùng Ch ng trình có giao i s d ng: ngôn ng ti ng vi t, bàn phím s d dàng vi c nh p li u, cung c p ch c n ng toán h c phù h p v i ng i dùng Vi t Nam Ngoài u m đ tài nhi u khuy t m c n ph i c i ti n, phát tri n h n n a u tiên m c đ ki n th c tìm hi u đ t đ nâng cao K ti p, ch c c p đ c n b n c n ph i ng trình ng d ng cịn m t s h n ch th c thi nh sau: ch c n ng tốn h c cịn ch a đ c đ y đ nh phép toán th ng kê, hàm l ng giác, kh n ng hi n th phân s , ch c n ng tính s th c, phép tốn ma tr n Ch ng trình ng d ng th c thi ch m, ch a đ c t i u thu t toán Kh n ng b y l i, hi n th kém, đ h a c a ng d ng ch a đ c tr ng ch a chuyên nghi p Cu i ch ng trình ng d ng ch a cung c p kh n ng c u hình ng d ng cho ng i dùng, ví d nh thay đ i màu s c, phông n n k t qu hi n th Lê Qu c Vi t – 0851010328 Trang 61 Báo cáo kháo lu n t t nghi p II H GVHD: ThS H Quang Kh i ng phát tri n Qua u khuy t m đ c nêu m c tr c nhu c u c a s phát tri n ng d ng , đ tài c n ti p t c phát tri n h n V ki n th c liên quan c n ph i ti p t c hoàn thi n th c nâng cao v c s d li u, đ h a ki n th c nâng cao khác… V ch ng trình ng d ng Calculator: tr c tiên hoàn thi n ch c n ng ch a hồn thành ví d : history cho ch c n ng l i, ch c n ng c a máy tính khoa h c … Cung c p thêm ch c n ng m i nh : tính tốn l ng giác (có th chuy n đ i qua l i gi a radian đ ), tính tốn s ph c, tính tốn ma Tr n, vector, ch c n ng l u tr data h ng s , thêm tính n ng chuy n đ i khác, ch c n ng option cho ng ch nh ng d ng…V ph n giao di n ch i dùng tùy ng trình ng d ng c n nâng cao kh n ng hi n th kí t toán h c , phân s , hi n k t qu v i d li u nh l n, nâng cao giao di n phím b m T i u thu t toán đ ch ng trình ch y nhanh h n tính tốn xác h n Lê Qu c Vi t – 0851010328 Trang 62 Báo cáo kháo lu n t t nghi p III GVHD: ThS H Quang Kh i T đánh giá Trong th i gian th c hi n đ tài, g p nhi u khó kh n nh ng v i quy t tâm n l c cu i em c ng v t qua nh ng khó kh n tr ng i đ hồn thành đ tài c a T nh ng khó kh n áp l c trãi qua c ng giúp em v n d ng đ th c đ c ki n c h c tìm tòi h c h i thêm nhi u ki n th c b ích Sau hồn thành đ tài, em có thêm m t s kinh nghi m v công ngh di đ ng m i phát tri n hi n nh ng kinh nghi m phát tri n th c t m t ng d ng mang l i Nh ng kinh nghi m qu m t tài s n quý giá giúp em t tin h n đ ng ngh nghi p sau M c dù có r t nhi u c g ng n l c nh ng th i gian kh n ng nghiên c u có h n nên đ tài v n nhi u h n ch v n đ n gi n c n r t nhi u c i ti n h n n a Em r t mong nh n đ c s đóng góp ý ki n c a quý th y cô, b n bè đ d ng c a đ tài c a em có th phát tri n h n, có tính th c thi cao h n có th ng ng d ng r ng rãi Xin chân thành c m n! Lê Qu c Vi t – 0851010328 Trang 63 Báo cáo kháo lu n t t nghi p GVHD: ThS H Quang Kh i TÀI LI U THAM KH O Lê Qu c Vi t – 0851010328 Trang 64 Báo cáo kháo lu n t t nghi p GVHD: ThS H Quang Kh i SÁCH THAM KH O  M t s sách v toán h c  Beginning Android Application Development (2011)  Android Essentials 2008 by Chris Haseman  Apress - Beginning Android (2009)  Pragmatic - Hello Android (2008)  Java Regular Expressions: Taming the java.util.regex Engine (so kh p d li u) WEBSITE THAM KH O  http://developer.android.com/  http://whyandroid.com/  http://developer.android.com  http://vietandroid.com  http://vi.wikipedia.org Lê Qu c Vi t – 0851010328 Trang 65 Báo cáo kháo lu n t t nghi p GVHD: ThS H Quang Kh i PH L C Lê Qu c Vi t – 0851010328 Trang 66 Báo cáo kháo lu n t t nghi p GVHD: ThS H Quang Kh i Gi i thu t chi ti t Thu t tốn tính giá tr bi u th c Ph ng pháp chuy n t bi u th c trung t sang h u t Có hai cách đ chuy n m t bi u th c t trung t sang hai lo i cịn l i dùng: - Stack - Expression Tree (cây bi u th c) Vi c dùng Stack ph bi n h n có u m d cài đ t, đ n gi n dùng Expression Tree s giúp vi c chuy n đ i đ c d hi u tr c quan h n nhiên l i m t th i gian cài đ t tơi s ch trình bày k thu t s d ng Stack B c 1: u tiên c a toán t M t nh ng u quan tr ng tr toán t bi u th c nh p vào c b t đ u ph i tính tốn đ cđ đ n gi n ta ch xét toán t hai th u tiên c a ng dùng bao g m: multiply (+),subtract (-), multiply (*), divide (/), Modulo (%) Theo tốn t “*, /, %” có đ B u tiên cao h n hai toán t “+, -” c chuy n đ i c : nh d ng l i bi u th c Infix tr Các bi u th c Infix nh p vào có th d th a kho ng tr ng, kí t khơng phù h p ho c vi t sai cú pháp B c 4:Các ph ng th c ki m tra toán t toán h ng Trong thu t toán chuy n đ i ta c n có ph ng th c ki m tra xem m t thành ph n c a chu i có ph i tốn t ho c tốn h ng khơng Thay s d ng c u trúc if ho c switch dài dòng b t ti n phát tri n, ta s dùng Regex đ ki m tra B c 5: Chuy n bi u th c Infix sang Postfix Lý tơi trình bày thu t toán chuy n sang postfix tr h n, b n c ng s th y s t tơi trình bày c thu t tốn ph bi n d cài đ t ng đ ng c a thu t toán v i thu t toán chuy n t infix sang prefix ph n sau Thu t toán đ chuy n m t bi u th c Infix sang d n Prefix: c t ng token bi u th c infix t trái qua ph i, v i m i token ta th c hi n b c sau: - N u toán h ng: cho output - N u d u m ngo c “(“: cho vào stack - N u d u đóng ngo c “)”: l y toán t stack cho vào output cho đ n g p d u m ngo c “(“ (D u m ngo c c ng ph i đ - c đ a kh i stack) N u toán t : Lê Qu c Vi t – 0851010328 Trang 67 Báo cáo kháo lu n t t nghi p Ch ng • GVHD: ThS H Quang Kh i đ nh stack toán t tốn t có đ u tiên l n h n ho c b ng toán t hi n t i l y tốn t kh i stack cho output a toán t hi n t i vào stack • Sau t h t bi u th c infix, n u stack cịn ph n t l y token cho l n l t vào output Hãy xem ví d sau đ hi u rõ h n thu t toán Chúng ta s chuy n bi u th c A*B+C*((D-E)+F)/G t d ng Infix sang d ng Postfix: Token Stack Output A {Empty} A * * A B * AB + + AB* C + AB*C * +* AB*C ( +*( AB*C ( +*(( AB*C D +*(( AB*CD - +*((- AB*CD E +*((- AB*CDE ) +*( AB*CDE- + +*(+ AB*CDE- F +*(+ AB*CDE–F ) +* AB*CDE–F+ / +/ AB*CDE–F+* G +/ AB*CDE–F+*G {Empty} AB*CDE–F+*G/+ Q=a*(b+c)-d^5 Lê Qu c Vi t – 0851010328 Trang 68 Báo cáo kháo lu n t t nghi p Kí hi u bi u th c ghi d GVHD: ThS H Quang Kh i i d ng phép toán sau P Trong trình chuy n đ i ta dùng m t stack S đ l u ph n t P ch a s d ng đ n Khi đ c t trái sang ph i bi u th c Q la l n l t có: c ghi nh n giá tr a, ghi giá tr a vào P V y P = "a" c toán t "*" c d u ngo c m "(", đ a d u ngo c vào stack: S = "*(" c h ng t b, đ a b vào P: P= "a b" c toán t "+", đ t "+" vào stack: S ="*(+" c h ng t "c", đ a c vào cu i P: P="a b c" c d u ngo c đóng ")" L n l a tốn t vào stack S: S = "*" t l y toán t cu i stack kh i stack đ t vào cu i P cho đ n g p d u ngo c m "(" stack gi i phóng nó: S= "*"; P="a b c +" c toán t "-" Cu i stack S có tốn t "*" có m c u tiên l n h n toán t "-", ta l y toán t "*" kh i stack, đ t vào cu i P, đ t toán t "-" vào stack: S="-"; P=" a bc+*" c h ng t d, đ a d vào cu i P P="a b c + * d" 10 c toán t "^", đ a toán t "^" vào cu i stack: S="-^" 11 c h ng s 5, đ a vào cu i P: P="a b c + * d 5" 12 ã đ c h t bi u th c Q, l n l t l y ph n t cu i stack đ t vào P cho đ n h t P="a b c + * d ^ -" B c 6: Tính giá tri bi u th c Postfix Quy t c tính nh sau: L p qua token c a c a bi u th c postfix t trái qua ph i: - N u toán h ng: push vào stack - N u toán t : pop hai toán h ng stack tính giá tr c a chúng d a vào tốn t Push k t qu l i vào stack Ph n t cịn sót l i stack sau vịng l p k t qu c a bi u th c Ví d bi u th c trung t 6*3-1 có k t qu 17, chuy n sang h u t ta đ c: 63*1L p t trái qua ph i c a bi u th c - 6: push vào Stack Lê Qu c Vi t – 0851010328 Trang 69 Báo cáo kháo lu n t t nghi p GVHD: ThS H Quang Kh i - 3: push vào Stack - *: pop r i tính 6*3=18, push 18 vào Stack - 1: - push vào Stack pop 18 r i tính 18-1=17, push 17 vào Stack Lê Qu c Vi t – 0851010328 Trang 70 Báo cáo kháo lu n t t nghi p GVHD: ThS H Quang Kh i Thu t tốn gi i ph a Ph ng trình Ax  Bx  C  ng trình b c 2: Đi u ki n: A B  AC  2A Tính Delta: N u ∆ = N u ∆ ≠ b Ph x1  toán B 2A B   2A ax  bx ng trình b c 3: thu t x1  x2   ch x2  cx d B   2A ng trình tham kh o t website http://www.1728.org/cubic2.htm Và ngu n khác internet minh h a : Tr 2x 4x2 22 x 24 c tiên xác đ nh m t bi n f: f = (3c/a) - (b²/a²) f = ((3 * -22/2) - (16/4)) / = - 12.333333 Ti p theo tính giá tr g: g = (2b³/a³) - (9bc/a²) + (27d/a) 27 g = 4,07407407407407 Sau đó, xác đ nh h: h = (g²/4) + (f³/27) h = -65.333333 N u h > 0, ph ng trình ch  có duy nh t 1 nghi m th c  Tìm giá tr R:  R = -(g/2) + (h)½ Tìm giá tr S   Lê Qu c Vi t – 0851010328                           Trang 71 Báo cáo kháo lu n t t nghi p GVHD: ThS H Quang Kh i S = (R)^(1/3) Tìm giá tr T  T = -(g/2) - (h)½ Tìm giá tr U U = (T)^(1/3) Tính giá tr X1 X1 = (S + U) - (b/3a) Tính giá tr X2 X2 = -(S + U)/2 - (b/3a) + i*(S-U)*(3)½/2 Tính giá tr X3 X3 = -(S + U)/2 - (b/3a) - i*(S-U)*(3)½/2 Trong tr ng h p đ c bi t khi mà f = 0, g = 0 và h = 0 thì t t c   3 nghi m là th c và b ng nhau  X1 = X2 = X3= (d/a)^(1/3) * (-1) Khi h 

Ngày đăng: 20/10/2022, 06:27

Tài liệu cùng người dùng

Tài liệu liên quan