Giáo trình Phát triển Ứng dụng trên Thiết bị Di động (Trường Cao đẳng Bách khoa Nam Sài Gòn)
Tổng quan về giáo trình
Giáo trình Môn học/Mô đun: Phát triển ứng dụng trên thiết bị di động (tên gọi khác trong văn bản: Phát triển ứng dụng cho các thiết bị di động) được ban hành kèm theo Quyết định số 459/QĐ-NSG ngày 31 tháng 08 năm 2022 của Hiệu trưởng Trường Cao đẳng Bách khoa Nam Sài Gòn. Tài liệu được biên soạn phục vụ công tác đào tạo chuyên ngành cho học sinh, sinh viên ngành/nghề Tin học ứng dụng ở trình độ Cao đẳng.
Trong chương trình đào tạo, đây là môn học chuyên ngành bắt buộc với tổng thời lượng thực hiện là 90 giờ, trong đó phân bổ gồm 30 giờ lý thuyết, 58 giờ dành cho thực hành, thí nghiệm, thảo luận, bài tập và 2 giờ dành cho kiểm tra đánh giá.
Mục tiêu học tập (learning outcomes) của giáo trình được xác định trên ba phương diện cụ thể:
- Về kiến thức: Trang bị các kiến thức cơ bản về nền tảng hệ điều hành Android, cách thức thiết lập và cấu hình một dự án phần mềm trên môi trường máy ảo (Android Virtual Device - AVD) cũng như trên thiết bị phần cứng thật.
- Về kỹ năng: Rèn luyện khả năng lập trình và xây dựng hoàn chỉnh các ứng dụng đơn giản vận hành trên hệ điều hành Android; nắm vững quy trình đóng gói và tải các ứng dụng đã hoàn thiện lên nền tảng phân phối số Google Play.
- Về năng lực tự chủ và trách nhiệm: Hình thành tác phong làm việc công nghiệp, rèn luyện tính kiên trì và tư duy kỹ thuật trong quy trình phát triển phần mềm.
Cấu trúc giáo trình được phân chia thành 13 bài học tuần tự từ tổng quan kiến trúc, thiết lập môi trường lập trình, xây dựng giao diện, quản trị dữ liệu cho đến khâu đóng gói ứng dụng. Điểm đặc sắc của giáo trình nằm ở tính thực hành cao với thời lượng thực nghiệm chiếm 64,4% (58/90 giờ), tích hợp các hướng dẫn thao tác trực tiếp trên công cụ Android Studio kèm theo các đoạn mã nguồn và ví dụ tình huống cụ thể (như bảo toàn dữ liệu bằng savedInstanceState hay quản lý vòng đời Activity).
Nội dung kiến thức cốt lõi
Các chương/chủ đề chính
Nội dung 13 bài học trong giáo trình được xây dựng theo một tiến trình logic, đi từ nền tảng hệ thống đến kỹ thuật triển khai chi tiết:
- Bài 1: Tổng quan về lập trình Android: Giới thiệu lịch sử hình thành hệ điều hành Android từ năm 2003 (Andy Rubin, Rich Miner, Nick Sears, Chris White), sự kiện Google mua lại Android năm 2005, sự thành lập liên minh Open Handset Alliance (OHA) năm 2007 và mẫu máy thương mại HTC Dream năm 2008. Trình bày chi tiết mô hình kiến trúc Android Software Stack gồm 5 tầng: Linux Kernel, Libraries (C/C++), Android Run Time (máy ảo Dalvik và Core Libraries), Application Framework và Application Layer.
- Bài 2: Cài đặt môi trường phát triển ứng dụng Android: Hướng dẫn cấu hình phần mềm Java JDK (từ bản JDK 7 trở lên), Android SDK và Android Studio (phát triển trên nền IntelliJ). Hướng dẫn thiết lập máy ảo Android Virtual Device (AVD) với công nghệ tăng tốc phần cứng Intel HAXM, thiết lập Minimum API Level (chọn API 15 để tương thích thiết bị) và khởi tạo chương trình "Hello World".
- Bài 3: Các thành phần ứng dụng Android: Phân tích 8 thành phần cơ bản: Activity, Intent, View, Broadcast Receiver, Service, Content Provider, Context và Notification. Khảo sát cấu trúc ngăn xếp Activity Stack (cơ chế LIFO), vòng đời Activity (
onCreate, onStart, onResume, onPause, onStop, onDestroy, onRestart), các trạng thái tiến trình (Foreground, Visible, Service, Background, Empty process) và kỹ thuật lưu trữ biến tạm thông qua đối tượng Bundle trong savedInstanceState. Đồng thời, làm rõ cấu trúc dự án gồm AndroidManifest.xml, thư mục java, res (layout, mipmap, drawable, values) và các tệp cấu hình build.gradle.
- Bài 4: Layout và View cơ bản: Khảo sát các lớp kế thừa từ
ViewGroup bao gồm FrameLayout (kết hợp ViewFlipper, ScrollView), LinearLayout (với các thuộc tính định vị android:gravity, android:layout_weight, android:weightSum), RelativeLayout, GridLayout, TableLayout và ConstraintLayout. Hướng dẫn lập trình điều khiển với TextView, EditText, Button, ImageView, ImageButton, ToggleButton, Switch.
- Bài 5 đến Bài 8: Giao diện nâng cao và truyền dữ liệu: Xây dựng cửa sổ thông báo (Dialog), hiển thị tập hợp danh sách thông qua
ListView và RecyclerView. Kỹ thuật điều hướng màn hình và trao đổi thông tin bằng Intent (phân loại Explicit Intent và Implicit Intent), cùng phương thức truy xuất dữ liệu tĩnh từ thư mục Asset.
- Bài 9 và Bài 10: Quản lý và chia sẻ dữ liệu: Khái niệm và thao tác quản trị cơ sở dữ liệu nhúng
SQLite (khởi tạo, mở/đóng kết nối, thực thi câu lệnh truy vấn). Xây dựng cơ chế Content Provider và sử dụng đối tượng điều khiển Cursor để truy vấn dữ liệu dùng chung của hệ thống (danh bạ, tệp đa phương tiện).
- Bài 11 đến Bài 13: Xử lý nền, tệp cấu hình và phát hành: Cơ chế thực thi tác vụ chạy ngầm với
Service, thu nhận thông điệp hệ thống qua Broadcast Receiver, quản trị giao diện menu bằng tệp XML. Kết thúc bằng quy trình đóng gói ứng dụng: nhúng chữ ký số Keystore vào tệp APK, chuyển đổi cấu hình từ Debug sang Release và gửi ứng dụng lên Google Play.
Kiến thức nền tảng được xây dựng
- Lý thuyết hệ điều hành và kiến trúc phần mềm: Mô hình ngăn xếp Android Software Stack hoạt động trên nền Linux Kernel; cơ chế hoạt động của máy ảo Dalvik tối ưu hóa đa tiến trình và quản lý bộ nhớ ở mức hệ thống.
- Nguyên lý lập trình hướng đối tượng trong di động: Áp dụng Java OOP để kế thừa các lớp cơ sở của Application Framework; cơ chế kế thừa lớp
Activity, triển khai các phương thức Callback của vòng đời ứng dụng.
- Mô hình quản lý tiến trình và tài nguyên: Nguyên tắc ưu tiên phân bổ tài nguyên của hệ thống Android (tự động thu hồi tiến trình theo thứ tự ưu tiên từ Empty Process đến Foreground Process); cơ chế ánh xạ tài nguyên thông qua lớp
R và định dạng XML.
Kỹ năng phát triển
- Kỹ năng kỹ thuật (Technical skills): Cài đặt và cấu hình bộ công cụ JDK, Android SDK, Android Studio; lập trình giao diện bằng mã nguồn XML kết hợp công cụ trực quan (Palette, Component Tree); viết mã xử lý sự kiện trong Java; xây dựng và truy vấn cơ sở dữ liệu SQLite.
- Kỹ năng phân tích (Analytical skills): Phân tích luồng vận hành của Activity Lifecycle để ngăn chặn hiện tượng mất mát dữ liệu khi thay đổi cấu hình thiết bị (như xoay màn hình); chẩn đoán và khắc phục lỗi thực thi thông qua cửa sổ
Logcat.
- Kỹ năng thực hành ứng dụng (Practical competencies): Đóng gói hoàn chỉnh một dự án phần mềm di động, ký số bảo mật bằng Keystore, biên dịch tệp APK đạt chuẩn phát hành trên Google Play Store.
Phương pháp giảng dạy và học tập
Giáo trình triển khai phương pháp tiếp cận sư phạm tích hợp (Integrated Pedagogical Approach), gắn kết giữa bài giảng lý thuyết nền tảng và các phiên thực hành trực tiếp trên máy tính. Kiến thức lý thuyết về kiến trúc và các lớp đối tượng được chuyển hóa ngay thành các bài tập thực hành theo từng bước hướng dẫn (step-by-step).
Hệ thống bài tập và case studies trong tài liệu được thiết kế bám sát các tình huống lập trình thực tế:
- Ví dụ khởi động: Tạo dự án "Hello World", thiết lập máy ảo AVD và cấu hình chỉ số Minimum API Level (API 15) nhằm tối ưu tỷ lệ tương thích thiết bị.
- Case study về vòng đời Activity: Xây dựng ứng dụng "ActivityLifecycle", sử dụng phương thức
Log.d để in dấu vết và quan sát trực quan sự chuyển dịch giữa 7 hàm trạng thái (onCreate, onStart, onResume, onPause, onStop, onRestart, onDestroy) trên cửa sổ công cụ Logcat.
- Case study xử lý trạng thái dữ liệu: Xây dựng ứng dụng máy tính bỏ túi thực hiện phép cộng số học, minh họa lỗi mất kết quả khi xoay ngang thiết bị và hướng dẫn giải pháp lưu trữ/phục hồi giá trị thông qua phương thức
onSaveInstanceState và đối tượng Bundle trong onCreate.
Quy trình đánh giá kết quả học tập được xác định với thời lượng 2 giờ kiểm tra định kỳ trong chương trình, kết hợp cùng đánh giá liên tục thông qua khả năng hoàn thiện các mô đun bài tập thực hành trong 58 giờ thí nghiệm. Về mặt tự học, giáo trình cung cấp chỉ dẫn tra cứu tài liệu Android API chính thức, hướng dẫn khai thác các menu cấu hình trong Android Studio (SDK Manager, Project Structure, Settings) để người học tự thiết lập môi trường và sửa lỗi biên dịch.
Điểm nổi bật và cập nhật
- Cập nhật hệ sinh thái công nghệ: Giáo trình ghi nhận sự phát triển của hệ điều hành Android qua các mốc lịch sử, cập nhật dữ liệu đến phiên bản Android 11 (phát hành tháng 9/2020) và công cụ Android Studio phiên bản 4.2 (phát hành tháng 5/2021) dựa trên nền tảng IntelliJ, thay thế hoàn toàn cho công cụ Eclipse/ADT trước đây.
- Tích hợp các công cụ tự động hóa: Giới thiệu và ứng dụng hệ thống biên dịch Gradle (
build.gradle) để hiệu chỉnh thông số biên dịch và nhúng các thư viện bên ngoài; tích hợp công nghệ hỗ trợ ảo hóa phần cứng Intel HAXM nhằm tối ưu tốc độ vận hành của máy ảo Android Virtual Device (AVD).
- Quy trình kết nối thực tế: Không chỉ dừng lại ở kỹ thuật viết mã cục bộ, giáo trình hoàn thiện chu trình sản xuất phần mềm bằng việc hướng dẫn quy trình tạo mã khóa
Keystore, chuyển đổi tệp APK từ chế độ debug sang release và các bước đưa sản phẩm lên cửa hàng phân phối ứng dụng Google Play Store.
Đối tượng sử dụng giáo trình
- Sinh viên chuyên ngành: Giáo trình được thiết kế cho sinh viên trình độ Cao đẳng thuộc ngành Tin học ứng dụng hoặc các ngành kỹ thuật phần mềm, công nghệ thông tin có học phần phát triển ứng dụng di động.
- Yêu cầu kiến thức tiên quyết (Prerequisites): Người học cần trang bị kiến thức nền tảng về ngôn ngữ lập trình Java và các nguyên lý cơ bản của lập trình hướng đối tượng (OOP) trước khi tiếp cận môn học.
- Giảng viên và cơ sở đào tạo: Cung cấp tài liệu khung chuẩn hóa theo Quyết định số 459/QĐ-NSG, hỗ trợ giảng viên lập kế hoạch bài giảng chi tiết cho 90 giờ đào tạo và xây dựng ngân hàng bài tập thực hành phòng máy.
- Người tự học và nghiên cứu: Phù hợp cho lập trình viên mới bắt đầu tiếp cận hệ sinh thái Android, cần một tài liệu tra cứu có cấu trúc rõ ràng về vòng đời ứng dụng, hệ thống giao diện và cơ chế quản lý dữ liệu với SQLite/Content Provider.
Câu hỏi thường gặp
1. Giáo trình này phù hợp với ai?
Tài liệu được biên soạn phục vụ chính thức cho sinh viên bậc Cao đẳng ngành Tin học ứng dụng, đồng thời là tài liệu tham khảo cho giảng viên và người học muốn tìm hiểu nền tảng lập trình ứng dụng Android.
2. Cần kiến thức nền nào để học môn học này?
Theo yêu cầu của giáo trình, người học cần có kiến thức cơ bản về ngôn ngữ lập trình Java và phương pháp lập trình hướng đối tượng (OOP).
3. Điểm khác biệt của giáo trình so với các tài liệu thuần lý thuyết?
Giáo trình dành 58 trên tổng số 90 giờ cho thực hành, tập trung hướng dẫn từng bước trên công cụ Android Studio, phân tích mã nguồn thực tế và hướng dẫn chi tiết từ khâu tạo giao diện đến đóng gói tệp APK có chữ ký số để xuất bản lên Google Play.
4. Làm sao để tự học hiệu quả với tài liệu này?
Người học nên tuân thủ trình tự cài đặt bộ công cụ Java JDK và Android Studio theo hướng dẫn tại Bài 2, trực tiếp gõ và thực thi các đoạn mã minh họa, đồng thời sử dụng cửa sổ Logcat để theo dõi tiến trình chạy và sửa lỗi mã nguồn.
5. Có tài liệu bổ trợ nào kèm theo không?
Giáo trình bao gồm phần mục lục Tài liệu tham khảo tại trang 170, kết hợp các đường dẫn tra cứu trực tuyến đến cổng thông tin dành cho nhà phát triển của Android (developer.android.com) và tài liệu hướng dẫn Android SDK.
Kết luận
Giáo trình Phát triển ứng dụng trên thiết bị di động của Trường Cao đẳng Bách khoa Nam Sài Gòn là tài liệu đào tạo chuyên môn cung cấp hệ thống kiến thức toàn diện về kiến trúc phần mềm Android, kỹ thuật xây dựng giao diện người dùng và giải pháp quản trị dữ liệu di động. Lộ trình học tập đề xuất bao gồm: nắm vững kiến trúc Android Stack $\rightarrow$ làm chủ vòng đời Activity và hệ thống Layout $\rightarrow$ quản lý dữ liệu với SQLite và Content Provider $\rightarrow$ đóng gói xuất bản ứng dụng lên Google Play Store. Tài liệu kết hợp chặt chẽ với hệ thống tra cứu Android API và danh mục tài liệu tham khảo tại trang 170 nhằm phục vụ hiệu quả cho chương trình đào tạo 90 giờ của môn học.