Tải bản đầy đủ (.pdf) (132 trang)

Giáo trình lập trình thiết bị di động 1 (nghề ứng dụng phần mềm trình độ cao đẳng)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (2.56 MB, 132 trang )

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
Trong thập kỷ vừa qua, Android đã trở thành một nền tảng phổ biến hơn bao giờ
hết với hơn 1.4 tỷ người dùng và 80% số lượng thiết bị di động sử dụng hệ điều hành
Android. Con số ấn tượng này cũng cho thấy nhu cầu phát triển các ứng dụng chạy trên
hệ điều hành Android. Lập trình ứng dụng dần trở thành công việc với cơ hội nghề
nghiệp rộng mở và mức lương hấp dẫn.
Lập trình thiết bị di động 1 là một trong những mô đun cơ sở của nghề Ứng dụng
phần mềm được biên soạn dựa theo Bài trình đào tạo đã xây dựng và ban hành năm 2021
của trường Cao đẳng nghề Cần Thơ dành cho nghề Ứng dụng phần mềm hệ Cao đẳng.
Khi biên soạn, nhóm biên soạn đã dựa trên kinh nghiệm thực tế giảng dạy, tham
khảo đồng nghiệp, tham khảo các giáo trình hiện có và cập nhật những kiến thức mới
có liên quan để phù hợp với nội dung Bài trình đào tạo và phù hợp với mục tiêu đào tạo,
nội dung được biên soạn gắn với nhu cầu thực tế.
Nội dung giáo trình được biên soạn với lượng thời gian đào tạo 45 giờ gồm có:
Bài 1 MĐ28-01: Tổng quan về lập trình android và mơi trường phát triển
Bài 2 MĐ28-02: Các thành phần ứng dụng android
Bài 3 MĐ28-03: Các điều khiển cơ bản
Bài 4 MĐ28-04: Tài nguyên ứng dụng trong android
Bài 5 MĐ28-05: Quản lý bộ nhớ thiết bị và xây dựng giao diện với
fragment
Mặc dù đã cố gắng tổ chức biên soạn để đáp ứng được mục tiêu đào tạo nhưng
khơng tránh được những thiếu sót. Rất mong nhận được sự đóng góp ý kiến của các
thầy, cơ và bạn đọc để nhóm biên soạn sẽ điều chỉnh hoàn thiện hơn.
Cần Thơ, ngày tháng năm 2021


Tham gia biên soạn
1. Chủ biên Nguyễn Hoàng Vũ

2


MỤC LỤC
LỜI GIỚI THIỆU ......................................................................................................... 2
MỤC LỤC ...................................................................................................................... 3
GIÁO TRÌNH MÔN HỌC/MÔ ĐUN ......................................................................... 7
BÀI 1: TỔNG QUAN VỀ LẬP TRÌNH ANDROID VÀ MƠI TRƯỜNG PHÁT
TRIỂN ............................................................................................................................ 9
Mã BÀI: MĐ28-01......................................................................................................... 9
1. Tổng quan android .................................................................................................. 9
1.1. Hệ điều hành Android .......................................................................................... 9
1.2 Tại sao lập trình trên Android ............................................................................. 14
1.2.1 Xu thế phát triển công nghệ di động ................................................................ 14
1.2.2. Thị trường thiết bị Android ............................................................................. 17
1.2.3. Nhu cầu tuyển dụng lập trình viên Android.................................................... 17
2. KIẾN TRÚC ANDROID ...................................................................................... 17
3. MÔI TRƯỜNG PHÁT TRIỂN ỨNG DỤNG ANDROID .................................. 19
3.1 Giới thiệu Java JDK, Android SDK, Android Studio......................................... 19
3.2 Thiết lập môi trường phát triển: .......................................................................... 20
3.3 Tạo ứng dụng đầu tiên ........................................................................................ 30
3.3.1 Khởi tạo dự án ................................................................................................. 30
3.3.2 Cấu trúc dự án ................................................................................................. 33
3.3.3. AndroidManifest ............................................................................................. 37
3.4. Cập nhật Android API ....................................................................................... 38
3.5. Cài đặt và sử dụng Android Virtual Device (AVÍ DỤ) ...................................... 39
Bài tập của học viên .................................................................................................. 42

Hướng dẫn thực hiện................................................................................................. 42
Những trọng tâm cần chú ý ....................................................................................... 42
Bài mở rộng và nâng cao .......................................................................................... 42
Yêu cầu đánh giá kết quả học tập ............................................................................. 43
BÀI 2: CÁC THÀNH PHẦN ỨNG DỤNG ANDROID .......................................... 44
Mã BÀI: MĐ28 - 02..................................................................................................... 44
1. Các thành phần trong ứng dụng Android.............................................................. 44
1.1. Activity .......................................................................................................... 44
1.2. Intent .............................................................................................................. 44
1.3. View............................................................................................................... 44
1.4. Broadcast Receiver ........................................................................................ 45
1.5. Service ........................................................................................................... 45
1.6. Content Provider ............................................................................................ 45
1.7 Context............................................................................................................ 45
1.8. Notification .................................................................................................... 46
2. TƯƠNG THÍCH THIẾT BỊ ................................................................................. 46
3. ACTIVITY VÀ ĐỘ ƯU TIÊN ỨNG DỤNG ...................................................... 47
3.1. Xây dựng Activity ......................................................................................... 47
3.2. Quản lý trạng thái Activity (Managing the Activity Lifecycle) .................... 48
3.3. Vòng đời của Activity (Activity Lifecycle) .................................................. 49
3.4. Độ ưu tiên trong ứng dụng ............................................................................ 50
Bài tập của học viên .................................................................................................. 51
Hướng dẫn thực hiện................................................................................................. 51
3


Những trọng tâm cần chú ý: ...................................................................................... 55
Bài mở rộng và nâng cao ........................................................................................... 55
Yêu cầu đánh giá kết quả học tập ..............................................................................55
BÀI 3 CÁC ĐIỀU KHIỂN CƠ BẢN ..........................................................................57

Mã BÀI: MĐ28 -03 ......................................................................................................57
1. Giao diện người dùng ............................................................................................ 57
1.1. Layout ........................................................................................................... 57
1.1.1. Frame Layout ............................................................................................. 57
1.1.2. Linear Layout ............................................................................................. 59
1.1.3. Table Layout .............................................................................................. 59
1.1.4. Relative Layout .......................................................................................... 60
2. View và Viewgroup .............................................................................................. 61
2.2. Các thuộc tính của View ............................................................................... 63
2.2.1. Id: ............................................................................................................... 63
2.2.2. Thuộc tính vị trí: ........................................................................................ 63
3. Các điều khiển cơ bản ........................................................................................... 64
3.1. TextView:...................................................................................................... 64
3.2. EditText:........................................................................................................ 66
3.3. Button: ........................................................................................................... 66
3.4. Checkbox: ..................................................................................................... 67
3.5. RadioButton: ................................................................................................. 68
3.6. ToggleButton: ............................................................................................... 68
3.7. Switch: .......................................................................................................... 68
4. Kiểm tra lỗi và tối ưu lại giao diện ........................................................................69
Bài tập của học viên ..................................................................................................70
Hướng dẫn thực hiện .................................................................................................70
Những trọng tâm cần chú ý: ...................................................................................... 71
Bài mở rộng và nâng cao ........................................................................................... 71
Yêu cầu đánh giá kết quả học tập ..............................................................................72
BÀI 4 TÀI NGUYÊN ỨNG DỤNG TRONG ANDROID ........................................73
Mã BÀI: MĐ28 - 04 .....................................................................................................73
1. TỔNG QUAN .......................................................................................................73
1.1. Tài nguyên..................................................................................................... 73
1.2. Định nghĩa tài nguyên ................................................................................... 74

2. TÍNH TƯƠNG THÍCH ......................................................................................... 76
3. TRUY XUẤT TÀI NGUYÊN ..............................................................................77
3.1. Lớp R: ........................................................................................................... 77
3.2. Tài nguyên Alias ........................................................................................... 77
4. CÁC TÀI NGUYÊN ỨNG DỤNG CƠ BẢN....................................................... 78
4.1. String ............................................................................................................. 78
4.2. Bool o Cú pháp ............................................................................................. 79
4.3. Color.............................................................................................................. 79
4.4. Id ................................................................................................................... 79
4.5. Dimen ............................................................................................................ 80
4.6. Integer ........................................................................................................... 80
4.7. Integer ........................................................................................................... 81
4.8. Typed Array .................................................................................................. 81
5. CÁC TÀI NGUYÊN ỨNG DỤNG NÂNG CAO.................................................82
4


5.1 Tài nguyên hình ảnh ....................................................................................... 82
5.1.1. Thư mục lưu trữ: ......................................................................................... 82
5.1.2. Định dạng: .................................................................................................. 82
5.1.3. Truy xuất: ................................................................................................... 82
5.2. Các dạng tài nguyên hình ảnh ....................................................................... 82
5.2.1. Bitmap ......................................................................................................... 82
5.3. Shape ............................................................................................................. 83
5.4. LayerList ........................................................................................................ 84
5.5. StateList ......................................................................................................... 85
5.6. LevelList ........................................................................................................ 86
5.7. Transition ....................................................................................................... 86
5.8. Inset ............................................................................................................... 87
5.9. Clip ................................................................................................................ 87

5.10. Scale............................................................................................................. 88
5.11. NineoPatch................................................................................................... 88
6. INTENT ................................................................................................................ 89
6.1. Khái niệm về Intent ....................................................................................... 89
6.1.1 Cơ chế hoạt động ......................................................................................... 89
6.1.2. Xây dựng và truy xuất Intent ...................................................................... 89
6.2. Intent filter ..................................................................................................... 91
6.2.1. Mô tả ........................................................................................................... 91
6.2.2. Quy tắc thiết lập .......................................................................................... 92
6.2.3. Xây dựng IntentFilter ................................................................................. 92
6.2.3.1. Action: ..................................................................................................... 92
2.3.2. Data: ........................................................................................................... 92
6.2.3.3. Category .................................................................................................. 93
Bài tập của học viên .................................................................................................. 93
Hướng dẫn thực hiện................................................................................................. 94
Những trọng tâm cần chú ý: ..................................................................................... 94
Bài mở rộng và nâng cao .......................................................................................... 95
Yêu cầu đánh giá kết quả học tập ............................................................................. 95
BÀI 5: QUẢN LÝ BỘ NHỚ THIẾT BỊ VÀ XÂY DỰNG GIAO DIỆN VỚI
FRAGMENT ............................................................................................................... 96
1. Bộ quản lý Asset ................................................................................................... 96
1.1 Giới thiệu ........................................................................................................ 96
1.2. Đọc dữ liệu Asset .......................................................................................... 97
2. Shared Preferences ................................................................................................ 99
2.1. Giới thiệu ....................................................................................................... 99
2.2. Lưu trữ ........................................................................................................... 99
2.3. Truy xuất...................................................................................................... 100
3. Bộ nhớ thiết bị .................................................................................................... 101
3.1. Bộ lưu trữ trong ........................................................................................... 101
3.2. Bộ lưu trữ ngoài ........................................................................................... 101

4. các điều khiển hiển thị danh sách ....................................................................... 103
5. Các dạng Adapter ................................................................................................ 103
5.1. BaseAdapter................................................................................................. 103
5.2. SimpleCursorAdapter .................................................................................. 104
6. CÁC ĐIỀU KHIỂN DANH SÁCH .................................................................... 104
5


6.1. AbsListView ............................................................................................... 104
6.2. Listview ....................................................................................................... 104
6.3. GridView ..................................................................................................... 107
6.4. Spinner ........................................................................................................ 108
6.5. Tạo Custom ListView ................................................................................. 109
6.6 AutoCompleteTextView .............................................................................. 113
6.7. MultiAutoCompleteTextView .................................................................... 114
7. Giao diện với Fragment .......................................................................................115
7.1 Khái quát ...................................................................................................... 115
7.2. Giao diện ..................................................................................................... 116
7.3. Vòng đời củ một Fragment ......................................................................... 117
7.4. Lưu trữ Fragment (BackStack) ................................................................... 118
8. Xây dựng và sử dụng Fragment ..........................................................................119
8.1. Thực hiện xây dựng Fragment: ................................................................... 119
8.2. Sử dụng Fragment ....................................................................................... 119
Câu hỏi và bài tập thực hành ...................................................................................121
Hướng dẫn thực hiện ...............................................................................................122
Những trọng tâm cần chú ý: ....................................................................................129
Bài mở rộng và nâng cao .........................................................................................130
Yêu cầu đánh giá kết quả học tập ............................................................................130
TÀI LIỆU THAM KHẢo ..........................................................................................132


6


GIÁO TRÌNH MƠN HỌC/MƠ ĐUN
Tên mơn học/mơ đun: LẬP TRÌNH THIẾT BỊ DI ĐỘNG 1
Mã môn học/mô đun: MĐ 28
Vị trí, tính chất, ý nghĩa và vai trị của mơ đun
 Vị trí của mơ đun: Mơ đun được bố trí thực hiện sau khi sinh viên đã học xong các
mơ đun, Mạng máy tính, Cơ sở dữ liệu, Cấu trúc dữ liệu và giải thuật, Lập trình căn
bản, lập trình trực quan, lập trình Java sinh viên có thể học song song với các môn
học, mô đun chuyên môn nghề như: Kiểm thử phần mềm, Công nghệ Mã nguồn
mở, Lập trình Web với PHP và MySQL, Thiết kế Web với ASP.NET, Thiết kế
website thương mại ...
 Tính chất của mô đun: Là mô đun chuyên môn nghề bắt buộc trong chương trình
đào tạo cao đẳng Ứng dụng phần mềm
 Ý nghĩa, vai trị của mơ đun: Lập trình thiết bị di động 1 là một mô đun quan trọng
trong chương trình đào, thơng qua việc, giúp sinh viên tạo ra ứng dụng cho người
sử dụng giúp hiện thực hóa ý tưởng của lập trình viên giúp lập trình viên tạo ra ứng
dụng là cầu nối giao tiếp với mọi người trên thế giới qua số lượng người download
và sử dụng ứng dụng của mình về cơng nghệ mới
Giáo trình “Lập trình thiết bị di động 1” nhằm cung cấp cho sinh viên những kiến
thức cơ bản về phương pháp và kỹ thuật đo lường các đại lượng vật lý.
Mục tiêu của môn học:
Sau khi học xong mô đun này học viên có năng lực
- Kiến thức:
 Trinh bày được sự phát triển của hệ điều hành Android
 Nêu được xu thế phát triển công nghệ di động
 Nắm được các kỹ thuật kiểm thử và chiến lược kiểm thử
 Nhu cầu tuyển dụng lập trình viên Android trong bối cảnh hiện nay
 Môi trường phát triển ứng dụng android.

 Trình bày các thành phần trong ứng dụng Android.
 Trình bày các điều khiển cơ bản, giao diện người dùng, kiểm tra lỗi và tối ưu
lại giao diện.
 Tài nguyên ứng dụng trong android, cách truy xuất tài nguyên
 Quản lý bộ nhớ thiết bị và xây dựng giao diện với fragment, Shared
Preferences, các điều khiển danh sách
- Kỹ năng:
 Cài đặt Android Studio
 Cài đặt và sử dụng Android Virtual Device (AVD)
 Cập nhật Android API
 Tạo được các project theo yêu cầu
 Thực thi chương trình khi đã thiêt kế
 Thiết kế giao diện đồ họa hiện đại cho ứng dụng Android.
 Thành thạo kỹ năng lập trình, phát triển ứng dụng mobile trên Android.
7


 Thiết kế và phát triển các ứng dụng khai thác thông tin trên internet như mạng
thông tin, mạng xã hội, các dịch vụ chia sẻ trực tuyến, ...
 Nghiêm túc, tỉ mỉ, sáng tạo trong quá trình tiếp thu kiến thức và vận dụng vào
việc xây dựng và thực hiện các testplan cụ thể. Chủ động, tích cực tìm hiểu các
tài liệu và nguồn bài tập liên quan.
 Nghiêm túc, tỉ mỉ, sáng tạo trong quá trình tiếp thu kiến thức và vận dụng vào
việc xây dựng và thực hiện các testplan cụ thể. Chủ động, tích cực tìm hiểu các
tài liệu và nguồn bài tập liên quan.
- Năng lực tự chủ và trách nhiệm:
 Nghiêm túc, tỉ mỉ trong việc tiếp nhận kiến thức.
 Chủ động, tích cực trong thực hành và tìm kiếm nguồn bài tập liên quan.
 Rèn luyện tính tổ chức, khoa học, hệ thống, chính xác, cẩn thận.
Nội dung của mơ đun:

Thời gian (giờ)
Thực
Số
hành, thí
Tên các bài trong mơ đun
Tổng Lý
Kiểm
TT
nghiệm,
số
thuyết
tra
thảo luận,
bài tập
1 Bài 1: tổng quan về lập trình android và
8
3
5
mơi trường phát triển
2 Bài 2: các thành phần ứng dụng android
8
2
6
3 Bài 3 các điều khiển cơ bản
12
4
7
1
4 Bài 4 : Tài nguyên ứng dụng trong
8

3
5
android
5 Bài 5: Quản lý bộ nhớ thiết bị và xây
9
3
5
1
dựng giao diện với fragment
Tổng
45
15
28
2

8


BÀI 1: TỔNG QUAN VỀ LẬP TRÌNH ANDROID
VÀ MƠI TRƯỜNG PHÁT TRIỂN
Mã BÀI: MĐ28-01
Giới thiệu
Android là hệ điều hành trên nền tảng di động được phát triển dựa trên hệ điều
hành Linux bởi Google. Kể từ khi ra mắt, Android đã ngày càng trở nên phổ biến với
lượng người dùng ngày một tăng.
Các ứng dụng trên nền tảng này được phát triển sử dụng các ngơn ngữ lập trình
như Java hoặc Java. Việc trở thành nền tảng hệ điều hành di động phổ biến nhất giúp
đảm bảo nhu cầu đối với các nhà phát triển ứng dụng trên Android. Bên cạnh đó, với
đặc điểm là mã nguồn mở, Android sở hữu một hệ sinh thái đa dạng các nhà phát triển
ứng dụng.

Mục tiêu:
- Trình bày được nội dung tổng quan Lập trình thiết bị di động 1.
- Xây dựng ứng dụng đọc truyên trên smartphone
- Thiết kế và đưa ra các giải pháp kỹ thuật
- Trao đổi thông tin trực tiếp với người dùng về cầu dự án
- Tạo và thực hiện các kế hoạch đặt ra để đáp ứng sự thay đổi về yêu cầu hệ thống;
- Hiểu các phương thức truy cập hệ thống;
- Xác định được rủi ro và các mối đe dọa trên hệ thống;
- Có được tính chủ động, khoa học, cẩn thận, tỉ mỉ, chính xác.
Nội dung chính:
1. Tổng quan android
1.1. Hệ điều hành Android
- Năm 2003, Android Inc. được thành lập bởi Andy Rubin, Rich Miner, Nick Sears
và Chris White tại California.
- Năm 2005, Google mua lại Android Inc và bắt đầu nuôi ý tưởng tự sản xuất điện
thoại di động.
- Năm 2007, tổ chức OHA (open Handset Alliance) được thành lập với hơn 80
công ty trong lĩnh vực kỹ thuật điện tử bao gồm các công ty chuyên về phần cứng,
phân phối thiết bị di động đến các công ty phần mềm, sản xuất chất bán dẫn…
Có thể kể đến một số công ty nổi tiếng như Samsung, Motorola, LG, HTC,
ToMobile, Vodafone, ARM và Qualcomm…
- Năm 2008, Google ra mắt chiếc di động đầu tiên đồng thời open source bản SDK
(Software Development Kit) phiên bản 1.0.
- Năm 2010, Google khởi đầu dòng thiết bị Nexus với thiết bị đầu tiên của HTC là
Nexus one.
- Năm 2013, ra mắt loạt thiết bị phiên bản GPE.
- Năm 2014, Google công báo Android Wear, hệ điều hành dành cho các thiết bị
đeo được.
- Các phiên bản của hệ điều hành Android:


9


Hình 1.1. Các phiên bản hệ điều hành Android.

Phiên bản

API

Thời gian
phát hành

Android 1.0

1

10/2008

Android 1.1

2

02/2009

Android 1.5
Cupcake

3

05/2009


Đặc điểm nổi bật
Thanh thông báo kéo từ trên xuống, màn hình
chínhọphong phú, tích hợp chặt chẽ với Gmail,
giao diện đơn giản nhưng khá đẹp mắt thời bấy
giờ.
Tải và cài đặt bản cập nhật ngay trên thiết bị,
khơng cần kết nối với máy tính (phương thức over
The Air).
Là bản Android đầu tiên được Google gọi tên theo
các món đồ ăn với chữ cái bắt đầu được xếp theo
thứ tự alphabet. Với các tính năng: bàn phím ảo,
mở rộng khả năng cho widget – khả năng tùy biến
giao diện của Android được đẩy mạnh, cải tiến
clipboard, có khả năng quay phim, cho phép tải
ảnh, video lên YouTube, truy cập danh bạ trong
Google Talk, ...

10


Android 1.5
Donut

4

Android 2.0

Android
2.0.1 Eclair


5, 6

Android 2.1
Eclair

7

Android 2.2
Froyo

Android
2.3.3 –
Android
2.3.7
Gingerbread

Android 3.0

Android 3.1

Android 3.2
Honeycomb

8

9,
10

11,

12,
13

09/2009

Một vài điểm trong giao diện được cải thiện, hỗ trợ
mạng CDMA, hỗ trợ các Thành phần đồ họa độc
lập với độ phân giải, tính năng Quick Search Box –
tìm kiếm tất cả mọi thứ chỉ trong một hộp tìm
kiếm, Android Market – hiển thị các ứng dụng
miễn phí và trả phí hàng đầu. Camera được cải
thiện, tích hợp trình xem ảnh tốt hơn.

Hỗ trợ nhiều tài khoản người dùng, tính năng Quick
Contact, cải tiến bàn phím ảo. Trình duyệt mới: hỗ
trợ HTML5, phát video ở chế độ toàn màn hình, hộp
11/2009 - địa chỉ kết hợp với thanh tìm kiếm, cho phép phóng
12/2009 to, thu nhỏ bằng cách chạm tay vào màn hình. Giao
diện đẹp, sang trọng và gọn gàng hơn trước.

01/2010

Hỗ trợ Live Wallpaper, chuyển giọng nói thành
văn bản và một màn hình khóa mới.

06/2010

Từ 3 màn hình chính tăng lên thành 5 màn hình.
Dãy nút kích hoạt nhanh chế độ gọi điện, web và
App Drawer xuất hiện. Khả năng hiển thị hình ảnh

3D. Tính năng trạm phát Wifi xuất hiện. Hỗ trợ
duyệt web với Flash. Tính năng di chuyển một
phần ứng dụng từ bộ nhớ máy sang thẻ nhớ.

11/2010
– 02/2011

Có hai thanh chặn khi chọn văn bản. Bàn phím được
cải thiện đẹp hơn và dễ sử dụng hơn. Xuất hiện công
cụ quản lý pin và ứng dụng. Hỗ trợ máy ảnh trước.
Cung cấp nhiều tính năng mới, tập trung vào việc
phát triển game, đa phương tiện và phương thức
truyền thông mới.

02/2011
– 05/2011
– 06/2011

Phiên bản này dành riêng cho máy tính bảng. Sử
dụng màu đen và màu xanh dương làm tông màu
chủ đạo. Homescreen và widget được thiết kế lại.
Khơng cịn nút nhấn vật lý. Cải thiện đa nhiệm –
xuất hiện nút Recent Apps giúp chuyển đổi ứng
dụng dễ dàng và nhanh chóng. Thanh Action Bar
xuất hiện.
Phiên bản Android 3.1 và 3.2 sửa lỗi và thêm vài
tính năng mới như thay đổi kích thước widget ngay
trên homescreen, hỗ trợ thẻ SD,...

11



Android 4.0

Android
4.0.3
Ice Cream
Sandwich

Android 4.1
– Jelly Bean

Android 4.2
Jelly Bean
Android 4.3
Jelly Bean

Android 4.4
KitKat
Android
4.4W
KitKat
Watch

14,
15

16

10/2011

– 12/2011

Hỗ trợ bộ font Roboto. Hệ thống thông báo
(Noitification) được làm mới hoàn toàn, đẹp và
thuận tiện hơn. Bàn phím tiếp tục được cải thiện. Hệ
điều hành dành cho smartphone và cho máy tính
bảng được hợp nhất làm một. Duyệt web nhanh hơn,
tối ưu hóa hiệu suất hoạt động của thiết bị, kéo dài
thời gian dùng pin...

07/2012

Màn hình Lockscreen o vịng trượt mở khóa dùng
kích hoạt 3 tính năng khác nhau: mở khóa máy, sử
dụng camera, kích hoạch Google Now (Android
4.0 có 2 tính năng: mở khóa máy, sử dụng camera).
Khả năng tìm kiếm bằng giọng nói, kết quả trả về
được thiết kế theo dạng thẻ đồ họa, thông minh hơn,
trực quan hơn. Project butter giúp mang lại độ mượt
mà chưa từng có cho Android.

17

11/2012

18

07/2013

19,

20

10/2013

Hỗ trợ Miracast o một chuẩn chia sẻ nội dung số
thông qua kết nối WioFi, bàn phím có thể nhập liệu
bằng cách vẽ các đường nét từ kí tự này đến kí tự
khác, chế độ chụp ảnh toàn cảnhọphoto Sphere. Hỗ
trợ nhiều tài khoản người dùng trên máy tính bảng.
Hỗ trợ kết nối Bluetooth Smart, bộ API openGL ES
3.0, bổ sung tính năng sử dụng WioFi để định vị
ngay cả khi người dùng tắt kết nối này. Hỗ trợ tính
năng Restricted Profile, Notification Access, ...
Hiệu suất được cải tiến: RAM 512 MB cũng có thể
chạy KitKat, hiệu năng cao gấp 1,6 lần phiên bản
trước . Giao diện nhìn chung được làm phẳng hơn.
Kết hợp dịch vụ tìm kiếm Google Search cho phép
dị và tự động liên kết các danh bạ có sẵn trên
internet vào số điện thoại mới. Gộp chung Text
Messages và Hangouts. Bổ sung các biểu tượng
Emoji vào bàn phím mặc định. Tính năng Screen
Recording cho phép ghi các hoạt động diễn ra trên
màn hình thành các đoạn video MP4.

12


Android 5.0
Lollipop
Android 5.1

Lollipop

21,
22

Android 6.0
o6.0.1
Marshmallow

23

Android 7.0
– 7.1.2
Nougat

24,
25

Android 8.0
o8.1 oreo

26,
27

Android 9
Pie

28

10/2014


Hình ảnhọphẳng hơn, nhiều màu sắc hơn so với
trước đây. Xuất hiện chức năng “T action”: tùy vào
động tác lắc máy sẽ tương ứng với chức năng cụ thể.
Tính năng tự động trả lời điện thoại khi đưa máy lên
tai hay tự động giảm nhạc chuông khi nhấc máy lên
khỏi mặt bàn… Người dùng có thể nhận và trả lời
các thơng báo bao gồm email, tin nhắn, cuộc gọi nhỡ
ngay ngoài màn hình khố. Tiết kiệm pin và bảo mật
hơn.

Thiết kế lại quyền hạn của các ứng dụng. Trang bị
cho trình duyệt Chrome tính năng mới với tên gọi
Chrome Custom Tabs, cho phép các nhà phát triển
có thể chèn trực tiếp nội dung trang web đầy đủ vào
các ứng dụng. Cho phép mở trực tiếp nội dung bằng
5/10/2015
các ứng dụng liên quan. Trang bị hệ thống thanh
toán mới trên di động, với tên gọi Android
Pay. Cải thiện độ ổn định, hiệu suất cũng như khả
năng tiết kiệm pin. Hỗ trợ cổng kết nối USB TypeC
thế hệ mới.
Trước khi Nougat được tiết lộ “Android N” đã được
Google gọi nội bộ là “New York Cheesecake”. Một
số tính năng mới của Nougat bao gồm các chức năng
22/8/2016 đa tác vụ tốt hơn cho số lượng ngày càng tăng của
điện thoại thơng minh có màn hình lớn, chẳng hạn
như chế độ chia màn hình cùng với việc chuyển đổi
nhanh giữa các ứng dụng.
Google chính thức cơng bố và phát hành bản xem

trước dành cho nhà phát triển đầu tiên dành cho
Android o, còn được gọi là Android 8.0. Đây là lần
thứ hai Google chọn một tên thương hiệu cho
Android (oreo thuộc sở hữu của Nabisco). Android
3/2017
oreo bao gồm nhiều thay đổi trực quan trong menu
Cài đặt, cùng với hỗ trợ chế độ ảnhotrongoảnh, các
kênh thông báo, API tự động điền mới để quản lý
mật khẩu và điền dữ liệu tốt hơn.
Hiện tại, nó chỉ được gọi là "Android P" và phiên
bản xem trước đầu tiên chỉ hoạt động trên điện thoại
thông minhọpixel của Google. Một số tính năng
07/08/2018
trong bản phát hành xem trước đầu tiên bao gồm hỗ
trợ định dạng video HDR và HEIF, điều hướng

13


trong Google Maps, cải tiến về bảo mật và hỗ trợ
chính thức cho máy ảnh và cảm biến “tai thỏ”.

Khác với các phiên bản Android từ thế hệ 7 trở đi sẽ
được đặt tên theo 1 món bánh hoặc kẹo ngọt nào đó
thì hệ điều hành thế hệ thứ 10 được Google giới
thiệu có cái tên khá đơn giản là Android 10, khơng
đặt theo tên 1 món ăn nào cả
Trên Android 10 chúng ta sẽ khơng cịn thấy sự xuất
03/09/2019
Android 10 29

hiện của 3 nút bấm quen thuộc mà thay vào đó là 1
thanh ngang nhỏ dùng để điều hướng theo cử chỉ của
người dùng. Với Android 10, người dùng có thể
vuốt lên để trở về màn hình chính, vuốt từ cạnh trái
hoặc cạnhọphải để quay lại, khá giống trên các thiêt
bị iPhone.
Tích hợp quay màn hình người dùng mới được quay
màn hình trực tiếp mà khơng cần thơng qua ứng
dụng thứ 3
Kiểm soát quyền truy cập 1 lần: Android 11 sẽ hạn
chế nguy cơ lạm quyền từ các ứng dụng sau khi
người dùng sử dụng.
09/2020
Android 11 30
Ngồi các tính năng kể trên, phiên bản hệ điều hành
Android 11 còn cung cấp cho người dùng thêm 1 vài
tính năng hay ho khác như: Tăng kích thước quay
video mở rộng, bong bóng chat, thay đổi giao diện
của trìnhọphát nhạc, đề xuất các ứng dụng hay dùng,
lịch sử thông báo...
Cho phép người dùng chơi game ngay khi tải: Tại
hội nghị dành cho các hà phát triển, Google đã giới
thiệu tính năng mới trên Android 12, cho phép người
dùng khởi tạo chơi game ngay khi tải về. Nói 1 cách
Android 12
31
15/07/2021
dễ hiểu, người dùng có thể chơi ngay sau khi vừa
beta3
nhấn tải game về. Điều này giúp giảm thiểu thời gian

đợi chờ tải về của các tựa game có dung lượng lớn
như Genshin Impact...
Bảng 1.1. Các phiên bản hệ điều hành Android.
1.2 Tại sao lập trình trên Android
1.2.1 Xu thế phát triển cơng nghệ di động
14


-

-

Theo nhận định của nhiều chuyên gia công nghệ từ các hãng công nghệ hàng đầu
như Microsoft, Google, IBM, … Ba xu hướng tất trên toàn cầu hiện nay là: Social
and Security (mạng xã hội và bảo mật), Mobility (công nghệ di động), Analytics
Big Data
(phân tích dữ liệu lớn), Cloud (Điện toán đám mây).
Trên thế giới:
o Tháng 01/2014, trang WeAreSocial đã đưa ra báo cáo về “Bối cảnh dữ
liệu toàn cầu” với những chỉ số phát triển rất đang kinh ngạc của Thế
Giới Số. Cụ thể số liệu thống kê của WeAreSocial cho thấy:
 Số lượng đăng kí sử dụng di động đang hoạt động vào khoảng 93%
của dân số thế giới.
 Tỉ lệ người kết nối Internet toàn cầu đạt 35%, tương đương 2,5 tỉ
người.
 Các kênh Mạng xã hội tiếp tục phát triển mạnh mẽ trong 12 tháng
qua, khi đạt tỉ lệ thâm nhập người dùng là 26%.
 Hơn 4 tỉ người trên khắp thế giới hiện đang sở hữu ít nhất một chiếc
điện thoại di động.


Hình 1.2. Bối cảnh dữ liệu toàn cầu
- Trong giai đoạn 2014 - 2016, xu hướng Mobile và lượng người dùng Internet 3G
sẽ tiếp tục tăng mạnh. Các dịch vụ kết nối oTT và truyền thơng xã hội đóng góp hơn
80% phương thức giao tiếp online, video online và nội dung số mobile. Điều này góp
phần đẩy mạnh xu hướng truyền thơng số đa phương tiện, đa màn hình sẽ bùng nổ với
độ phủ hơn 50% dân số Việt Nam.
- Doanh thu điện thoại thơng minh và máy tính bảng giờ đây đã vượt qua PC và
laptop. Các doanh nghiệp hoạt động trong lĩnh vực sản xuất công nghệ cũng đang cố
gắng hướng tới các dịch vụ như “thanh toán di động, nội dung di động, dịch vụ xác định
địa điểm hay khai thác dữ liệu sử dụng của người dùng thiết bị di động”.

15


Hình 1.3. Chỉ số về Internet trên di động tại Việt Nam năm 2021.
-

Tỉ lệ truy cập Internet qua các thiết bị di động: 36% tổng số dân.
Tỉ lệ truy cập Internet có tham gia mua sắm online 57%.
Một người Việt Nam truy cập Internet 6,7 giờ/ngày, 6,4 ngày/tuần
Tổng số thời gian 43 giờ/tuần.

Hình 1.4. Thống kê các chỉ số người dùng smartphone tại Việt Nam năm 2014

16


Hình 1.5. Thống kê chỉ số điện thoại di động và các loại hình thanh
1.2.2. Thị trường thiết bị Android
- Trong tất cả các hệ điều hành dành cho di động hiện nay, có thể nói: Android đã

mang lại một cuộc cách mạng thật sự cho các lập trình viên. Nổi bật với tính mở,
đơn giản nhưng mạnh mẽ, khơng tốn phí cho bất cứ bản quyền nào và đặc biệt
cộng đồng lập trình viên vơ cùng lớn mạnh. Android thật sự là một nền tảng mạnh
mẽ cho phép các lập trình viên, những người chưa từng lập trình trên thiết bị di
động có thể tạo ra các ứng dụng một cách nhanh chóng và dễ dàng. Có thể nói
Android đang dần mang lại phong cách mới trong thói quen sử dụng điện thoại
của người dùng.
- Kể từ khi bắt đầu được thương mại hóa, ước tính mỗi ngày có khoảng 850 ngàn
thiết bị Android được kích hoạt. Nhiều cuộc nghiên cứu đã chỉ ra rằng phần lớn
các thiết bị smartphone mới được xuất xưởng chạy hệ điều hành Android.
- Có tới 53 triệu thiết bị sử dụng mã nguồn mở Android (AoSP) được bán ra, chiếm
tới
11% tổng số smartphone trong quý 1/2014. Điều này một lần nữa cho thấy,
Android đã có được một địa vị cực kỳ vững chắc trên thị trường smartphone.
- Công ty nghiên cứu thị trường Strategy Analytics công bố hôm 31/10/2014 cho
biết, số lượng smartphone chạy Android bán ra trên phạm vi toàn cầu đạt 268
triệu chiếc, tăng mạnh so với thành tích 206 triệu chiếc của cùng kỳ năm ngoái.
Nếu xét về thị phần, chú robot xanh của đại gia công nghệ Google đang giữ 84%
thị phần.
1.2.3. Nhu cầu tuyển dụng lập trình viên Android
- Với xu thế phát triển công nghệ di động nhanh và mạnh như hiện nay, thị trường
thiết bị Anroid chiếm vị trí cao nhất khơng chỉ ở Việt Nam mà trên tồn thế giới,
thì nhu cầu sử dụng các ứng dụng cho các thiết bị Android là rất lớn. Vì vậy, nhu
cầu tuyển dụng lập trình viên Android cũng rất lớn và sẽ tăng nhanh.
2. KIẾN TRÚC ANDROID

17


- Có thể hiểu Android Software Stack bao gồm nhân Linux, tập các thư viện C/C++

được truy xuất bởi tầng ứng dụng để sử dụng các dịch vụ, các bộ quản lý thực thi và
quản lý ứng dụng. Mỗi tầng đều có chức năng vai trị riêng biệt với nhau:
- Linux kernel – lõi chính của tồn hệ thống bao gồm các điều khiển phần cứng,
bộ quản lý xử lý và bộ nhớ, bảo mật, kết nối mạng, bộ quản lý năng lượng.
- Libraries – thực thi trên tầng nhân Linux, bao gồm các thư viện lõi khác nhau của
C/C++ như libc và SSL. Có các dạng sau:
 Thư viện hổ trợ phát các tập tin đa truyền thông.
 Bộ quản lý hiển thị
 Thư viện hổ trợ đồ họa openGL 2D và 3D
 SQLite hổ trợ lưu trữ cơ sở dữ liệu
 SSL và WebKit cho phép tương tác với trình duyệt và bảo mật
Internet.
- Android Run Time – đây chính là điểm làm nên sự khác biệt giữa thiết bị Android
và thiết bị Linux. Bên trong Thành phần này bao gồm máy ảo Dalvik và thư viện
lõi.
Android Run Time ngồi tăng tốc độ cho ứng dụng cịn làm nền cho tầng
Application Framework kết nối đến.
- Core Libraries – mặc dù hầu hết các ứng dụng Android viết bằng ngôn ngữ Java
nhưng Dalvik không phải là máy ảo Java. Các thư viện lõi Android sẽ cung cấp
hầu hết các chức năng chính có thể có trong thư viện Java cũng như thư viện riêng
biệt của Android.
- Dalvik VM – dạng máy ảo cho phép tối ưu hóa để có thể chạy được nhiều tiến
trình một các hiệu quả, dựa trên nhân Linux các máy ảo cho phép quản lý các tiểu
trình và quản lý bộ nhớ ở bậc thấp.
- Application Framework – cung cấp các lớp cho việc tạo ra các ứng dụng. Bên
cạnh đó nó cũng chứa các lớp trừu tượng cho phép truy nhập phần cứng, quản lý
giao diện người dùng và tài nguyên của ứng dụng.
- Application Layer – gồm các ứng dụng được tích hợp sẵn và các ứng dụng của
hãng thứ ba. Tầng ứng dụng trong Android Run Time sử dụng các lớp từ tầng
Application Framework để thực thi ứng dụng.


18


Hình 1.6. Kiến trúc Android.
3. Mơi trường phát triển ứng dụng android
3.1 Giới thiệu Java JDK, Android SDK, Android Studio
- Android SDK (Software Development Kit) và JDK (Java Development Kit) là
hai cơng cụ cần thiết để chúng ta có thể lập trình nên các ứng dụng Android. Và tất nhiên
nếu bạn khơng muốn lập trình trên phần mềm soạn thảo văn bản thì một cơng cụ lập
trìnhaiDE (Integrated development environment) sẽ rất hữu ích và tiện lợi. Eclipse được
xem là một công cụ hỗ trợ rất tốt trong việc lập trình ứng dụng Android.
- Android SDK, JDK và Eclipse đều có mặt trên một số phiên bản hệ điều hành
Windows, Mac oS và Linux do đó chúng ta có thể lập trình trên hệ điều hành mà
chúng ta đã quen sử dụng. Thêm nữa, Android được thực thi trên máy ảo Dalvik nên
việc phát triển ứng dụng là như nhau trên cả 3 mơi trường.
- Android Studio được Google chính thức phát hànhọphiên bản đầu tiên Android
Studio 0.1 vào tháng 5/ 2013 (Phiên bản hiện nay là 1.2.1 – phát hành vào tháng 5/ 2015
và phiên bản 1.3 đã được công bố tại Google I/o 2015). Là công cụ lập trình dựa trên
nền IntelliJ, cung cấp các tính năng mạnh mẽ hơn ADT như:
- Hỗ trợ xây dựng dự án dạng Gradle.
- Hỗ trợ sửa lỗi nhanh và tái sử dụng cấu trúc phương thức. o Cung cấp các công
cụ kiểm tra tính khả dụng, khả năng họat động của ứng dụng, tương thích nền tảng…
- Hỗ trợ bảo mật mã nguồn và đóng gói ứng dụng.
- Trình biên tập giao diện cung cấp tổng quan giao diện ứng dụng và các Thành
phần, cho phép tuỳ chỉnh trên nhiều cấu hình khác nhau.
- Cho phép tương tác với nền Google Cloud.
- Với mục tiêu tạo ra môi trường phát triển tất cả trong một, trải nghiệm nhanh và
mượt hơn các IDE khác, Android Studio không ngừng ra đời các phiên bản cải tiến.
19



-

3.2 Thiết lập mơi trường phát triển:
- Như đã nói ở trên, ứng dụng Android được thực thi trên máy ảo Dalvik nên chúng ta
có thể lập trình trên nhiều phiên bản của các hệ điều hành.
Android Studio phiên bản năm 2020Cụ thể như sau:
 RAM tối thiểu 8GB
 ổ cứng nhiều, ưu tiên SSD
 hỗ trợ ảo hóa
 win 10, 64
- Để bắt đầu viết ứng dụng với Android Studio, chúng ta cần tải và cài đặt hai bộ phần
mềm sau:
 Bước trước tiên, ta cần tải Android Studio phiên bản mới nhất tại đây:
 />
Hình 1.7 Trang Android Studio để download
Nhấn vào “DOWNLOAD ANDROID STUDIO”

Hình 1.8 Download Android Studio

20


Hình 1.9 Lưu file Download Android Studio
Bấm save để tải về, tùy tốc độ mà lâu hay mau, đợi chỗ này nó tải cho xong.
Sau khi tải xong thì bắt đầu cài đặt.
Trước khi cài đặt thì nên tạo 1 thư mục Android trong ổ C, ví dụ:

Hình 1.10 Tạo 1 thư mục Android trong ổ C

Khi cài đặt sẽ có 2 thành phần mà ta nên cài vào bên trong thư mục Android, đó là:
 android-studio->cơng cụ lập trình
 sdk->các thư viện để hỗ trợ lập trình
Bây giờ double click vào file cài mới tải ở trên về để cài đặt:
- Sau khi tải bộ cài Android Studio thành công, chúng ta chạy tập tin android –
studio – bundle để tiến hành cài đặt Android Studio → màn hình Welcome to
Android Studio Setup xuất hiện → Next:

21


Hình 1.11. Màn hình Welcome to Android Studio
Nếu đã có JDK thì tìm đường dẫn đến nơi cài đặt. Sau đó, nhấn Next. Hộp thoại lựa
chọn cấu hình cài đặt sẽ mở ra → chọn (check) đủ các Thành phần như hình bên dưới
→ Next:



Hình 1.12 Hộp thoại lựa chọn cấu hình
Để mặc định như trên rồi tiếp tục nhấn Next:

22


Hình 1.13 Chọn đường dẫn cài
-

Ở màn hình trên lưu ý cài vào thư mục C:\Android\android-studio
Sau đó nhấn Next để tiếp tục:


Hình 1.14 Hộp thoại Install
Sau đó nhấn “Install” để bắt đầu cài đặt

23


Hình 1.15 Hộp thoại chờ cài đặt
Ngồi chờ xíu cho nó cài đặt, khi cài đặt xong sẽ có thơng báo như dưới đây:

Hình 1.16 Hộp thoại Finish
Chọn Do not import Setting, sau đó click OK (vì cài lần đầu nên k chọn bên trên)

Hình 1.17 Hộp thoại Do not import Setting
Bạn chọn một trong hai cái đều được

24


Hình 1.18 Hộp thoại Data Sharing
Màn hình Welcome xuất hiện

Hình 1.19 Hộp thoại Welcome
Chọn Install Type là Standard nhé!

25


×