Tổng quan về giáo trình

Giáo trình Mô đun: Lập trình Di động (Mã số mô đun: MĐ33) do giảng viên Vũ Trường Duy biên soạn, được ban hành chính thức bởi Trường Cao đẳng Nghề An Giang (Ủy ban Nhân dân Tỉnh An Giang) nhằm phục vụ công tác đào tạo chuyên ngành.

+-------------------------------------------------------------------------+
|                        THÔNG TIN HỌC THUẬT MÔ ĐUN                       |
+----------------------+--------------------------------------------------+
| Tên mô đun           | Lập trình Di động (Mobile Programming)           |
| Mã mô đun            | MĐ33                                             |
| Trình độ đào tạo     | Cao đẳng                                         |
| Ngành / Nghề         | Lập trình máy tính                               |
| Cơ quan ban hành     | Trường Cao đẳng Nghề An Giang                    |
| Tác giả biên soạn    | Vũ Trường Duy                                    |
| Thời lượng đào tạo   | 75 giờ (Lý thuyết: 20h | Thực hành: 53h | KT: 2h)  |
| Tính chất môn học    | Chuyên môn bắt buộc                              |
+----------------------+--------------------------------------------------+

Vị trí và tính chất trong chương trình đào tạo

Trong khung chương trình đào tạo ngành Lập trình máy tính trình độ Cao đẳng, mô đun Lập trình Di động thuộc nhóm mô đun chuyên môn nghề bắt buộc. Mô đun được bố trí với tổng thời lượng 75 giờ học, trong đó phân bổ gồm: 20 giờ giảng dạy lý thuyết, 53 giờ thực hành, thí nghiệm, thảo luận trên phòng máy và 02 giờ kiểm tra đánh giá định kỳ. Tỷ trọng thời gian thực hành chiếm hơn 70% tổng thời lượng, phản ánh định hướng đào tạo kỹ năng nghề thực tế.

Mục tiêu học tập (Learning Outcomes)

Sau khi hoàn thành mô đun, người học đạt được các chuẩn đầu ra cụ thể:

  • Về kiến thức: Trình bày được cấu trúc và đặc điểm của các dạng Layout trong Android; phân tích được đặc điểm và phương pháp sử dụng các View cơ bản (TextView, EditText, Button, CheckBox, RadioButton, ImageButton, ImageView, ListView); giải thích được khái niệm Activity, cấu trúc ngăn xếp và vòng đời của một Activity; mô tả được các đối tượng OptionMenu, ContextMenu, Menu điều khiển tìm kiếm; nắm vững kiến trúc cơ sở dữ liệu SQLite, phương pháp kết nối và các thao tác xử lý dữ liệu.
  • Về kỹ năng: Cài đặt và cấu hình hoàn chỉnh môi trường lập trình Android gồm bộ công cụ Java JDK, Android SDK, Android Studio và máy ảo Genymotion; lập trình xây dựng ứng dụng di động hoàn chỉnh sử dụng các layout, view, hộp thoại thông báo (AlertDialog), thông báo nhanh (Toast); thao tác thành thạo việc tạo lập, truy vấn và cập nhật cơ sở dữ liệu SQLite trên ứng dụng.
  • Về năng lực tự chủ và trách nhiệm: Rèn luyện tác phong làm việc cẩn thận, tỉ mỉ trong lập trình, có tinh thần tự giác nghiên cứu và giải quyết lỗi kỹ thuật trong mã nguồn.

Cấu trúc và cách tiếp cận

Giáo trình được cấu trúc thành 5 bài học chuyên đề và 1 phần ôn tập, đi từ thiết lập môi trường kỹ thuật, xây dựng giao diện người dùng, điều hướng và quản lý trạng thái màn hình, đến quản trị dữ liệu cục bộ. Phương pháp tiếp cận lấy lập trình thực hành làm trung tâm, mỗi khái niệm lý thuyết đều đi kèm cấu trúc tệp XML, mã nguồn Java tương ứng và bài tập áp dụng.


Nội dung kiến thức cốt lõi

                             TIẾN TRÌNH NỘI DUNG MÔ ĐUN
+-----------------------------------------------------------------------------------+
| Bài 1: Thiết lập môi trường (Android SDK, JDK, Android Studio, Genymotion, Gradle)|
+-----------------------------------------+-----------------------------------------+
                                          |
                                          v
+-----------------------------------------------------------------------------------+
| Bài 2: Layout & View (FrameLayout, LinearLayout, RelativeLayout, TableLayout,     |
|                      View/ViewGroup, Toast, Dialog, ListView & Custom Adapter)     |
+-----------------------------------------+-----------------------------------------+
                                          |
                                          v
+-----------------------------------------------------------------------------------+
| Bài 3: Activity & Intent (Vòng đời Activity, Activity Stack LIFO, Intent, Bundle, |
|                          startActivityForResult, IntentFilter)                    |
+-----------------------------------------+-----------------------------------------+
                                          |
                                          v
+-----------------------------------------------------------------------------------+
| Bài 4: Menu & Điều khiển tìm kiếm (OptionMenu, ContextMenu, Search Controller)    |
+-----------------------------------------+-----------------------------------------+
                                          |
                                          v
+-----------------------------------------------------------------------------------+
| Bài 5: Cơ sở dữ liệu trong Android (SQLite, SQLiteManager, CRUD Data Operations)  |
+-----------------------------------------------------------------------------------+

Các chương và chủ đề chính

Bài 1: Thiết lập môi trường lập trình Android (Thời lượng: 4 giờ)

  • Tổng quan nền tảng: Giới thiệu lịch sử hệ điều hành Android từ khi Google mua lại Android, Inc. (tháng 7/2005), sự thành lập Liên minh thiết bị cầm tay mở rộng (Open Handset Alliance - OHA) vào tháng 11/2007, kiến trúc xây dựng trên nền nhân Linux 2.6 và cơ chế thực thi qua máy ảo Dalvik.
  • Công cụ phát triển: Hướng dẫn cài đặt Java Development Kit (JDK 7 trở lên), Android SDK và môi trường phát triển tích hợp Android Studio (từ phiên bản 0.1, 1.1 đến 1.3 xây dựng trên nền IntelliJ, tích hợp công cụ tự động hóa Gradle).
  • Cấu hình thiết bị chạy: Cài đặt công cụ quản lý máy ảo AVD Manager và tích hợp máy ảo Genymotion nhằm tăng tốc độ khởi động và kiểm thử ứng dụng.
  • Cấu trúc dự án Android: Phân tích chức năng các thư mục và tập tin cốt lõi:
    • src: Chứa toàn bộ các tập tin mã nguồn .java.
    • gen: Chứa tệp R.java do trình biên dịch sinh ra để tham chiếu tự động đến tài nguyên.
    • bin: Chứa các tệp đóng gói *.apk.
    • res/drawable-hdpi: Chứa tài nguyên hình ảnh độ phân giải cao.
    • res/layout: Chứa các tệp giao diện định dạng XML.
    • res/values: Chứa các tệp định nghĩa tài nguyên chuỗi (strings.xml), màu sắc (colors.xml).
    • assets: Chứa tài nguyên không biên dịch (âm thanh, hình ảnh ngoài, tệp CSDL mẫu).
    • AndroidManifest.xml: Tệp khai báo cấu hình quyền, cấp độ API tối thiểu (Minimum SDK), tên gói (Package Name) và danh sách các thành phần của ứng dụng.

Bài 2: Layout và View thường dùng trong Android (Thời lượng: 20 giờ)

  • Hệ thống Layout: Phân tích các lớp kế thừa từ ViewGroup gồm FrameLayout (hỗ trợ ViewFlipper, ScrollView), LinearLayout (thuộc tính hướng orientation, thuộc tính trọng số weight), TableLayout (kết hợp TableRow), và RelativeLayout (bố trí vị trí phần tử tương đối dựa trên mối quan hệ với View khác hoặc container).
  • Phân cấp View và ViewGroup: Cấu trúc kế thừa từ java.lang.Object, cơ chế liên kết View giữa XML và mã nguồn Java thông qua hàm findViewById(R.id.<ten_view>).
  • Thành phần điều khiển cơ bản:
    • TextView: Các định dạng văn bản (Normal, Small, Medium, Large), cơ chế tự động nhận diện liên kết android:autoLink, đính kèm biểu tượng setCompoundDrawables().
    • EditText: Lớp con của TextView phục vụ nhập và chỉnh sửa dữ liệu văn bản.
    • Button và các biến thể: CompoundButton, CheckBox, RadioButton (nhóm trong RadioGroup), ImageView, ImageButton. Ba phương pháp xử lý sự kiện nhấp chuột: sử dụng setOnClickListener ẩn danh, cho Activity triển khai interface OnClickListener, hoặc khai báo thuộc tính android:onClick trực tiếp trong XML.
  • Thành phần thông báo: Sử dụng Toast để đưa thông báo ngắn (LENGTH_SHORT, LENGTH_LONG) và AlertDialog thông qua lớp hỗ trợ AlertDialog.Builder (thiết lập tiêu đề, icon, thông điệp, danh sách chọn đơn setSingleChoiceItems, chọn nhiều setMultiChoiceItems, các nút PositiveButton, NegativeButton, NeutralButton).
  • Danh sách ListView:
    • ListView cơ bản: Mô hình gồm 3 thành phần DataSource, Adapter (ArrayAdapter với layout mẫu android.simple_list_item_1) và AdapterView (ListView), bắt sự kiện tương tác qua setOnItemClickListener.
    • ListView nâng cao: Quy trình thiết lập Custom Layout gồm 4 bước: (1) Tạo layout XML cho từng dòng (list_row.xml), (2) Xây dựng lớp thực thể dữ liệu (Country), (3) Xây dựng lớp quản lý dữ liệu (CountryModel), (4) Xây dựng lớp Custom Adapter kế thừa ArrayAdapter<Country> và ghi đè phương thức getView() sử dụng LayoutInflater.

Bài 3: Activity (Thời lượng: 16 giờ)

  • Khái niệm và vòng đời: Mỗi Activity đại diện cho một màn hình giao diện người dùng. Cơ chế quản lý theo cấu trúc ngăn xếp Activity Stack hoạt động theo nguyên tắc vào sau - ra trước (LIFO).
  • Trạng thái Activity: 4 trạng thái hệ thống gồm Active (foreground), Paused (mất tiêu điểm nhưng còn hiển thị một phần), Stopped (bị che khuất hoàn toàn bởi Activity khác) và Inactive (bị hệ điều hành hủy để giải phóng bộ nhớ). Vòng đời thực thi gồm 3 trạng thái chính: Running, Paused, Stopped.
  • Cơ chế Intent:
    • Explicit Intent (Tường minh): Gọi đích danh thành phần thông qua tên lớp (sử dụng phương thức startActivity(new Intent(this, TargetActivity.class))).
    • Implicit Intent (Không tường minh): Yêu cầu hệ thống thực thi hành động dựa trên Action (ACTION_VIEW, ACTION_DIAL, ACTION_CALL, ACTION_SEND), dữ liệu URI và Category.
    • Truyền và phản hồi dữ liệu: Sử dụng phương thức putExtra() hoặc đối tượng Bundle để đóng gói dữ liệu; cơ chế giao tiếp hai chiều giữa các màn hình bằng startActivityForResult(), xác nhận dữ liệu qua setResult() và tự động lắng nghe kết quả trả về tại phương thức onActivityResult().
  • Cấu hình IntentFilter: Khai báo các thẻ <action>, <data>, <category> trong AndroidManifest.xml hoặc cấu hình động trong mã nguồn Java để quy định điều kiện kích hoạt thành phần.

Bài 4: Menu và điều khiển tìm kiếm (Thời lượng: 16 giờ)

  • Xây dựng và quản lý thực đơn ứng dụng thông qua OptionMenu (menu tùy chọn chính trên thanh tác vụ) và ContextMenu (menu ngữ cảnh xuất hiện khi người dùng nhấn giữ trên một View cụ thể).
  • Tích hợp bộ điều khiển tìm kiếm (Search control menu) trên thanh công cụ giao diện để lọc và tra cứu dữ liệu.

Bài 5: Cơ sở dữ liệu trong Android (Thời lượng: 16 giờ)

  • Giới thiệu hệ quản trị cơ sở dữ liệu quan hệ nhúng SQLite.
  • Hướng dẫn công cụ quản lý cơ sở dữ liệu SQLiteManager.
  • Kỹ thuật sao chép tập tin cơ sở dữ liệu có sẵn từ thư mục assets vào hệ thống lưu trữ nội bộ của thiết bị.
  • Triển khai các thao tác dữ liệu chuẩn (CRUD): Truy vấn dữ liệu (query/select), thêm dữ liệu (insert), cập nhật dữ liệu (update) và xóa dữ liệu (delete) trong môi trường Android.

Phần Ôn tập (Thời lượng: 3 giờ)

  • Hệ thống hóa toàn bộ kiến thức kỹ thuật và giải quyết các bài tập tổng hợp trên phòng máy.

Kiến thức nền tảng được xây dựng

  • Lý thuyết hướng đối tượng trong kiến trúc Android: Phân cấp cây kế thừa từ java.lang.Object đến View, ViewGroup, các lớp con chuyên biệt như TextView, EditText, Button, ImageView và các layout container.
  • Mô hình kiến trúc phân tách UI và Logic: Phân định rõ ràng giữa giao diện hiển thị khai báo bằng XML trong thư mục res/ và logic điều khiển viết bằng Java trong thư mục src/.
  • Mô hình Adapter Pattern: Cơ chế tách biệt giữa nguồn dữ liệu (DataSource), bộ chuyển đổi định dạng hiển thị (Adapter) và vùng chứa giao diện hiển thị (AdapterView).
  • Nguyên lý quản lý tiến trình và bộ nhớ di động: Cơ chế quản lý ngăn xếp màn hình LIFO, thứ tự ưu tiên giải phóng tài nguyên của hệ điều hành khi thiếu hụt bộ nhớ và chu trình sống của thành phần giao diện.

Kỹ năng phát triển

  • Kỹ năng kỹ thuật (Technical skills): Cài đặt và cấu hình công cụ lập trình (Android Studio, JDK, Android SDK, máy ảo Genymotion); lập trình giao diện XML theo các mẫu layout; liên kết đối tượng giao diện với mã nguồn Java; xử lý sự kiện tương tác người dùng qua các Listener; đóng gói và biên dịch tệp APK.
  • Kỹ năng phân tích (Analytical skills): Phân tích luồng chuyển đổi trạng thái của ứng dụng; xây dựng lược đồ quan hệ cơ sở dữ liệu SQLite; thiết kế cấu trúc dữ liệu Model - Adapter phù hợp với yêu cầu tùy biến giao diện.
  • Kỹ năng ứng dụng thực hành (Practical competencies): Xây dựng hoàn chỉnh ứng dụng di động có khả năng chuyển đổi qua lại giữa nhiều màn hình, truyền nhận và phản hồi dữ liệu qua Intent, hiển thị danh sách đa thông tin (hình ảnh, văn bản, checkbox) và lưu trữ dữ liệu bền vững trên cơ sở dữ liệu cục bộ.

Phương pháp giảng dạy và học tập

                      CƠ CẤU THỜI LƯỢNG MÔ ĐUN (TỔNG: 75 GIỜ)
+-----------------------------------------------------------------------------------+
| Lý thuyết: 20 giờ (26.7%) | Thực hành/Thảo luận: 53 giờ (70.7%) | Kiểm tra: 2h (2.6%) |
+-----------------------------------------------------------------------------------+

Phương pháp tiếp cận sư phạm

Giáo trình áp dụng mô hình giảng dạy tích hợp lý thuyết và thực hành của hệ đào tạo nghề. Giảng viên trình bày các khái niệm lý thuyết cốt lõi trong thời lượng ngắn gọn (20 giờ), sau đó chuyển giao phần lớn thời lượng (53 giờ) cho hoạt động thực hành trực tiếp tại phòng máy tính, giúp sinh viên chuyển hóa ngay kiến thức cú pháp thành kỹ năng viết mã.

Hệ thống bài tập và thực hành thực tế

Giáo trình tích hợp hệ thống bài tập thực hành phong phú trải dài qua các bài học:

  1. Nhóm bài tập rèn luyện thuật toán và tư duy lập trình (Bài 2):
    • Viết chương trình giải phương trình bậc nhất ($ax + b = 0$).
    • Viết chương trình giải phương trình bậc hai ($ax^2 + bx + c = 0$).
    • Viết chương trình tìm số lớn nhất giữa hai số.
    • Viết chương trình tính tổng chuỗi số nguyên: $S = 1 + 2 + 3 + ... + N$.
    • Viết chương trình tính tổng chuỗi số lẻ: $S = 1 + 3 + 5 + 7 + ... + 21$.
    • Viết chương trình xuất dãy số giảm dần: $N, N-1, N-2, ..., 1$.
    • Viết chương trình tính giai thừa: $P = 1 \times 2 \times 3 \times ... \times N$.
    • Viết chương trình tính tổng chuỗi phân số: $S = 1 + \frac{1}{2} + \frac{1}{3} + ... + \frac{1}{N}$.
    • Viết chương trình tính tổng bình phương: $S = 1^2 + 2^2 + 3^2 + ... + N^2$.
    • Viết chương trình nhập hai số nguyên $a, b$ và xuất toàn bộ các số nằm trong phạm vi giữa hai số đó.
  2. Nhóm bài tập cấu trúc giao diện và điều phối dữ liệu (Bài 2 & Bài 3):
    • Xây dựng Custom ListView hiển thị danh sách quốc gia gồm quốc kỳ (ImageView), tên tiếng Anh (TextView), tên tiếng Việt (TextView) và trạng thái lựa chọn (CheckBox).
    • Xây dựng luồng ứng dụng tương tác hai chiều: Màn hình Đăng nhập chuyển sang màn hình Đăng ký, sau khi đăng ký thành công tự động phản hồi dữ liệu và đăng nhập vào hệ thống thông qua cơ chế startActivityForResult()onActivityResult().
                         LUỒNG DỮ LIỆU ĐĂNG NHẬP - ĐĂNG KÝ
+---------------------+    startActivityForResult()    +---------------------+
| Màn hình ĐĂNG NHẬP  | -----------------------------> |  Màn hình ĐĂNG KÝ   |
| (MainActivity)      | <----------------------------- |  (RegisterActivity) |
+---------------------+     setResult(Intent, DATA)    +---------------------+
           |
           v
  onActivityResult()
  (Tự động điền tài khoản và xử lý đăng nhập)

Phương pháp kiểm tra và đánh giá

  • Đánh giá thường xuyên: Giảng viên theo dõi quá trình thực hành trên lớp, chấm điểm mức độ hoàn thiện của các bài tập thuật toán và bài tập thiết kế giao diện.
  • Đánh giá định kỳ: Bố trí 02 giờ kiểm tra chính thức (1 giờ tại Bài 2 và 1 giờ tại Bài 5) dưới hình thức thực hành viết mã trực tiếp trên máy tính, đánh giá khả năng biên dịch, tối ưu giao diện và xử lý cơ sở dữ liệu.

Hướng dẫn tự học

  • Người học cần chủ động đọc hiểu cấu trúc các tệp XML, thực hiện cấu hình tài nguyên chuỗi đa ngôn ngữ trong res/values/strings.xml.
  • Khai thác công cụ Toast và bảng ghi vết Log (Log.d()) để theo dõi luồng thực thi và gỡ lỗi (debug) mã nguồn trong quá trình tự làm bài tập.

Điểm nổi bật và cập nhật

Cập nhật công cụ và công nghệ phát triển

Giáo trình ghi nhận bước chuyển giao công nghệ quan trọng từ nền tảng Eclipse ADT sang môi trường phát triển chính thức Android Studio của Google:

  • Giới thiệu quá trình phát triển của Android Studio từ bản 0.1 (tháng 5/2013), bản 1.1 (tháng 5/2015) đến phiên bản 1.3 được công bố tại Google I/O 2015.
  • Phân tích các tính năng vượt trội của Android Studio dựa trên nền IntelliJ: hỗ trợ hệ thống xây dựng tự động Gradle, hỗ trợ sửa lỗi nhanh và tái cấu trúc phương thức, cung cấp công cụ kiểm tra tính khả dụ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 trực quan hỗ trợ nhiều cấu hình thiết bị.
                           BẢNG SO SÁNH CÔNG CỤ PHÁT TRIỂN
+----------------------+-----------------------------+-------------------------------+
| Tiêu chí so sánh     | Eclipse ADT (Cũ)            | Android Studio (Cập nhật)     |
+----------------------+-----------------------------+-------------------------------+
| Nền tảng cốt lõi     | Eclipse IDE                 | IntelliJ IDEA                 |
| Hệ thống Build       | Ant Build System            | Gradle Build System           |
| Trình biên tập UI    | Kéo thả cơ bản              | Visual Layout Editor đa thiết bị |
| Tích hợp đám mây     | Hạn chế                     | Tích hợp sẵn Google Cloud     |
| Kiểm tra & Tối ưu    | Công cụ ngoài               | Lint Check & Static Analysis  |
+----------------------+-----------------------------+-------------------------------+

Giải pháp tối ưu hóa thiết bị giả lập

Nhận diện hạn chế về tốc độ khởi động của trình giả lập mặc định trong Android Studio, giáo trình hướng dẫn giải pháp tích hợp máy ảo Genymotion của bên thứ ba, giúp tối ưu hóa hiệu năng kiểm thử và tiết kiệm tài nguyên máy tính của sinh viên trong quá trình học tập.

Tính tương thích và yêu cầu hệ thống

Giáo trình xác định rõ ràng yêu cầu phần cứng và phần mềm để thiết lập môi trường phát triển:

  • Hệ điều hành: Microsoft Windows 8/7/Vista/2003 (32 hoặc 64-bit), Mac OS hoặc Linux.
  • Bộ nhớ RAM: Tối thiểu 2 GB trở lên.
  • Dung lượng ổ cứng: Tối thiểu 400 MB cho IDE và ít nhất 1 GB cho Android SDK, image máy ảo và bộ nhớ đệm cache.
  • Màn hình: Độ phân giải tối thiểu 1280 x 800 pixel.
  • Nền tảng Java: Java Development Kit (JDK) từ phiên bản 7 trở lên.
  • Hỗ trợ công nghệ ảo hóa: Intel VT-x, Intel EM64T và Execute Disable Bit.

Đối tượng sử dụng giáo trình

                            ĐỐI TƯỢNG SỬ DỤNG VÀ YÊU CẦU
+-----------------------------------------------------------------------------------+
| 1. Sinh viên Cao đẳng nghề: Ngành Lập trình máy tính, Công nghệ thông tin          |
| 2. Điều kiện tiên quyết   : Đã học Java Core (OOP), Cơ sở dữ liệu quan hệ (SQL)   |
| 3. Giảng viên chuyên ngành: Làm đề cương chi tiết, giáo án lý thuyết & thực hành  |
| 4. Người tự học lập trình : Tài liệu tham khảo nhập môn Android SDK trên Java     |
+-----------------------------------------------------------------------------------+

Sinh viên chuyên ngành

Tài liệu được biên soạn phục vụ trực tiếp cho sinh viên trình độ Cao đẳng nghề thuộc ngành Lập trình máy tính, Công nghệ thông tin hoặc các chuyên ngành liên quan đến kỹ thuật phần mềm đang học các học phần chuyên môn về phát triển ứng dụng di động.

Kiến thức tiên quyết (Prerequisites)

Để tiếp thu hiệu quả nội dung giáo trình, người học cần trang bị trước các kiến thức nền tảng:

  • Kiến thức lập trình hướng đối tượng căn bản với ngôn ngữ Java (khái niệm class, object, kế thừa, interface, ghi đè phương thức, xử lý collection như ArrayList).
  • Hiểu biết về cú pháp và cấu trúc dữ liệu XML.
  • Kiến thức cơ bản về cơ sở dữ liệu quan hệ và cú pháp truy vấn SQL (các câu lệnh SELECT, INSERT, UPDATE, DELETE).

Giảng viên và cán bộ đào tạo

Giảng viên sử dụng tài liệu làm khung đề cương chi tiết để thiết kế bài giảng, phân bổ tiến độ giảng dạy 75 giờ, chuẩn bị hệ thống bài tập thực hành trên máy và xây dựng ngân hàng đề kiểm tra đánh giá theo đúng chuẩn đầu ra của mô đun.

Người tự học và nghiên cứu

Tài liệu là nguồn tham khảo học thuật phù hợp cho các lập trình viên hoặc kỹ thuật viên muốn tiếp cận kiến trúc cơ bản của hệ điều hành Android, nắm vững cách thức hoạt động của các thành phần UI, Intent và cơ sở dữ liệu cục bộ SQLite.


Câu hỏi thường gặp

+-----------------------------------------------------------------------------------+
|                             CÁC CÂU HỎI THƯỜNG GẶP                                |
+-----------------------------------------------------------------------------------+
| 1. Giáo trình này phù hợp với đối tượng nào?                                      |
| 2. Cần chuẩn bị những kiến thức nền tảng nào trước khi học?                       |
| 3. Điểm khác biệt cốt lõi của giáo trình so với các tài liệu lý thuyết thuần túy? |
| 4. Làm thế nào để tự học và thực hành hiệu quả theo giáo trình?                   |
| 5. Giáo trình cung cấp những tài liệu và mã nguồn bổ trợ nào?                     |
+-----------------------------------------------------------------------------------+

1. Giáo trình này phù hợp với ai?

Giáo trình được thiết kế chuẩn hóa cho sinh viên hệ Cao đẳng nghề ngành Lập trình máy tính, đồng thời phù hợp với những người bắt đầu học lập trình ứng dụng di động Android trên nền tảng Java SDK.

2. Cần kiến thức nền nào để học?

Người học cần có nền tảng vững chắc về ngôn ngữ lập trình Java (đặc biệt là lập trình hướng đối tượng OOP), hiểu cấu trúc tệp XML và nắm được các câu lệnh truy vấn SQL cơ bản.

3. Điểm khác biệt với giáo trình khác?

Khác với các tài liệu thuần lý thuyết, giáo trình này phân bổ thời lượng thực hành lên đến 53/75 giờ (chiếm hơn 70%). Toàn bộ các bài học đều trình bày chi tiết từng bước thao tác giao diện, trích xuất cấu trúc XML, mã nguồn Java tường minh và giải thích chi tiết các đối số của từng phương thức hệ thống.

4. Làm sao để tự học hiệu quả?

Người học cần tiến hành cài đặt hoàn chỉnh môi trường phát triển Android Studio và Genymotion theo hướng dẫn chi tiết ở Bài 1; sau đó trực tiếp gõ và chạy từng đoạn mã nguồn ví dụ, hoàn thành 10 bài tập thuật toán ở Bài 2 và triển khai trọn vẹn dự án Custom ListView cũng như dự án kết nối cơ sở dữ liệu SQLite ở Bài 5.

5. Có tài liệu bổ trợ nào kèm theo?

Giáo trình cung cấp sẵn các đoạn mã XML giao diện (list_row.xml, layout khai báo View), mã nguồn mẫu các lớp thực thể và adapter (Country, CountryModel, CountryAdapter), cấu hình mẫu tệp AndroidManifest.xml cùng phần mục lục tra cứu thuật ngữ chuyên môn ở cuối tài liệu.


Kết luận

Giáo trình Mô đun: Lập trình Di động (MĐ33) của Trường Cao đẳng Nghề An Giang là tài liệu học thuật có cấu trúc sư phạm chặt chẽ, đáp ứng yêu cầu đào tạo kỹ năng thực hành nghề nghiệp trong lĩnh vực phát triển phần mềm di động. Tài liệu đã chuẩn hóa toàn bộ khối lượng kiến thức từ cấu hình công cụ, thiết kế giao diện View/ViewGroup, điều phối luồng ứng dụng qua Activity/Intent đến quản trị cơ sở dữ liệu SQLite.

                           LỘ TRÌNH HỌC TẬP KHUYẾN NGHỊ
+----------------------+     +----------------------+     +----------------------+
| BƯỚC 1: HẠ TẦNG      | --> | BƯỚC 2: GIAO DIỆN UI | --> | BƯỚC 3: ĐIỀU PHỐI    |
| Cài đặt JDK, Android |     | Thiết lập Layout,    |     | Vòng đời Activity,   |
| Studio, Genymotion   |     | View, Custom ListView|     | Intent & Bundle      |
+----------------------+     +----------------------+     +----------------------+
                                                                     |
                                                                     v
+----------------------+     +----------------------+     +----------------------+
| BƯỚC 6: TRIỂN KHAI   | <-- | BƯỚC 5: DỮ LIỆU      | <-- | BƯỚC 4: MENU & TÌM   |
| Hoàn thiện ứng dụng, |     | Tích hợp SQLite,     |     | Xây dựng OptionMenu, |
| đóng gói tệp APK     |     | thực thi CRUD Data   |     | ContextMenu, Search  |
+----------------------+     +----------------------+     +----------------------+

Để mở rộng và cập nhật kiến thức, người học được khuyến nghị tham khảo thêm các nguồn tài liệu kỹ thuật chính thức từ cổng thông tin nhà phát triển Android (Android Developers Portal), tài liệu nền tảng Oracle Java SE và bộ công cụ hỗ trợ cơ sở dữ liệu SQLiteManager.