UBND TỈNH THANH HÓA
TRƯỜNG CAO ĐẲNG NÔNG NGHIỆP
GIÁO TRÌNH
MÔN HỌC: LẬP TRÌNH TRÊN THIẾT BỊ DI ĐỘNG
NGHỀ: CÔNG NGHỆ THÔNG TIN (ƯDPM)
TRÌNH ĐỘ: CAO ĐẲNG
Ban hành kèm theo Quyết định số: /QĐ-CĐNN ngày…….tháng….năm 2022
của Hiệu trưởng Trường Cao đẳng Nông nghiệp Thanh Hóa
Thanh Hoá, năm 2022
1
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 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.
2
LỜI NÓI ĐẦU
Giáo trình này sẽ giới thiệu các nguyên lý cơ bản của lập trình di động và đi
sâu vào những công nghệ phổ biến nhất hiện nay, bao gồm lập trình ứng dụng
Android lập trình ứng dụng iOS. Với cách tiếp cận từ lý thuyết đến thực hành,
người học sẽ không chỉ hiểu được cách một ứng dụng di động hoạt động mà còn có
thể tự tay tạo ra sản phẩm đầu tiên của mình.
Mục tiêu của giáo trình
- Nắm vững kiến thức nền tảng: Giúp người học hiểu rõ kiến trúc của các h
điều hành di động, vòng đời của ứng dụng và các thành phần cốt lõi.
- Xây dựng kỹ năng thực tiễn: Tập trung vào việc hướng dẫn xây dựng giao
diện người dùng, quản lý dữ liệu, xử lý tương tác và kết nối với các dịch vụ mạng.
- Phát triển tư duy logic: Rèn luyện khả năng phân tích và giải quyết các vấn
đề đặc thù trong lập trình di động như tối ưu hiệu suất, quản lý bộ nhớ và xử lý đa
luồng. Đối tượng độc giả
Giáo trình này phù hợp với:
- Sinh viên các ngành Công nghệ Thông tin, Kỹ thuật phần mềm.
- Các lập trình viên muốn mở rộng kỹ năng sang lĩnh vực di động.
- Những người tự học, có đam mê với lập trình và mong muốn tạo ra các ứng
dụng cho riêng mình.
T/M nhómTác giả
Chủ biên
Lê Phú Thảo
3
Phụ lục
TUYÊN BỐ BẢN QUYỀN ............................................................................................................. 1
LỜI NÓI ĐẦU ................................................................................................................................. 2
Phụ lục ............................................................................................................................................. 3
Chương 1: Ngôn ngữ Java trong lập trình ứng dụng trên Android ................................................. 9
1. Giới thiệu lập trình ứng dụng Java .......................................................................................... 9
1.1. Java là gì? ........................................................................................................................ 9
1.2. Vai trò của Java trong lập trình Android .......................................................................... 9
2. Lập trình hướng đối tượng. ................................................................................................ 10
3. Các vấn đề liên quan đến phương thức. ............................................................................ 11
4. Array và ArrayList. ........................................................................................................... 13
5. Các vấn đề liên quan đến lớp và đối tượng. ...................................................................... 15
6. Kế thừa (Inhertance). ......................................................................................................... 17
7. Tính đa hình (Polymorphism). .............................................................................................. 18
Chương 2: Ứng dụng và Activity .............................................................................................. 21
1. Các loại ứng dụng trong Android. ......................................................................................... 21
1.1. Ứng dụng gốc (Native Apps) ............................................................................................. 21
1.2. Ứng dụng đa nền tảng (Cross-Platform Apps) ................................................................... 22
1.3. Ứng dụng Web di động (Mobile Web Apps) ..................................................................... 22
2. Cấu trúc của một Project ứng dụng Android. ........................................................................ 22
3. Activity & các loại Activity. ................................................................................................. 24
4. Các tài nguyên trong ứng dụng Android. .............................................................................. 25
Chương 3: Xây dựng giao diện ứng dụng ................................................................................. 27
1. Các loại layout ....................................................................................................................... 27
1.1. LinearLayout .................................................................................................................. 27
1.2. RelativeLayout ............................................................................................................... 28
1.3. ConstraintLayout ............................................................................................................ 28
2. Tạo và sử dụng Fragment. ..................................................................................................... 29
3. Các điều khiển thường dùng trong ứng dụng ........................................................................ 32
4. Menu & Action Bar. .............................................................................................................. 34
5. Tạo và sử dụng các loại Dialog. ............................................................................................ 36
5.1. AlertDialog (Hộp thoại cảnh báo) .................................................................................. 36
5.2. ProgressDialog (Hộp thoại tiến trình) ............................................................................ 36
5.3. DatePickerDialog và TimePickerDialog ........................................................................ 37
5.4. Custom Dialog (Hộp thoại tùy chỉnh) ............................................................................ 37
6. Toast & Notification. ............................................................................................................. 38
6.1. Toast ............................................................................................................................... 38
6.2. Notification ..................................................................................................................... 39
7. Tạo và sử dụng Custom View. .............................................................................................. 40
7.1. Các trường hợp sử dụng Custom View .......................................................................... 40
7.2. Các bước tạo Custom View ............................................................................................ 40
7.3. Các phương thức hữu ích khác ....................................................................................... 42
8. Các loại Adapter & kết nối dữ liệu ........................................................................................ 42
8.1. Các loại Adapter phổ biến .............................................................................................. 42
8.2. Các cách kết nối dữ liệu ................................................................................................. 43
Chương 4: Intents ...................................................................................................................... 45
1. Các Intents có sẵn trong Android. ......................................................................................... 45
1.1. Các Intent chung ............................................................................................................. 45
1.2. Các Intent liên quan đến Media ...................................................................................... 46
1.3. Các Intent liên quan đến thiết bị ..................................................................................... 46
4
1.4. Các Intent trong Android Manifest ................................................................................. 46
2. Intents và Data URL. ............................................................................................................. 46
2.1. Cấu trúc chung của một Data URL: ............................................................................... 47
2.2. Ví dụ về cách sử dụng Intents và Data URL .................................................................. 47
2.3. Ưu và nhược điểm .......................................................................................................... 48
4. Bộ lọc Intent & Broadcast Reciever. ..................................................................................... 50
4.1. Bộ lọc Intent (Intent Filter) ............................................................................................. 50
4.2. Broadcast Receiver ......................................................................................................... 50
Chương 5: Lưu trữ, phục hồi và chia sẻ dữ liệu ........................................................................ 53
1. Các phương thức lưu trữ dữ liệu trong Android. ................................................................... 53
1.1. Shared Preferences ......................................................................................................... 53
1.2. Lưu trữ file ...................................................................................................................... 54
1.3. Cơ sở dữ liệu SQLite ...................................................................................................... 54
1.4. Lưu trữ trên Mạng (Network Storage) ........................................................................... 54
1.5. Content Provider ............................................................................................................. 54
2. Lưu trữ dữ liệu đơn giản Shared Preference. ......................................................................... 55
2.1. Lấy đối tượng SharedPreferences ................................................................................... 55
2.2. Lưu trữ dữ liệu ................................................................................................................ 55
2.3. Đọc dữ liệu ..................................................................................................................... 56
3. Preference Framework & Preference Activity. ..................................................................... 56
3.1. Preference Framework .................................................................................................... 56
3.2. Preference Activity ......................................................................................................... 56
4. Lưu trữ trạng thái của ứng dụng. ........................................................................................... 57
4.1. Lưu trữ trạng thái tạm thời (Instance State) ................................................................... 57
4.2. Lưu trữ dữ liệu lâu dài .................................................................................................... 58
4.3. ViewModel ..................................................................................................................... 58
5. Thao tác dữ liệu trên tập tin hệ thống. ................................................................................... 59
5.1. Bộ nhớ nội bộ (Internal Storage) .................................................................................... 59
5.2. Bộ nhớ ngoài (External Storage) .................................................................................... 60
Chương 6: Database & Content Provider .................................................................................. 63
1. Khái niệm cơ sở dữ liệu trong Android. ................................................................................ 63
2. Giới thiệu và thao tác với SQLite. ......................................................................................... 64
2.1. Giới thiệu về SQLite ....................................................................................................... 64
2.2. Các bước thao tác với SQLite ......................................................................................... 65
2.3. Thư viện Room (Cách tiếp cận hiện đại) ........................................................................ 67
3. Content Values & Cursors ..................................................................................................... 67
3.1. ContentValues ................................................................................................................ 67
3.2. Cursor ............................................................................................................................. 68
4. Thao tác dữ liệu với Content Providers. ................................................................................ 69
4.1. Các khái niệm chính ....................................................................................................... 69
4.2. Các thao tác chính (CRUD) ............................................................................................ 69
4.3. Lợi ích khi sử dụng Content Provider ............................................................................ 71
5. Chức năng tìm kiếm trong ứng dụng. .................................................................................... 71
6. Các loại Content Provider có sẵn trong Android. .................................................................. 73
6.1. ContactsContract (Danh bạ) ........................................................................................... 73
6.2. MediaStore (Media) ........................................................................................................ 74
6.3. CalendarContract (Lịch) ................................................................................................. 74
6.4. UserDictionary (Từ điển người dùng) ............................................................................ 75
Chương 7: Services .................................................................................................................... 76
1. Giới thiệu về Services. ........................................................................................................... 76