1. Trang chủ
  2. » Luận Văn - Báo Cáo

Tiểu luận môn Lập trình hướng đối tượng: Cơ bản về lập trình ANDROID và ứng dụng

30 26 0

Đ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

Thông tin cơ bản

Tiêu đề Cơ bản về lập trình Android và ứng dụng
Người hướng dẫn Thầy: Nguyễn Mạnh Sơn
Trường học Học Viện Công Nghệ Bưu Chính Viễn Thông
Chuyên ngành Lập trình hướng đối tượng
Thể loại Tiểu luận
Định dạng
Số trang 30
Dung lượng 1,24 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Tiểu luận trình bày tổng quan về Android; lập trình cơ bản Android; demo ứng dụng cấu trúc một ứng dụng Android, Activity Life-Cycle, Android Layout... Mời các bạn cùng tham khảo tiểu luận để nắm chi tiết hơn nội dung nghiên cứu.

Trang 3

L I NÓI M  Đ UỜ Ở Ầ

M ng đi n tho i di đ ng xu t hi n t i Vi t Nam t  đ u năm 1990 và theo th i gian sạ ệ ạ ộ ấ ệ ạ ệ ừ ầ ờ ố 

lượng các thuê bao cũng nh  các nhà cung c p d ch v  di đ ng t i Vi t Nam ngày càngư ấ ị ụ ộ ạ ệ  tăng.Do nhu c u trao đ i thông tin ngày càng tăng và nhu c u s  d ng s n ph m công ầ ổ ầ ử ụ ả ẩngh  cao nhi u tính năng,c u hình cao,ch t lệ ề ấ ấ ượng t t,ki u dáng m u mã đ p,phong ố ể ẫ ẹphú nên nhà cung c p ph i luôn luôn c i thi n, nâng cao nh ng s n ph m c a mình.Doấ ả ả ệ ữ ả ẩ ủ  

đó vi c xây d ng m i đ y ti m năng và h a h n nhi u s  phát tri n vệ ự ớ ầ ề ứ ẹ ề ự ể ượ ậ ủt b c c a ngành khoa h c kĩ thu t.ọ ậ

Cùng v i s  phát tri n c a th  trớ ự ể ủ ị ường đi n tho i d  đ ng là s  phát tri n m nh m  c aệ ạ ị ộ ự ể ạ ẽ ủ  

xu hướng l p trình ph n m m  ng d ng cho các thi t b  di đ ng.Ph n m m, ng d ng ậ ầ ề ứ ụ ế ị ộ ầ ề ứ ụcho đi n tho i di đ ng hi n nay r t đa d ng và phong phú trên các h  đi u hành di ệ ạ ộ ệ ấ ạ ệ ề

đ ng cũng phát tri n m nh m  và đang thay đ i t ng ngày. Các h  đi u hành J2ME, ộ ể ạ ẽ ổ ừ ệ ềAndroid,IOS,Hybrid,Web dased Mobile Application đã có r t phát tri n trên th  trấ ể ị ường truy n th ng di d ngề ố ộ

Trong vài năm tr  l i đây, h  đi u hành Android ra đ i v i s  k  th a nh ng  u vi t ở ạ ệ ề ờ ớ ự ế ừ ữ ư ệ

c a các h  đi u hành ra đ i trủ ệ ề ờ ước và s  k t h p c a nhi u công ngh  tiên ti n nh t ự ế ợ ủ ề ệ ế ấ

hi n nay,đã đệ ược nhà phát tri n công ngh  r t n i ti ng hi n nay là Google .Android ể ệ ấ ổ ế ệ

đã nhanh chóng là đ i th  c nh tranh m nh m  v i các h  đi u hành trố ủ ạ ạ ẽ ớ ệ ề ước đó và đang 

là h  đi u hành di đ ng c a tệ ề ộ ủ ương lai và được nhi u ngề ườ ưi  a chu ng nh t.ộ ấ

Trang 4

CHƯƠNG 1:T NG QUAN V  ANDROIDỔ Ề

I. Android và l ch s  phát tri n:ị ử ể

Adroid là h  đi u hành trên đi n tho i di đ ng (và hi n nay là c  trên m t sệ ề ệ ạ ộ ệ ả ộ ố 

đ u phát HD, HD Player, TV) phát tri n b i Google và d a trên n n t ng Linux. L pầ ể ở ự ề ả ậ  trình android là m tộ  l p trình  ng d ng di đ ngậ ứ ụ ộ  ph  bi n.ổ ế  Trước đây, Android đượ  cphát tri n b i công ty liên h p Android ( sau đó để ở ợ ược Google mua l i vào năm 2005).ạ

Các nhà phát tri n vi t  ng d ng cho Android d a trên ngôn ng  Java. S  ra m tể ế ứ ụ ự ữ ự ắ  

c a Android vào ngày 5 tháng 11 năm 2007 g n v i s  thành l p c a liên minh thi t bủ ắ ớ ự ậ ủ ế ị 

c m tay mã ngu n m , bao g m 78 công ty ph n c ng, ph n m m và vi n thông nh mầ ồ ở ồ ầ ứ ầ ề ễ ằ  

m c đính t o nên m t chu n m  cho đi n tho i di đ ng trong tụ ạ ộ ẩ ở ệ ạ ộ ương lai

II.Các phiên b n HĐH Android:

Trang 5

     Android đã tr i qua m t s  các c p nh p k  t  l n đ u phát hành.Nh ng c p nh p ả ộ ố ậ ậ ể ừ ầ ầ ữ ậ ậnày nhìn chung có nhi m v  vá các l  h ng và thêm các tính năng m i vào h  đi u ệ ụ ỗ ổ ớ ệ ềhành

 

      Android nh ng th  h  đ u tiên 1.0(9/2008) và 1.1(2/2009) ch a có tên g i chính th cữ ế ệ ầ ư ọ ứ  .T  th  h  ti p theo,m i b n nâng c p đ u đừ ế ệ ế ỗ ả ấ ề ược đ t v i nh ng mã tên riêng d a theo ặ ớ ữ ựtên các bánh ng t theo th  t  b ng ch  cái t  “C­D­E­F­G­H­I” Hi n nay phiên b n ọ ứ ự ả ữ ừ ệ ả

m i nh t là Android 10.ớ ấ

III. Các thành ph n c a Androidầ ủ :

3.1 Thành ph n c a 1 chầ ủ ương trinh Android:

Trang 6

– Đượ ử ục s  d ng đ  truy n các thông báo nh m kh i t o m t Activity ho c Service đ  ể ề ằ ở ạ ộ ặ ể

th c hi n công vi c b n mong mu nự ệ ệ ạ ố

– Ví d : khi m  m t trang web, b n s  g i m t intent đi đ  t o m t Activity m i hi n ụ ở ộ ạ ẽ ử ộ ể ạ ộ ớ ể

th  trang web đóị

Dưới đây là vòng ho t đ ng c a 1  ng d ng androidạ ộ ủ ứ ụ :

Trang 7

Quá  trình ho t đ ng c a Itentạ ộ ủ

3. Broadcast Receiver:

– Thành ph n thu nh n các intent t  bên ngoài g i t iầ ậ ừ ử ớ

– Ví d : b n vi t m t chụ ạ ế ộ ương trình thay th  cho ph n g i đi n tho i m c đ nh c a ế ầ ọ ệ ạ ặ ị ủAndroid, khi đó, b n c n 1 Broadcast Receiver đ  nh n các intent là các cu c g i đ nạ ầ ể ậ ộ ọ ế

Trang 8

      Trước khi Android có th  kh i đ ng m t thành ph n  ng d ng, nó ph i ể ở ộ ộ ầ ứ ụ ả

bi t r ng thành ph n đó t n t i. Vì v y,  ng d ng khai báo nh ng thành ph n c a ế ằ ầ ồ ạ ậ ứ ụ ữ ầ ủmình trong m t manifest file độ ược g n vào Android package, file.apk này cũng ắ

gi  ch a mã c a  ng d ng và các tài nguyên. ữ ứ ủ ứ ụ

       Nó th c hi n m t s  b  sung đ  khai báo các thành ph n c a  ng d ng, nh  là ự ệ ộ ố ổ ể ầ ủ ứ ụ ưnêu tên các th  vi n  ng d ng c n đ n, và xác đ nh các quy n h n c a  ng d ng ư ệ ứ ụ ầ ế ị ề ạ ủ ứ ụ

mu n đố ượ ấc c p. 

      Ví d  nh  nó khai báo các Activity trong chụ ư ương trình c a chúng ta, khi ủ

kh i đ ng chở ộ ương trình thì Activity nào s  đẽ ược th c hi n đ u tiên, các quy n ự ệ ầ ề

truy c p Internet, SDCard, hay các v n đ  v  g i nh n tin nh n, cu c g i  ậ ấ ề ề ử ậ ắ ộ ọ

6. Giao di n ngệ ười dùng trong Android:

Trong m t  ng d ng Android, giao di n ngộ ứ ụ ệ ười dùng được xây d ng b ng ự ằ

cách s  d ng View và ViewGroup đ i tử ụ ố ượng. Có nhi u lo i quan đi m và các ề ạ ể

nhóm view, m i m t trong s  đó là h u du  c a l p View. View objects là các ỗ ộ ố ậ ệ ủ ớ

đ n v  c  b n c a bi u hi n giao di n ngơ ị ơ ả ủ ể ệ ệ ười dùng trên n n t ng Androidề ả

– Ví d : thông tin ngụ ười dùng l u trong contact, d  li u l u tr  trên SQL Lite, d  li u ư ữ ệ ư ữ ữ ệ

l u tr  trong các t n tinư ữ ậ

RelativeLayout,TableLayout,GrildLayout và khác

Widget là m t object View ph c v  nh  m t giao di n đ  tộ ụ ụ ư ộ ệ ể ương tác v i ngớ ười 

dùng.Android cung c p m t t p các widgets th c hi n đ y đ , gi ng nh  các ấ ộ ậ ự ệ ầ ủ ố ư

button,checkbox, và text_entry,do đó b n có th  nhanh chóng xây d ng giao di n ngạ ể ự ệ ườ  i

Trang 9

dùng c a b n.  M t s  widgets đủ ạ ộ ố ược cung c p b i Android ph c t p h n, gi ng nh  ấ ở ứ ạ ơ ố ư

m t date picker,clock,và zoom control.Nh ng nó không gi i h n trong các lo i widgets ộ ư ớ ạ ạ

được cung c p b i các n n t ng Android.ấ ở ề ả

CHƯƠNG II: L P TRÌNH C  B N ANDROID.Ậ Ơ Ả

I.C u trúc c a m t  ng d ng Android:ấ ủ ộ ứ ụ

Java Source: là t p tin MainActivity k  th a class Activity.ậ ế ừ Activity là m t class, ộ

mà l p l i t o ra m t window m c đ nh trên màn hình.   đây chúng ta có th  đ t ớ ạ ạ ộ ặ ị Ở ể ặ

thêm các thành ph n (components) khác:ầ   Button, EditText, TextView, Spinner v.v. 

Nó gi ng nhố ư Frame c a Java AWT.Activity có các phủ ương th c t o ra vòng ứ ạ

đ i :ờ  onCreate, onStop, OnResume v.v

Trang 10

Generated R.java: T p tinậ  R.java đượ ạc t o ra m t cách t  đ ng, nó ch a cá ID ộ ự ộ ứ

c a t t c  các tài nguyên trong th  m c res. B t c  khi nào b n t o m t componetủ ấ ả ư ụ ấ ứ ạ ạ ộ  trong activity_main, thì m t ID độ ượ ạc t o ra trong t p tin R.java. ID này s  đậ ẽ ượ ử c s

d ng trong source Java sau này.ụ

Trang 11

Contains apk file:  t p tin đ c t o t  đ ng nh m giúp  ng d ng ch y trên thi t ậ ượ ạ ự ộ ằ ứ ụ ạ ế

b  ịdi đ ng.ộ

Th  m c Resources: ch a t p tin các tài nguyên activity_main, string,styles, Hay ư ụ ứ ậ

c  th  ch a các giao th c c a  ng d ng nh  giao di n, hi n th  d  li u.ụ ể ứ ứ ủ ứ ụ ư ệ ể ị ữ ệ

o drawable: Đây chính là th  m c ch a các file hình  nh, config xml… trongư ụ ứ ả  

d  án android.ự

o layout: Đây chính là th  m c l u các file xml v  giao di n c a các màn ư ụ ư ề ệ ủhình  ng d ng c a b n  trên ph n s  1 b n có các package l u các ứ ụ ủ ạ Ở ầ ố ạ ưclass, các class này s  k t n i v i các file xml trong th  m c layout nào ẽ ế ố ớ ư ụ

đ  t o nên m t màn hình có giao di n cho ngể ạ ộ ệ ười dùng thao tác

o values: đ  l p trình viên đ nh nghĩa ra các thu c tính, giao di n, các ể ậ ị ộ ệ

config… đ  s  d ng cho đ ng nh t và đ ng th i s  giúp ngể ử ụ ồ ấ ồ ờ ẽ ười dùng t i ố

u code khi ch nh s a sau này.T p tin values g m:

 color.xml: đây là file đ nh nghĩa các mã màu trong d  án android ị ự

c a ban, khi s  d ng màu nào b n ch  c n g i tên tên mã màu đã ủ ử ụ ạ ỉ ầ ọ

đ nh nghĩa trong đây ra là xong.ị

 dimens.xml: đây là file mà b n s  đ nh nghĩa ra các kích th c nhạ ẽ ị ướ ư 

c  ch , chi u cao, chi u r ng các view.ỡ ữ ề ề ộ

Trang 12

 strings.xml: đây là file đ nh nghĩa các đo n văn b n trong  ng ị ạ ả ứ

d ng Android c a b n ví d  nh  b n có 1 đo n văn b n mà s  ụ ủ ạ ụ ư ạ ạ ả ử

d ng đi s  d ng l i trong các màn hình khác nhau, khi b n set c ngụ ử ụ ạ ạ ứ   nhi u n i thì khi c n ch nh s a thì ph i tìm h t t t c  và s a 

l i.Bây gi  b n đ nh nghĩa đo n văn b n đó trong đây và khi dùng ạ ờ ạ ị ạ ảthì g i ra s  d ng và sau này ch nh s a b n ch  c n s a trong đây ọ ử ụ ỉ ữ ạ ỉ ầ ử

là xong, nó s  apply t t c  m i n i.ẽ ấ ả ọ ơ

 styles.xml: đây chính là n i đ nh nghĩa các giao di n c a các file ơ ị ệ ủlayout trong th  m c layout mình đã nói phía trên.Ki u nh  th  nàyư ụ ể ư ế  nhé, b n mu n ch nh m t nút Button chi u cao 10dp, chi u r ng ạ ố ỉ ộ ề ề ộ10dp, màu xanh… và b n l i s  d ng ki u thi t k  này   5 màn ạ ạ ử ụ ể ế ế ởhình khác nhau.B n không th  m i màn hình l i đ nh nghĩa l i nhạ ể ỗ ạ ị ạ ư 

th  s  làm duplicate code (l p l i) và s  không t i  u tí nào ế ẽ ặ ạ ẽ ố ư

c Thay vào đó b n ch  c n đ nh nghĩa m t file giao di n nh  trên ả ạ ỉ ầ ị ộ ệ ư

và   m i màn hình b n ch  c n g i là xong.ở ỗ ạ ỉ ầ ọMainfest: là t p tin AndroidManifest.xml ch a thông tin v  package c a  ng ậ ứ ề ủ ứ

d ng, bao g m các thành ph n c a  ng d ng nhụ ồ ầ ủ ứ ụ ư activities, services, broadcast receivers, content providers v.v. Có ch c năng:ứ

o C p quy n m t s  ph n trong  ng d ng.ấ ề ộ ố ầ ứ ụ

o Khai báo các API mà  ng d ng s  s  d ng.ứ ụ ẽ ử ụ

o Khai báo các thông tin v   ng d ng.ề ứ ụ

II.Activity Life­Cycle:

Android Project khi được th c hi n thành công s  đự ệ ẽ ược đóng gói thành t p tin ậ

*.apk, t p tin này đậ ược g i là Application. M t Application có th  có m t ho c nhi u ọ ộ ể ộ ặ ềActivity, m i Activity là m t vòng đ i riêng và đ c l p v i các Activity khác. ỗ ộ ờ ộ ậ ớ

Khi t o m i m t Activity nào đó c n ph i khai báo, và trong nhi u Activity s  ạ ớ ộ ầ ả ề ẽ

có m t Activity ch y chính (Activity xu t hi n đ u tiên). Các ph n khai báo này độ ạ ấ ệ ầ ầ ược khai báo trong AndroidMainifest.xml

Trang 13

Quá trình x  lý các Activity ử

M i Activity đỗ ược kích ho t đạ ược h  th ng đ y vào BlackStack. Sau khi kích ệ ố ẩ

ho t l n lạ ầ ượ ọ ết g i đ n các callback onCreate(), onStart(), onResume() s  đẽ ược h  th ng ệ ố

g i đ n.ọ ế

Sau khi g i đ n các callback trên, thì Activity m i chính th c đọ ế ớ ứ ược xem là đang 

ch y (Activity running). S  đ  vòng đ i m t Activity:ạ ơ ồ ờ ộ

Trang 14

Lúc này, n u có b t k  Activity nào khác chi m quy n hi n th , thì Activity hi n ế ấ ỳ ế ề ể ị ệ

t i s  r i vào tr ng thái onPause(). N u s  hi n th  c a Activity khác làm cho Activity ạ ẽ ơ ạ ế ự ể ị ủ

mà chúng ta đang nói đ n không còn nhìn th y n a thì onStop() s  đế ấ ữ ẽ ược g i ngay sau đóọ  

N u Acvitity đã vào onPause() r i, t c là đang b  Activity khác đè lên, mà ngế ồ ứ ị ười dùng sau đó quay v  l i Activity cũ, thì onResume() đề ạ ược g i. Còn n u Activity đã vào ọ ế

onStop() r i, mà ngồ ười dùng quay v  l i Activity cũ thì onRestart() đề ạ ược g i. Trong c  ọ ảhai trường h p Activity r i vào onPause() ho c onStop(), nó s  r t d  b  h  th ng thu ợ ơ ặ ẽ ấ ễ ị ệ ố

h i (t c là b  h y) đ  gi i phóng tài ồ ứ ị ủ ể ảnguyên, khi này n u quay l i ế ạ

Activity cũ, onCreate() s  đẽ ược g i ọ

ch  không ph i onResume() hay ứ ảonRestart(). Và cu i cùng, n u m t ố ế ộActivity b  h y m t cách có ch  ị ủ ộ ủđích, ch ng h n nh  ngẳ ạ ư ười dùng 

nh n nút Back   System Bar, hay ấ ởhàm finish() được g i,… thì ọonDestroy() s  đẽ ược kích ho t và ạActivity k t thúc vòng đ i c a nó.ế ờ ủ

Trang 15

x y ra khi mà Activity c a b n v n đang ch y, ngả ủ ạ ẫ ạ ười dùng v n nhìn th y, nh ng ẫ ấ ư

Activity khi này l i b  che m t ph n b i m t thành ph n nào đó. Ch ng h n nh  khi b  ạ ị ộ ầ ở ộ ầ ẳ ạ ư ị

m t dialog đè lên. Cái s  che Activity này không ph i hoàn toàn. Chính vì v y mà ộ ự ả ậ

Activity đó tuy được người dùng nhìn th y nh ng không tấ ư ương tác được

*Stop: Tr ng thái này khá gi ng v i tr ng thái t m d ng trên kia. Nh ng khi này ạ ố ớ ạ ạ ừ ư

Activity b  che khu t hoàn toàn b i m t thành ph n giao di n nào đó, ho c b i m t  ng ị ấ ở ộ ầ ệ ặ ở ộ ứ

d ng khác. Và t t nhiên lúc này ngụ ấ ười dùng không th  nhìn th y Activity c a b n để ấ ủ ạ ược 

n a.ữ

Hành đ ng mà khi ngộ ười dùng nh n nút Home   System Bar đ  đ a  ng d ng c a b n ấ ở ể ư ứ ụ ủ ạ

v  background, cũng khi n Activity đang hi n th  trong  ng d ng r i vào tr ng thái ề ế ể ị ứ ụ ơ ạ

d ng này.ừ

Dead: N u Activity đế ượ ấc l y ra kh i BackStack, chúng s  b  h y và r i vào tr ng thái ỏ ẽ ị ủ ơ ạnày. Trường h p này x y ra khi user nh n nút Back   System Bar đ  thoát m t Activity.ợ ả ấ ở ể ộ  

Ho c l i g i hàm finish() t  m t Activity đ  “kill chính nó”. Cũng có khi  ng d ng   ặ ờ ọ ừ ộ ể ứ ụ ở

tr ng thái background quá lâu, h  th ng có th  s  thu h i tài nguyên b ng cách d ng ạ ệ ố ể ẽ ồ ằ ừ

h n các Activity trong  ng d ng, làm cho t t c  các Activity đ u vào tr ng thái này.ẳ ứ ụ ấ ả ề ạKhi vào tr ng thái dead, Activity s  k t thúc vòng đ i c a nó.ạ ẽ ế ờ ủ

Nh ng ý trên giúp b n n m đữ ạ ắ ượ ổc t ng quan các tr ng thái mà m t Activity có th  tr i ạ ộ ể ảqua

III.Android Layout:

Đ  trình bày nên các Activity t o thành các chể ạ ương trình hoàn ch nh thì Android đỉ ược phát ti n m t s  giao di n Layout tể ộ ố ệ ương t  nh  GUI trong Java.ự ư

Android h  tr  6 lo i Layout g m: ỗ ợ ạ ồ

RelativeLayout, LinearLayout,GridLayout, TableLayout, FrameLayout, ConstraintLayout1.RelativeLayout: là lo i Layout mà trong Layout v  trí c a m i view con s  đ c xác ạ ị ủ ỗ ẽ ượ

đ nh so v i view khác ho c so v i thành ph n cha c a chúng thông qua ID. B n có th  ị ớ ặ ớ ầ ủ ạ ể

s p x p 1 view   bên trái, bên ph i view khác ho c   gi a màn hình. ắ ế ở ả ặ ở ữ

xml version="1.0" encoding="utf­8"?>

<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"    xmlns:app="http://schemas.android.com/apk/res­auto"

    xmlns:tools="http://schemas.android.com/tools"

    android:layout_width="match_parent"

    android:layout_height="match_parent"

    tools:context="com.tuandc.project1.project1.MainActivity">

Trang 16

        android:background="@color/colorAccent"        />

        android:textAlignment="center"

        android:layout_toRightOf="@+id/hop1"        android:background="@color/colorPrimary"        android:layout_toEndOf="@+id/hop1" />

        android:id="@+id/hop3"

        android:background="#8e0917"

        android:textSize="10pt"

        android:textAlignment="center"

        android:layout_below="@+id/hop1"

        />

Trang 17

       android:textAlignment="center"

       android:background="#edcb25"

       android:layout_below="@+id/hop2"

       android:layout_toRightOf="@+id/hop3"

       android:layout_toEndOf="@+id/hop3" />

</RelativeLayout>

Ngoài cách bi u th  trên ta có th  code giao di n ể ị ể ệRelativeLayout b ng Java. T t nhiên nó s  khác so v i ằ ấ ẽ ớtrình XML c a Android.ủ

Trang 18

2.LinearLayout: là lo i layout s  s p x p các view theo chi u d c ho c ngang theo ạ ẽ ắ ế ề ọ ặ

th  t  c a các view.ứ ự ủ

Layout theo chi u d c:ề ọ

<?xml version="1.0" encoding="utf­8"?>

<LinearLayout    

Trang 20

Layout theo chi u ngang:ề

<?xml version="1.0" encoding="utf­8"?>

<LinearLayout

xmlns:android1="http://schemas.android.com/apk/res/android"    android1:layout_width="match_parent"

Ngày đăng: 15/05/2021, 10:01

TỪ KHÓA LIÊN QUAN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w