ỦY BAN NHÂN DÂN TỈNH BR – VT
TRƯỜNG CAO ĐẲNG NGHỀ
GIÁO TRÌNH
MÔ ĐUN LẬP TRÌNH ANDROID CƠ BẢN
NGHỀ LẬP TRÌNH MÁY TÍNH
TRÌNH ĐỘ CAO ĐẲNG
Ban hành kèm theo Quyết định số: 01/QĐCĐN, ngày 04 tháng 01 năm 2016
của Hiệu trưởng trường Cao đẳng nghề tỉnh Bà Rịa – Vũng Tàu
Bà Rịa – Vũng Tàu, năm 2016
TUYÊN BỐ BẢN QUYỀN
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.
LỜI GIỚI THIỆU
Ngày nay hệ điều hành Android đã trở nên quá quen thuộc với số lượng
thiết bị sử dụng đứng đầ, chiếm gần 50% số lượng người dùng và không
ngừng tăng trưởng. Vậy điều gì đã khiến cho sản phẩm của gã khổng lồ
google thành công đến vậy? Hay trước đó, nó đã được ra đời ra sao và trưởng
thành thế nào? Bài viết này sẽ cung cấp những thông tin tổng quan về hệ
đ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
Nguyễn Lâm
MỤC LỤC
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.
‐ Sử dụng được các loại dữ liệu như XML, JSON để truyền tải dữ liệu
qua mạng.
‐ Sử dụng được cơ sở dữ liệu cục bộ SQLite, SharedPreference.
‐ Tương tác được với Webservice để gửi và nhận dữ liệu từ máy chủ.
‐ Xây dựng được các ứng dụng liên quan đến bản đồ, định vị toàn cầu
GPS.
‐ Xây dựng được các ứng dụng đa phương tiện (Camera, Media,
Gallery).
‐ Xây dựng được các ứng dụng tích hợp điện thoại, dịch vụ tin nhắn.
‐ Đảm bảo các biện pháp an toàn cho máy tính, vệ sinh công nghiệp.
Nội dung của mô đun:
5
TT
Tên các bài trong mô đun
Thời gian
Hình thức
giảng dạy
1
Giới thiệu về Android
2
Lý thuyết
2
Cấu hình môi trường phát triển Android
3
Tích hợp
3
Lập trình Java cơ bản
5
Tích hợp
4
Sử dụng các kiểu layout
5
Tích hợp
5
Sử dụng các View cơ bản
10
Tích hợp
6
Sử dụng Activity và Intent
15
Tích hợp
7
Sử dụng Fragment
5
Tích hợp
8
Xoay màn hình
5
Tích hợp
9
Tạo Action Bar
5
Tích hợp
Kiểm tra bài 4,5,7,9
5
Tích hợp
10 Sử dụng các View Danh sách
10
Tích hợp
11 Hiển thị hình ảnh
5
Tích hợp
12 Thiết kế menu
5
Tích hợp
13 Sử dụng ClockView và Webview
5
Tích hợp
14 Lưu trữ và tải Preferences
5
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
5
Tích hợp
17 Xây dựng ứng dụng nh ắn tin SMS và
gửi Email
5
Tích hợp
18 Xây dựng ứng dụng Google Maps
15
Tích hợp
19 Truy cập Web Service s ử d ụng HTTP
5
Tích hợp
20 Lập trình JSON Service và Socket
5
Tích hợp
5
Tích hợp
Kiểm tra bài 10,11,12,13,14,16
Kiểm tra bài 18,19,20
6
Tổng
150
7
BÀI 1
GIỚI THIỆU VỀ ANDROID
Giới thiệu:
Như các bạn đã biết Android là hệ điều hành di động phổ biến nhất,
cũng như phát triển nhanh nhất hiện nay. Mặc dù song hành cùng nó còn có
các hệ điều hành khác như IOS hay Windows Phone nhưng tiềm năng của
Android được các chuyên gia đánh giá rất cao. Chính vì thế, các nhà phát triển
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
8
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 11 hiển thị các phiên bản khác nhau của Android.
9
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.
3D desktop với các tiện ích mới.
Cải tiến multitasking.
Những tính năng mới của web browser, như là tabbed browsing, form
autofill, bookmark synchronization, and private browsing.
Hỗ trợ multicore processors
Các application được viết bởi version trước 3.0 đều tương thích với các
thiết bị đang sử dụng Android 3.0. Các ứng dụn Android 3.0 mà sử dụng các
tính năng mới trong phiên bản 3.0 sẽ không chạy được trên các thiết bị dùng
Android cũ hơn. Để đảm bảo rằng các ứng dụng Android có thể chạy trên tất
10
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
thiết bị di động chạy bằng pin với bộ nhớ và CPU hạn chế.
11
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
4. Lịch sử hình thành Android
Google bắt đầu mua lại và đầu tư cho Android vào năm 2005.
Cùng với OHA (Open Handset Alliance) công bố HĐH Android cùng
với công cụ phát triển ứng dụng.
Cải tiến và nhanh chóng đáp ứng yêu cầu người dùng.
12
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 GState, Toshiba
Thrive, HTC One, Samsung Galaxy S4,…
Hình 1.3: Điện thoại sử dụng Android
Hình 1.4: Máy tính bảng sử dụng Android
13
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 64bit đầ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ì?
14
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?
15
BÀI 2
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ị.
Nội dung:
1. Cài đặt Eclipse và Android SDK
* Bước 1: Tải các gói:
+ JDK: tải bản Java SE Development Kit 8 tại />+ Eclipse: tải bản Eclipse IDE for Java EE Developers tại
.
16
+ Android SDK: tải tại />* 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
17
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
18
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)
Windows: Cần cài đặt USB driver.
19
+ 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:
20
+ Kết nối thiết bị với PC thông qua USB
+ Bật ‘USB debugging’ trên thiết bị bằng cách: Vào Setting >
Application > Development > kích hoạt USB debugging.
Hình 2.6: Bật chế độ USB debuging
4. Sử dụng công cụ adb
Android debug brigde (adb) là công cụ cho phép:
+ 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.
21
Hình 2.7: Giao diện command line sử dụng công cụ adb
Cú pháp lệnh adb:
+ adb [d|e|s <serialNumber>] <command>
+ [d] Directs command to the only connected USB device
+ [e] Directs command to the only running emulator
+ [s] Directs command to the USB device or emulator with the given
serial number
Truy vấn Emulator/device đối tượng: adb devices
Cài đặt ứng dụng: adb install
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
22
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
23
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
24
* 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
* Bước 4: Chọn biểu tượng (icon) cho ứng dụng
25