1. Trang chủ
  2. » Công Nghệ Thông Tin

Giáo trình Lập trình Android cơ bản - Nghề: Lập trình máy tính - CĐ Kỹ Thuật Công Nghệ Bà Rịa-Vũng Tàu

283 140 0
Tài liệu đã được kiểm tra trùng lặp

Đ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

Định dạng
Số trang 283
Dung lượng 15,03 MB

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

Nội dung

(NB) Giáo trình Lập trình Android cơ bản với mục tiêu chính là Trình bày được các tính năng tiên tiến và các ưu thế của các môi trường lập trình trên Android. Khai báo và sử dụng được biến, hàm và các kiểu dữ liệu trong Java. Thiết kế được các giao diện ứng dụng trên Android. Sử dụng được các loại dữ liệu như XML, JSON để truyền tải dữ liệu qua mạng.

Trang 2

Tài li u này thu c lo i sách giáo trình nên các ngu n thông tin có thệ ộ ạ ồ ể 

được phép dùng nguyên b n ho c trích dùng cho các m c đích v  đào t o vàả ặ ụ ề ạ  tham kh o.ả

M i m c đích khác mang tính l ch l c ho c s  d ng v i m c đích kinhọ ụ ệ ạ ặ ử ụ ớ ụ  doanh thi u lành m nh s  b  nghiêm c m.ế ạ ẽ ị ấ

Trang 3

đi u hành Android.ề

Khi nghành công nghi p đi n tho i di đ ng sang m t trang m i, m t hệ ệ ạ ộ ộ ớ ộ ệ 

đi u hành m  có th  dùng chung cho nhi u hãng đi n tho i v i nh ng tùyề ở ể ề ệ ạ ớ ữ  

ch n riêng bi t là m t mi ng m i béo b  mà Google nhìn th y đ u tiên. Thi tọ ệ ộ ế ồ ở ấ ầ ế  

b  Android đị ược phân ph i v i t c đ  tăng trố ớ ố ộ ưởng nhanh h n b t k  n n t ngơ ấ ỳ ề ả  

di đ ng khác, đi u đó giúp Android tr  thành m t s  l a ch n tuy t v i trongộ ề ở ộ ự ự ọ ệ ờ  hành trình phát tri n  ng d ng trên đi n tho i di đ ng, đ c bi t là n u b n làể ứ ụ ệ ạ ộ ặ ệ ế ạ  

m t nhà phát tri n Java.ộ ể

Giáo trình được biên so n d a trên m t s  tài li u tham kh o c p nh t,ạ ự ộ ố ệ ả ậ ậ  

có giá tr  và v i m c tiêu cung c p các ki n th c c  b n v  l p trình trên n nị ớ ụ ấ ế ứ ơ ả ề ậ ề  

t n Android, vì v y n i dung trình bày v n ch a đả ậ ộ ẫ ư ược đ y đ  và không tránhầ ủ  

kh i thi u sót. Tác gi  r t mong nh n đỏ ế ả ấ ậ ược các ý ki n đóng góp, b  sung đế ổ ể giáo trình ngày càng hoàn thi n h n.ệ ơ

Tôi chân thành c m  n các đ ng nghi p trong khoa Công ngh  thông tinả ơ ồ ệ ệ  – K  toán đã có nh ng ý ki n đóng góp giá tr  cho n i dung giáo trình và cácế ữ ế ị ộ  tác gi  đã biên so n, chia s  các tài li u b  ích v  l p trình Android trả ạ ẻ ệ ổ ề ậ ướ  cđây

Bà R a – Vũng Tàu, ngày 02 tháng 01 năm 2016 ị

Biên so n

Trang 4

M C L CỤ Ụ

Trang 5

MÔ ĐUN L P TRÌNH ANDROID C  B NẬ Ơ Ả

Mã mô đun: MĐ 29

V  trí, tính ch t, ý nghĩa và vai trò c a mô đun: ị ấ ủ

Mô đun này có ý nghĩa cung c p các ki n th c c  b n v  thi t k , xâyấ ế ứ ơ ả ề ế ế  

d ng và phát tri n  ng d ng ch y trên thi t b  di đ ng s  d ng h  đi u hànhự ể ứ ụ ạ ế ị ộ ử ụ ệ ề  Android. Mô đun này được b  trí sau khi h c xong các môn chung, mô đunố ọ  

c u trúc d  li u và mô đun l p trình hấ ữ ệ ậ ướng đ i tố ượng

M c tiêu c a mô đun:ụ ủ

­ Trình bày đư c các tính năng tiên ti n và các  u th  c a các môi trợ ế ư ế ủ ườ  ng

l p trình trên Android.ậ

 

‐ Khai báo và s  d ng đử ụ ược bi n, hàm và các ki u d  li u trong Java.ế ể ữ ệ

‐ Thi t k  đế ế ược các giao di n  ng d ng trên Android.ệ ứ ụ

Trang 6

TT Tên các bài trong mô đun Th i gian Hình th c  

gi ng d yả ạ

2 C u hình môi trấ ường phát tri n Androidể 3 Tích h pợ

15 L u tr  d  li u vào b  như ữ ữ ệ ộ ớ 5 Tích h pợ

16 T o và truy v n c  s  d  li u SQLiteạ ấ ơ ở ữ ệ 15 Tích h pợ

Trang 7

T ngổ 150

Trang 8

ph n m m di đ ng  u tiên l a ch n Android là n n t ng đ  phát tri n cácầ ề ộ ư ự ọ ề ả ể ể  

ng d ng trên thi t b  di đ ng. Bài h c này s  giúp chúng ta bi t rõ h n v

quá trình hình thành, phát tri n cũng nh  nh ng lý do ph i l a ch n s  d ngể ư ữ ả ự ọ ử ụ  

và phát tri n  ng d ng trên h  đi u hành Android.ể ứ ụ ệ ề

M c tiêu:

­   Trình   bày   được   l ch   s   phát   tri n   và  ki n   trúc   c a   h   đi u   hànhị ử ể ế ủ ệ ề  Android

­ Trình bày được nh ng  u đi m c a h  đi u hành Android.ữ ư ể ủ ệ ề

­ Nh n th c đậ ứ ượ ầc t m quan tr ng c a h  đi u hành di đ ng nói chung vàọ ủ ệ ề ộ  

h  đi u hành Android nói riêng.ệ ề

­ Nâng cao tính chia s  công đ ng.ẻ ồ

N i dung:

1. Android là gì?

Android là m t h  đi u hành trên di đ ng (mobile), độ ệ ề ộ ược phát tri n trênể  

c  s  c a h  đi u hành Linux. Ban đ u nó đơ ở ủ ệ ề ầ ược phát tri n b i m t công ty cóể ờ ộ  cùng tên là: Android, Inc. Vào năm 2005, nh  m t ph n chi n lư ộ ầ ế ược c a vi củ ệ  

Trang 9

gia nh p vào th  trậ ị ường mobile, Google đã mua l i Android và ti p qu n côngạ ế ả  

vi c phát tri n đó (cũng nh  là đ i ngũ phát tri n đi kèm).ệ ể ư ộ ể

Google mu n Android tr  nên m  và mi n phí. Vì lí do đó, h u h t codeố ở ở ễ ầ ế  

c a Android đ u đủ ề ược phát hành dưới d ng Open Source Apache License,ạ  

đi u đó có nghĩa là b t kì ngề ấ ười nào mu n s  d ng android ch  vi c t i v  bố ử ụ ỉ ệ ả ề ộ cài đ t Android. H n n a, các nhà cung c p (thặ ơ ữ ấ ương là các nhà s n xu t ph nả ấ ầ  

c ng) có th  thêm nh ng ph n m  r ng đ c quy n vào Android và customizeứ ể ư ầ ở ộ ộ ề  Android đ  t o nên nh ng s  khác bi t so v i các s n ph m khác.ể ạ ữ ự ệ ớ ả ẩ

u đi m chính c a vi c s  d ng Android là nó s  cung c p m t cách

ti p c n th ng nh t đ  l p trình m t  ng d ng. L p trình viên ch  c n l pế ậ ố ấ ể ậ ộ ứ ụ ậ ỉ ầ ậ  trình v i Android, và nh ng  ng d ng c a h  có th  ch y trên nhi u thi t bớ ữ ứ ụ ủ ọ ể ạ ề ế ị khác nhau mi n là các thi t b  đó s  d ng Android.ễ ế ị ử ụ

Trong th  gi i smartphone, ph n m m là thành ph n quan tr ng nh t c aế ớ ầ ề ầ ọ ấ ủ  chu i thành công. Các nhà s n xu t thi t b  vì th  nh n th y Android là hiỗ ả ấ ế ị ế ậ ấ  

v ng l n nh t đ  thách th c l i s  t n công c a Iphone.ọ ớ ấ ể ứ ạ ự ấ ủ

2. Các n n t ng l p trình  ng d ng di d ngề ả ậ ứ ụ ộ

Android đã tr i qua khá nhi u phiên b n update t  khi nó đả ề ả ừ ược phát hành. 

B ng 1­1 hi n th  các phiên b n khác nhau c a Android.ả ể ị ả ủ

Trang 10

B ng 1.1  Các phiên b n c a Android ả ủ

Vào tháng hai năm 2011, Google phát hành Android 3.0, m t phiên b nộ ả  dành cho máy tính b ng, h  tr  nh ng thi t b  màn hình r ng. Nh ng thay đ iả ỗ ợ ữ ế ị ộ ữ ổ  quan tr ng trong phiên b n Android 3.0 nh  sau:ọ ả ư

­ Giao di n ngệ ười dùng đượ ố ưc t i  u cho máy tính b ng.ả

Trang 11

c  version c a các thi t b , b n ph i ch c ch n mình ch  s  d ng nh ng tínhả ủ ế ị ạ ả ắ ắ ỉ ử ụ ữ  năng được h  tr  trên t ng phiên b n Android c  th ỗ ợ ừ ả ụ ể

Vào tháng 10 năm 2011, Google phát hành phiên b n 4.0, phiên b n đãả ả  mang t t c  các tính năng đấ ả ược gi i thi u trong Android 3.0 vào smartphone,ớ ệ  cùng v i m t s  nh ng tính năng m i nh  nh n di n khuôn m t, theo dõi vàớ ộ ố ữ ớ ư ậ ệ ặ  

đi u khi n data s  d ng. Near Field Communication(NFC ) . . .ề ể ử ụ

3. Ki n trúc đa t ng c a HĐH Androidế ầ ủ

Đ  hi u cách ho t đ ng c a Android, hãy xem hình 1.2, trong đó choể ể ạ ộ ủ  

th y các l p khác nhau c a h  đi u hànhấ ớ ủ ệ ề  Android

Android OS được chia thành 5 section trong 4 layer:

­ Linux kernel: Đây là nhân c a Android. L p này có các trình đi u khi nủ ớ ề ể  thi t b  c p th p cho các thành ph n ph n c ng khác nhau c a m t thi t bế ị ấ ấ ầ ầ ứ ủ ộ ế ị Android

­ Libraries: L p này bao g m t t c  code cung c p các tính năng chínhớ ồ ấ ả ấ  

c a Android OS. Ví d  nh  SQLite library cung c p database h  tr  cho cácủ ụ ư ấ ỗ ợ  

ng d ng có th  s  d ng nó đ  l u tr  d  li u. Hay nh  là WebKit library

cung c p nh ng hàm dùng cho webấ ư  browsing

­ Android runtime: T i cùng l p v i libraries, Android runtime cung c pạ ớ ớ ấ  

m t t p các core library mà cho phép các l p trình viên vi t  ng d ng Androidộ ậ ậ ế ứ ụ  

s  d ng Java. Android runtime cũng bao g m các máy  o Dalvik, cho phépử ụ ồ ả  

m i  ng d ng Android ch y trên proccess c a nó, v i instance c a Dalvik(Cácọ ứ ụ ạ ủ ớ ủ  

ng d ng Android đ c biên d ch vào Dalvik đ  có th  ch y) (có nghĩa là

Dalvik s  t o ra máy  o và ch y  ng d ng c a b n trên đó). Dalvik là m tẽ ạ ả ạ ứ ụ ủ ạ ộ  máy  o đ c bi t đả ặ ệ ược thi t k  đ c bi t cho Android và t i  u hóa cho cácế ế ặ ệ ố ư  

Trang 12

­ Application framework: Đ a ư ra nh ng kh  năng khác nhau c a Androidữ ả ủ  

OS cho developer mà h  có th  đ a vào app c aọ ể ư ủ  h ọ

­ Application: Là t ng   trên cùng, b n s  th y nh ng app liên quan đ nầ ở ạ ẽ ấ ữ ế  thi t b  Android( nh  là Phone, Contact, Browser   . ), cũng nh  các  ng d ngế ị ư ư ứ ụ  

mà b n t i và cài đ t t  Android Market. B t kì m t  ng d ng nào mà b nạ ả ặ ừ ấ ộ ứ ụ ạ  

vi t đ u đế ề ược đ t   v  tríặ ở ị  này

Hình 1.2: Ki n trúc h  đi u hành Android ế ệ ề

Trang 13

­ D  dàng tễ ương thích cho các nhà s n xu t, cung c p d ch v  di đ ngả ấ ấ ị ụ ộ

5. M t s  thi t b  ch y trên n n Androidộ ố ế ị ạ ề

­ Các thi t b  ch y trên n n t ng Android thông d ng nh  smartphoneế ị ạ ề ả ụ ư  (đi n tho i thông minh) và máy tính b ng nh : Google Nexus One, Googleệ ạ ả ư  Nexus S, Sony Ericsson Xperia Play, Acer Iconia Smart, LG G­State, Toshiba Thrive, HTC One, Samsung Galaxy S4,…

Hình 1.3: Đi n tho i s  d ng Android ệ ạ ử ụ

Trang 14

6. Vì sao nên ch n Android?

­ Tương thích công ngh , phù h p v i xu hệ ợ ớ ướng hi n đ i.ệ ạ

­ Tính c ng đ ng cao, và không ng ng phát tri n d a trên mã ngu n m ộ ồ ừ ể ự ồ ở

­ B n quy n s  d ng mi n phí.ả ề ử ụ ễ

­ Được h  tr  t i đa t  Android và c ng đ ng m ng.ỗ ợ ố ừ ộ ồ ạ

­ Tài li u rõ ràng và phong phú.ệ

­ Ngôn ng  phát tri n đ n gi n và tiên ti n.ữ ể ơ ả ế

­ Kh  năng thay đ i, m  r ng cao.ả ổ ở ộ

­ Là m t ph n m  r ng c a môn h c.ộ ầ ở ộ ủ ọ

­ Theo yêu c u c a công ty, c  quan.ầ ủ ơ

Câu h i và bài t pỏ ậ

1.1: Phân tích ki n trúc h  đi u hành Android.ế ệ ề

1.2: Nh ng  u đi m và nhữ ư ể ược đi m c a h  đi u hành Android.ể ủ ệ ề

1.3. Phiên b n hoàn ch nh tả ỉ ương thích 64­bit đ u tiên c a Android là phiênầ ủ  

b n nào?ả

1.4. Đi n tho i và máy tính b ng Android đ u tiên là gì?ệ ạ ả ầ

Trang 15

Yêu c u đánh giá

­ Nêu l ch s  hình thành và phát tri n c a h  đi u hành Android.ị ử ể ủ ệ ề

­ Trình bày ki n trúc c a h  đi u hành Android.ế ủ ệ ề

­ T i sao ph i ch n Android đ  s  d ng và phát tri n  ng d ng?ạ ả ọ ể ử ụ ể ứ ụ

Trang 16

C U HÌNH MÔI TRẤ ƯỜNG PHÁT TRI N ANDROID

Gi i thi u:ớ ệ

Không gi ng nh  iPhone, SDK cho phát tri n  ng d ng Android có thố ư ể ứ ụ ể 

ch y đạ ược h u h t trên các n n t ng h  đi u hành t  Windows, Linux vàầ ế ề ả ệ ề ừ  Mac. Bài h c này s  giúp b n nhanh chóng cài đ t và thi t l p môi trọ ẽ ạ ặ ế ậ ường để phát tri n  ng d ng Android.ể ứ ụ

M c tiêu:

­ Trình bày được các tính năng c a công c  Eclipse trong l p trình Java vàủ ụ ậ  Android SDK trong l p trình Android.ậ

­ Trình bày đượ ấc c u trúc cây th  m c trong project Android.ư ụ

­ Cài đ t đặ ược công c  Eclipse và Android SDK đ  l p trình Android.ụ ể ậ

­ K t n i đế ố ược thi t b  Android v i PC đ  cài đ t  ng d ng t  Eclipse.ế ị ớ ể ặ ứ ụ ừ

­ S  d ng đử ụ ược máy  o Android, công c  debug và ghi log.ả ụ

­ T o đạ ược project Android

­ Có t  duy, sáng t o, đ c l p và làm vi c nhóm.ư ạ ộ ậ ệ

­ Đ m b o an toàn cho ngả ả ười và thi t b ế ị

Trang 17

+ Android SDK: t i t i ả ạ http://developer.android.com/sdk/index.html

* Bước 2: Ti n hành cài đ tế ặ

­ Cài đ t JDK (n u máy ch a cài s n).ặ ế ư ẵ

­ Cài đ t Eclipse IDE: phiên b n này ch  c n gi i nén t p tin .zip. Sau khiặ ả ỉ ầ ả ậ  cài đ t, ta ch y eclipse có giao di n nh  hình 1.1.ặ ạ ệ ư

Hình 2.1. Giao di n Eclipse ệ

­ Cài đ t Android SDK: gi i nén t p tin Android SDK và ch y cài đ t.ặ ả ậ ạ ặ

* Bước 3: cài đ t các phiên b n h  tr  phát tri n  ng d ng trong SDKặ ả ỗ ợ ể ứ ụ  Manager

Trang 18

Hình 2.2: Giao di n Android SDK Manager ệ

* Bước 4: cài đ t ADT Pluginặ

­ ADT Plugin Là thành ph n đầ ược thêm vào Eclipse IDE, g i là Androidọ  Development Tools (ADT), được thi t k  cho nh ng ti n ích, nâng c p môiế ế ữ ệ ấ  

trường cho phát tri n  ng d ng Android.ể ứ ụ

­ Ch y Eclipse, ch n Help ạ ọ  Install New Software, h p Install hi n ra,ộ ệ  

ch n Add đ  m  h p tho i Add Repository.ọ ể ở ộ ạ

Hình 2.3: Cài đ t ADT Plugin ặ

Trang 19

­ Trong h p Name nh p ADT Plugin, h p Location nh p đ a ch  ộ ậ ộ ậ ị ỉ http://dl­ssl.google.com/android/eclipse/, sau đó nh n OK đ  b t đ u cài đ t, vi c càiấ ể ắ ầ ặ ệ  

đ t s  m t vài ch c phút.ặ ẽ ấ ụ

* Bước 5: C u hình đấ ường d n đ n th  m c SDKẫ ế ư ụ

Sau khi cài đ t xong ADT Plugin, chúng ta quay tr  l i Eclipse IDE.ặ ở ạ  Trong   Eclipse   IDE,   ch n   menu   Window   –   Preferences   Trong   h p   tho iọ ộ ạ  Preferences, ch n m c Android, ch nh đọ ụ ỉ ường d n trong SDK Location v  thẫ ề ư 

m c c a Android SDK đã cài   bụ ủ ở ước trên

Hình 2.4: C u hình đ ng d n đ n th  m c SDK ấ ườ ẫ ế ư ụ

2. Cài đ t USB Driver

Thi t l p h  th ng (PC) đ  dò tìm thi t b  (đi n tho i, table)ế ậ ệ ố ể ế ị ệ ạ

Trang 20

+ Nexus One, Nexus S, ho c đi n tho i phát tri n Android (ADP) sặ ệ ạ ể ử 

d ng Google Windows USB Driver.ụ

+ S  d ng OEM USB driver phù h p cho các lo i đi n tho i khác.ử ụ ợ ạ ệ ạ

­ Mac OS X: Được h  tr  driver.ỗ ợ

­ Ubuntu Linux: C n thêm t p tin ch a c u hình USB cho m i lo i thi tầ ậ ứ ấ ỗ ạ ế  

b  đi n tho i đị ệ ạ ượ ử ục s  d ng cho phát tri n.ể

Đ  cài đ t USB Driver, ta th c hi n các bể ặ ự ệ ước sau:

* Bước 1:  t i USB driver phù h p v i thi t b  đi n tho i trên googleả ợ ớ ế ị ệ ạ  USB Driver, sau đó cài đ t USB driver trên Window.ặ

Hình 2.5: T i USB driver trên google USB Driver ả

* Bước 2:  Th c hi n cài đ t USB drier nh  m t gói cài đ t thôngự ệ ặ ư ộ ặ  

thường

3. K t n i thi t b  v i PCế ố ế ị ớ

­ Khi xây d ng  ng d ng trên di đ ng, c n thi t ph i ch y trên thi t bự ứ ụ ộ ầ ế ả ạ ế ị 

th c trự ước khi đ a vào s  d ng.ư ử ụ

­ Thi t l p môi trế ậ ường v i thi t b  Android cho ch y và debug:ớ ế ị ạ

Trang 21

+ Qu n lý tr ng thái c a thi t b  hay Emulator.ả ạ ủ ế ị

+ Ch y l nh shell trên thi t b  đi n tho i.ạ ệ ế ị ệ ạ

+ Qu n lý port trên thi t b  hay Emulator.ả ế ị

+ Copy file t  PC vào thi t b  ho c Emulator và ngừ ế ị ặ ượ ạc l i

Trang 22

Hình 2.7: Giao di n command line s  d ng công c  adb ệ ử ụ ụ

­ Truy v n Emulator/device đ i tấ ố ượng: adb devices

­ Cài đ t  ng d ng: adb install <path_to_apk>ặ ứ ụ

­ Copy files t  thi t b , Emulator đ n PC: adb pull <remote> <local>ừ ế ị ế

­ Copy files t  PC đ n thi t b , Emulator: adb push <local> <remote>ừ ế ế ị

­ Xóa th  m c: adb ­e/­d shell rm ­r /sdcard/folderư ụ

­ T o th  m c: adb ­e/­d shell mkdir /sdcard/folderạ ư ụ

Trang 23

5. S  d ng debug và ghi logử ụ

­ S  d ng Logcat: ử ụ

+ H  th ng log Android cung c p c  ch  cho vi c t p h p và hi n thệ ố ấ ơ ế ệ ậ ợ ể ị debug h  th ng output. Log t  nh ng  ng d ng khác nhau và 1 ph n t  hệ ố ừ ữ ứ ụ ầ ừ ệ 

th ng s  đố ẽ ượ ậc t p h p vào vùng đ m vào đợ ệ ược hi n th  b i l nh logcat.ể ị ở ệ

+ Logcat t  adb shell s  hi n th  t t c  thông tin logừ ẽ ể ị ấ ả

+ Cú pháp: $ adb logcat

Hình 2.8: Giao di n LogCat ệ

6. T o  ng d ng Androidạ ứ ụ

* Bước 1: Trong Eclipse, ch n File – New – Android Application Projectọ

* Bước 2: Cung c p thông tin cho  ng d ng Androidấ ứ ụ

Trang 24

Hình 2.9: Giao di n t o m i m t project Android ệ ạ ớ ộ

­ Application Name: tên c a  ng d ngủ ứ ụ

­ Project Name: tên c a projectủ

­ Package Name: tên c a packageủ

­ Minimum Required SDK: phiên b n API nh  nh t mà  ng d ng yêuả ỏ ấ ứ ụ  

c u đ  ch y, nó s  ch n ngầ ể ạ ẽ ặ ười dùng s  d ng phiên b n nh  h nử ụ ả ỏ ơ

­ Target SDK: phiên b n API mà  ng d ng đả ứ ụ ược thi t k  đ  ch y.  ngế ế ể ạ Ứ  

d ng s  ch y  ng v i API t  Minimum Required SDK đ n Target SDKụ ẽ ạ ứ ớ ừ ế

­ Compile With: phiên b n API dùng đ  biên d ch  ng d ngả ể ị ứ ụ

­ Theme: ch n theme dùng v i  ng d ngọ ớ ứ ụ

­ Nh n Next đ  qua màn hình k  ti pấ ể ế ế

Trang 25

* Bước 3: C u hình projectấ

Hình 2.10: Giao di n c u hình project ệ ấ

­ Nút ch n Create custom launcher icon: cho phép thay đ i icon c a  ngọ ổ ủ ứ  

d ngụ

­ Nút ch n Create activity: t o m t activity cho  ng d ngọ ạ ộ ứ ụ

­ Nút ch n Mark thi project as a library: t o project này thành th  vi n,ọ ạ ư ệ  không ph i là  ng d ngả ứ ụ

­ Nút ch n Create Project in a Workspace: l u project trong workspaceọ ư  

c a Eclipseủ

­ Nh n Next đ  qua màn hình k  ti pấ ể ế ế

Trang 26

Hình 2.11: Giao di n c u hình icon cho  ng d ng ệ ấ ứ ụ

­ Trong màn hình này, chúng ta s  ch n icon cho  ng d ng. Chúng ta cóẽ ọ ứ ụ  

th  ch n icon t  m t hình có s n (d ng .png), t  Clipart ho c t  b  font ch ể ọ ừ ộ ẳ ạ ừ ặ ừ ộ ữ

­ Nh n Next đ  qua màn hình k  ti p.ấ ể ế ế

* Bước 5: l a ch n lo i activity c n t o ban đ uự ọ ạ ầ ạ ầ

Trang 27

Hình 2.12: Giao di n l a ch n ki u activity ệ ự ọ ể

Trang 28

Hình 2.13: Giao di n đ t tên activity đ u tiên ệ ặ ầ

­ Activity Name: tên c a Activity s  đủ ẽ ược tao ra khi hoàn thành Wizard

­ Layout Name: tên c a t p tin xml qu n lý giao di n tủ ậ ả ệ ương  ng v iứ ớ  Activity

­ Navigation Type: ch n None – lo i navigation s  dùng trong  ng d ngọ ạ ẽ ứ ụ

­ Nh n Finish đ  hoàn thành kh i t o m t  ng d ng, chúng ta s  quayấ ể ở ạ ộ ứ ụ ẽ  

tr  l i môi trở ạ ường Eclipse

7. C u trúc th  m c trong project Androidấ ư ụ

M t project Android ch a nhi u th  m c và t p tin nh  hình 1.10.ộ ứ ề ư ụ ậ ư

Trang 29

Hình 2.14: C u trúc cây th  m c trong project Android ấ ư ụ

Trong đó:

­ src: Th  m c này ch a các source ngu n c a  ng d ng. B n có thư ụ ứ ồ ủ ứ ụ ạ ể thêm bao nhiêu package và các class java vào trong các package này tùy thích

­ gen: th  m c này ch a các source code đư ụ ứ ượ ạc t o ra b i Android. Hãyở  

đ  nguyên tr ng, không c n ph i ch nh s a gì trong th  m c này. L u ý r ngể ạ ầ ả ỉ ử ư ụ ư ằ  trong th  m c này có t p tin R.java t  đ ng đư ụ ậ ự ộ ượ ạc t o ra, l u tr  các id tư ữ ươ  ng

ng v i t ng tài nguyên đ c đ nh nghĩa tr c nh   nh, chu i (string), layout

(file xml),… mà  ng d ng s  d ng.ứ ụ ử ụ

­ bin: ch a các tài nguyên khi  ng d ng đứ ứ ụ ược biên d ch, không c n thayị ầ  

đ i gì trong th  m c này.ổ ư ụ

­ libs: l u tr  các th  vi n third party đư ữ ư ệ ược s  d ng s  d ng. Thôngử ụ ử ụ  

thường n u b n c n dùng thêm các th  vi n third party, hãy t o riêng choế ạ ầ ư ệ ạ  mình m t user lib đ  s  d ng và không c n ph i đ a vào th  m c này.ộ ể ử ụ ầ ả ư ư ụ

­   res:   th   m c   này   l u   tr   khá   nhi u   tài   nguyên   mà   b n   c n   ph iư ụ ư ữ ề ạ ầ ả  

Trang 30

­ drawable­hdpi, drawable­ldpi, drawable­mdpi, drawable­xhdpi, drawable­xxhdpi: l u tr  các file  nh có cùng n i dung nh ng có đ  phân gi i và kíchư ữ ả ộ ư ộ ả  

thước khác nhau, ph c v  cho m c đích hi n th  trên các lo i màn hình cóụ ụ ụ ể ị ạ  kích thước và đ  phân gi i khác nhau sao cho trông  ng d ng luôn hi n thộ ả ứ ụ ể ị 

gi ng nhau trên các lo i màn hình này. Chúng ta s  đi sâu tìm hi u v  các thố ạ ẽ ể ề ư 

m c này trong các bài h c k  ti p.ụ ọ ế ế

­ layout: L u tr  layout c a  ng d ng dư ữ ủ ứ ụ ướ ịi đ nh d ng xml.ạ

­ menu: L u tr  các lo i menu c a  ng d ng dư ữ ạ ủ ứ ụ ướ ịi đ nh d ng xml.ạ

­ values, values­v11, values­v14: l u tr  các h ng s  đ nh nghĩa s n choư ữ ằ ố ị ẵ  

2.2: Tên gói  ng d ng Android (Package name) có đ c đi m gì?ứ ụ ặ ể

2.3: Trình bày c u trúc cây th  m c trong Android.ấ ư ụ

Yêu c u đánh giá

­   Trình   bày   c u   trúc   th   m c   c a   project   Android   Nêu   ý   nghĩa   t p   tinấ ư ụ ủ ậ  AndroidManifest.xml

­ Trình bày các bước cài đ t môi trặ ường phát tri n Android trên Eclipse.ể

­ Nêu ý nghĩa và ch c năng c a chứ ủ ương trình LogCat

­ Trình báy các bướ ạc t o m t project Android.ộ

Trang 31

L P TRÌNH JAVA C  B NẬ Ơ Ả

Gi i thi u:ớ ệ

Java không còn là m t ngôn ng  xa l  v i c ng đ ng l p trình. V i vi cộ ữ ạ ớ ộ ồ ậ ớ ệ  

có l i th  khi đợ ế ược sinh ra v i tiêu chí “Write Once, Run Anywhere” (WORA)ớ  – t c là “Vi t m t l n, th c thi kh p n i”, cùng v i vi c liên ti p c i ti n t cứ ế ộ ầ ự ắ ơ ớ ệ ế ả ế ố  

đ  biên d ch chộ ị ương trình đ  t ng bể ừ ước thu h p kho ng cách v  th i gianẹ ả ề ờ  biên d ch v i các ngôn ng  C, C++,… Java đã th c s  th  hi n vai trò quanị ớ ữ ự ự ể ệ  

tr ng c a mình trong gi i chuyên môn. Bài h c này s  cung c p các ki n th cọ ủ ớ ọ ẽ ấ ế ứ  

l p trình Java c  b n làm n n t ng đ  b t đ u l p trình Android.ậ ơ ả ề ả ể ắ ầ ậ

M c tiêu:

­ Trình bày các khái ni m c  b n v  đ i tệ ơ ả ề ố ượng, phương th c, l p trongứ ớ  ngôn ng  l p trình Java.ữ ậ

­ Thi t k  và cài đ t đế ế ặ ược các l p trong Java theo đúng nguyên t cớ ắ  

hướng đ i tố ượng

­ Thi t k  và cài đ t đế ế ặ ược các chương trình theo nguyên t c hắ ướng đ iố  

tượng

­ Có t  duy, sáng t o, đ c l p và làm vi c nhóm.ư ạ ộ ậ ệ

­ Đ m b o an toàn cho ngả ả ười và thi t b ế ị

N i dung:

1. Đ nh nghĩa đ i tị ố ượng

Các đ i tố ượng là đi m c t lõi đ  hi u v  công ngh  hể ố ể ể ề ệ ướng đ i tố ượng. Bây gi  hãy nhìn xung quanh và b n s  th y đờ ạ ẽ ấ ượ ấc r t nhi u ví d  v  đ iề ụ ề ố  

Trang 32

Đ i  tố ượng trong th  gi i  th c có  chung  hai   đ c   đi m:  T t  c   đ uế ớ ự ặ ể ấ ả ề  

có tr ng thái ạ  và hành vi. Chó có tr ng thái (tên, màu s c, lo i, tình tr ng đóiạ ắ ạ ạ  hay no) và hành vi (s a, tha đ  v t đ n, v y đuôi). Xe đ p cũng có tr ng tháiủ ồ ậ ế ẫ ạ ạ  (bánh răng, nh p bàn đ p hi n t i, t c đ  hi n t i) và hành vi (thay đ i bánhị ạ ệ ạ ố ộ ệ ạ ổ  răng, thay đ i nh p bàn đ p, s  d ng phanh). Vi c xác đ nh tr ng thái và hànhổ ị ạ ử ụ ệ ị ạ  

vi c a các đ i tủ ố ượng trong th  gi i th c là m t cách tuy t v i đ  b t đ uế ớ ự ộ ệ ờ ể ắ ầ  nghĩ đ n các khái ni m c a l p trình hế ệ ủ ậ ướng đ i tố ượng

Hình 3.1: mô hình h ng đ i t ng shape ướ ố ượ

2. Khai báo l p đ i tớ ố ượng (Class)

2.1. Khái ni m l p đ i tệ ớ ố ượng

Chúng ta có th  xem ể l p ớ nh  ư m t khuôn ộ m u ẫ (template) c a đ i tủ ố ượ  ng(Object). Trong đó bao g m d  ồ ữ li u ệ c a đ i tủ ố ượng (fields hay properties) và các  phương  th c (methods) tác đ ng   ứ ộ lên  thành ph n d  ầ ữ li u  ệ đó g i  ọ là  các 

phương th c c aứ ủ  l p.ớ Các đ i tố ượng được xây d ng ự b i ở các l p ớ nên được g iọ  

là các th  ể hi n ệ c a ủ l p ớ (class instance)

Trang 33

2.2. Khai báo và đ nh nghĩa l pị ớ

class <ClassName>

{

<kiểu dữ liệu> <field_1>;

<kiểu dữ liệu> <field_2>; constructor

Ví d

   ụ    :  

class xemay

{ public String nhasx;

public String model;

private float chiphisx; protected int thoigiansx;

public static int sobanhxe = 2;

}

2.3. T o đ i tạ ố ượng c a l pủ ớ

ClassName objectName = new ClassName();

Ví d : ụ  M t l p đ i tộ ớ ố ượng có tên Xemay, t o m t đ i tạ ộ ố ượng l p Xemayớ  

Trang 34

<tiền tố> <kiểu dữ liệu> field1;

// …

}

Đ  xác ể đ nh ị quy n ề truy xu t c a các đ i tấ ủ ố ượng khác đ i ố v i vùng ớ d  ữ li uệ  

c a ủ l p ớ ngườ ta thi  ường dùng 3 ti n ề tố sau:

public: có th  truy xu t ể ấ t  ừ t t c  các đ i tấ ả ố ượ  khácng

private: m t ộ l p ớ không th  truy xu t ể ấ vùng private c a 1 ủ l pớ  khác

protected:  vùng  protected c a 1  ủ l p  ớ ch  cho phép b n thân  ỉ ả l p  ớ đó  và 

nh ng ữ l p ớ d n xu t ẫ ấ t  ừ l p  ớ đó truy c p  đ n.ậ ế

Trang 35

   ụ    :  

public class xemay

{ public String nhasx;

public String model;

private float chiphisx; protected int thoigiansx;

// so luong so cua xe may: 3, 4 so protected int so;

// sobanhxe là biến tĩnh có giá trị là 2 trong tất cả

// các thể hiện tạo ra từ lớp xemay public static int sobanhxe = 2;

Thu c  ộ tính  “thoigiansx”, so có th  truy c p để ậ ượ t  c   ừ các đ i tố ượng có 

ki u ể “xemay” và các đ i tố ượng c a các ủ l p ớ con d n xu t ẫ ấ t  ừ l pớ  “xemay”

* L u ýư : Thông th ng đ  an toàn cho ườ ể vùng d  ữ li u ệ c a các đ i tủ ố ượ  ng

ngườ ta tránh dùng ti n i  ề t  ố public,  mà thường ch n ti n  ọ ề t  ố private đ  ngănể  

c n ả quy n ề truy c p đ n ậ ế vùng d  ữ li u ệ c a m t  ủ ộ l p ớ t  ừ các phương th c bênứ  ngoài l pớ  đó

2.5. Kh i t o hàm và phở ạ ương th c l p (method)ứ ớ

Hàm hay phương th c (method) trong ứ Java  là  kh i   ố l nh ệ th c ự hi n ệ các 

ch c ứ năng, các hành vi x  ử lý c a ủ l p ớ lên vùng d  ữ li u.ệ

Trang 36

Đ  xác ể đ nh ị quy n ề truy xu t c a các đ i tấ ủ ố ượng khác đ i ố v iớ  các phươ  ng

th c c a ứ ủ l p ớ ngườ ta thi  ường dùng các ti n ề tố sau:

public: phương th c có th  truy c p đứ ể ậ ượ t  c ừ bên ngoài l p ớ khai báo

protected: có th  truy c p để ậ ượ t  c  ừ l p ớ khai báo  và nh ng ữ l p ớ d n xu tẫ ấ  

từ nó

private: ch  đỉ ược truy c p bên trong b n thân ậ ả l p ớ khai báo

static: phương th c ứ l p ớ dùng chung cho t t c  các th  ấ ả ể hi n ệ c a ủ l p, ớ có nghĩa là phương th c đó có th  đứ ể ược  th c ự hi n ệ k  c  khi không có đ i tể ả ố ượ  ng

c a ủ l p ớ ch a ứ phương th cứ  đó

final: phương th c có ti n ứ ề t  ố này không được khai báo ch ng   các ồ ớ l p

d nẫ  xu t.ấ

abstract: phương th c không c n cài đ t (không  có ph n source code),ứ ầ ặ ầ  

s  đẽ ượ hi n c  ệ th c trong các ự l p ớ d n xu t ẫ ấ t  ừ l pớ  này

synchoronized: dùng đ  ngăn các tác đ ng c a các đ i tể ộ ủ ố ượng khác lên đ iố  

tượng đang xét trong khi đang đ ng ồ b  ộ hóa. Dùng trong l p ậ trình miltithreads

<ki u tr  v >:  ể ả ề có th  ể là ki u void, ki u ể ể c  s  hay m tơ ở ộ  l p.ớ

<Tên ph ươ ng th c>:  ứ đ t theo qui ặ ướ gi ng c  ố tên bi n.ế

<danh sách thông s >:  ố có thể r ngỗ

* L uư  ý: Thông th ng trong m t ườ ộ l p ớ các phương  th c  nên đứ ược khai báo dùng t  ừ khóa public, khác v i vùng ớ d  ữ li u ệ thường là dùng ti n ề t  ố private 

vì m c ụ đích an toàn. Nh ng ữ bi n ế n m trong m t ằ ộ phương th c c a ứ ủ l p là ớ các 

bi n ế c c ụ b  (local) và ộ nên đượ kh ia c  ở t o sau khi khaiạ  báo

Ví d :

public class xemay

Trang 37

public String nhasx;

public String model;

private float chiphisx; protected int thoigiansx;

protected int so;

public static int sobanhxe = 2;

public float tinhgiaban()

{

return 1.5 * chiphisx;

}

}

2.6. Kh i t o đ i tở ạ ố ượng (constructor)

Contructor th t ra ậ là m t lo i ộ ạ phương th c đ c ứ ặ bi t ệ c a ủ l p.ớ   Constructor dùng g i ọ t  ự đ ng khi kh i t o m t th  ộ ở ạ ộ ể hi n ệ c a ủ l p, ớ có th  dùng đ  kh i gánể ể ở  

nh ngữ   giá  tr  ịmăc  đ nh.ị   Các constructor không có giá tr  tr  v , ị ả ề và có th  cóể  tham s  ho c không có thamố ặ  s ố

Constructor ph i có ả cùng tên v i l p ớ ớ và được g i đ n dùng ọ ế t  ừ khóa new

N u m t  ế ộ l p  ớ không có constructor thì  java  s  cung c p cho  ẽ ấ l p  ớ m tộ  constructor m cặ   đ nh ị (default  constructor).  Nh ng ữ thu c ộ tính, bi n ế c a ủ l p ớ sẽ 

được  kh i t o  ở ạ b i ở các giá  tr  ịm c đ nh ặ ị (s : thố ường là giá tr  0, ị ki u lu n ể ậ lý là giá tr  ịfalse, ki u ể đ i tố ượng giá tr  ịnull, …)

* L u ýư : thông th ng đ  an toàn, d  ườ ể ễ ki m ể soát và làm ch  ủ mã ngu nồ  

chương trình chúng ta nên khai báo m t constructor cho ộ l p.ớ

Trang 38

Bi n ế this là m t ộ bi n ế ẩ t n n  ồ t i trong t t c  các ạ ấ ả l p ớ trong ngôn ng  ữ Java. 

M t  ộ class trong  Java luôn  t n  ồ t i m t  ạ ộ bi n ế this, bi n ế this được s  d ng đử ụ ể tham chi u đ n b n thân ế ế ả l p ớ ch aứ  nó trong khi ch y chạ ương trình

Ví d

   ụ    :  

<tiền tố> class A

{

<tiền tố> int <field_1>;

<tiền tố> String <field_2>;

<tiền tố> <kiểu trả về> <method_2>()

{

this.method_1() // …

public class xemay

{ // khai báo fields …

Trang 39

public float tinhgiaban()

C  ch  đóng gói trong ơ ế l p ậ trình hướng đ i tố ượng giúp cho các đ i tố ượ  ng

d u đi m t ph n các chi ti t cài đ t, cũng ấ ộ ầ ế ặ nh  ư ph n d  ầ ữ li u ệ c c ụ b  ộ c a nó, ủ và 

ch  công  ỉ b  ố ra ngoài  nh ng ữ gì   c n công  ầ b  ố đ  trao đ i  ể ổ v i  ớ các đ i tố ượ  ngkhác. Hay chúng ta  có th  nói đ i tể ố ượng là m t thành ộ t  ố h  ỗ tr  ợ tính đóng gói

Đ n ơ v  ịđóng gói c  b n c a ngôn ng  ơ ả ủ ữ java là class. M t  ộ class đ nh nghĩaị  hình th c c a m t đ i tứ ủ ộ ố ượng. M t ộ class đ nh ị rõ nh ng ữ thành ph n d  ầ ữ li u ệ và các đo n ạ mã cài đ t  các thao  tác  ặ x  ử lý trên các đ i tố ượng d  ữ li u ệ đó. Java dùng  class   đ  xây   d ng  ể ự nh ng ữ đ i tố ượng  Nh ng ữ đ i tố ượng  là nh ng ữ thể 

hi n ệ (instances) c a m tủ ộ  class

M t ộ l p ớ bao g m thành ph n d  ồ ầ ữ li u ệ và thành ph n ầ x  ử lý. Thành ph n dầ ữ 

li u ệ c a m t ủ ộ l p ớ thường bao g m các ồ bi n ế thành viên và các bi n ế th  ể hi n ệ c aủ  

l p. ớ Thành ph n ầ x  ử lý là các thao tác trên các thành ph n d  ầ ữ li u, ệ thường trong java  người g i  ọ là  phương  th c  ứ Phương  th c  ứ là  m t thu t ng  ộ ậ ữ hướng  đ iố  

tượng trong java, trong C/C++ ngườ ta thi  ường dùng thu t  ng   ậ ữ là hàm

3.2. Khái ni m đa hình (polymorphism)

Tính  đa  hình  cho phép cài đ t các  ặ l p  ớ d n xu t khác  ẫ ấ nhau  t  ừ m t  ộ l pớ  ngu n. M t đ i tồ ộ ố ượng có th  có ể nhi u ề ki u ể khác nhau g i ọ là tính đa hình

Trang 40

// Phần tử đầu tiên của mảng arr_Object[0] tham // chiếu đến 1 đối tượng kiểu B_Object dẫn xuất // từ A_Object

arr_Object[0] = var_1; A_Object var_2;

for (int i=0; i<2; i++) {

var_2 = arr_Object[i]; var_2.method_1();

} }

}

Vòng l p ặ for trong đo n ạ chương trình trên:

V i i = 0 thì ớ bi n ế var_2 có ki u ể là B_Object, và l nh ệ var_2.method_1() sẽ 

g i th c ọ ự hi n ệ phương th c method_1 c a ứ ủ l pớ  B_Object

V i i = 1 thì ớ bi n ế var_2 có ki u ể là A_Object, và l nh ệ var_2.method_1() sẽ 

g i th c ọ ự hi n ệ phương th c method_1 c a ứ ủ l pớ  A_Object

Trong  ví  d   trên   đ i   tụ ố ượng   var_2   có   th  ể nh n   ki u   A_Object  ậ ể hay B_Object. Hay nói các khác, m t  ộ bi n  ế đ i tố ượng  ki u A_Object  ể nh  ư var_2 trong ví d  trên có th  tham ụ ể chi u ế đ n b t k  đ i tế ấ ỳ ố ượng nào c a b t k  ủ ấ ỳ l pớ  

Ngày đăng: 01/11/2020, 23:32

TỪ KHÓA LIÊN QUAN

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

TÀI LIỆU LIÊN QUAN

🧩 Sản phẩm bạn có thể quan tâm

w