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

Giáo trình mô đun Lập Trình Di Động (Mã mô đun: MĐ33) được ban hành bởi Trường Cao đẳng Nghề An Giang trực thuộc Ủy ban Nhân dân Tỉnh An Giang, do tác giả Vũ Trường Duy tham gia biên soạn. Về vị trí trong chương trình đào tạo, đây là mô đun chuyên môn nghề bắt buộc thuộc khung chương trình đào tạo ngành Lập trình máy tính ở trình độ Cao đẳng. Mô đun được thiết kế với tổng thời lượng 75 giờ, bao gồm 20 giờ lý thuyết, 53 giờ thực hành/thảo luận và 2 giờ kiểm tra định kỳ.

Mục tiêu học tập của giáo trình được xác định cụ thể theo ba nhóm tiêu chuẩn:

  • Về kiến thức: Trang bị cho người học khả năng trình bày các dạng Layout; nhận diện đặc điểm và cách sử dụng các View cơ bản (TextView, EditText, Button, CheckBox, RadioButton, ImageButton, ImageView, ListView); phân tích khái niệm Activity và vòng đời của Activity; giải thích cấu trúc các đối tượng OptionMenu, ContextMenu, Menu tìm kiếm; trình bày hệ quản trị cơ sở dữ liệu SQLite cùng các thao tác truy vấn, thêm, cập nhật và xóa 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; xây dựng ứng dụng di động tích hợp các thành phần Layout, View cơ bản, hộp thoại thông báo AlertDialog, thông báo ngắn Toast; thực thi các thao tác đọc và ghi dữ liệu trên SQLite.
  • Về năng lực tự chủ và trách nhiệm: Hình thành tính cẩn thận, tỉ mỉ, chủ động tự giác trong học tập và nghiên cứu kỹ thuật phần mềm.

Cấu trúc giáo trình đi theo cách tiếp cận sư phạm thực hành kỹ thuật, phân bổ nội dung tuần tự từ thiết lập môi trường phát triển, thiết kế giao diện UI/UX từ mức độ cơ bản đến tùy biến nâng cao, kiểm soát luồng điều hướng màn hình thông qua cơ chế Activity/Intent, đến quản trị dữ liệu cục bộ. Điểm đặc sắc của giáo trình là tỷ trọng thực hành chiếm hơn 70% tổng thời lượng, sử dụng các công cụ lập trình tiêu chuẩn và mã nguồn mẫu trực quan.


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

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

Giáo trình được chia thành 5 bài học chuyên đề và phần ôn tập tổng kết:

  • Bài 1: Thiết lập môi trường lập trình Android (4 giờ): Cung cấp kiến thức tổng quan về hệ điều hành Android (lịch sử thành lập Android Inc. năm 2005, Open Handset Alliance năm 2007, kiến trúc trên nhân Linux 2.6 và máy ảo Dalvik). Hướng dẫn cài đặt Java JDK (tối thiểu JDK 7), Android SDK và Android Studio (phát triển trên nền IntelliJ, tích hợp Gradle). Hướng dẫn thiết lập máy ảo kiểm thử Genymotion và cấu hình dự án mới (Application name, Company Domain, Package name, Minimum SDK, Blank Activity). Giới thiệu cấu trúc giao diện làm việc của Android Studio gồm 6 vùng chức năng, tổ chức tệp tin mã nguồn (src, gen/R.java, bin/*.apk, res/drawable, res/layout, res/values, assets) và vai trò của tập tin AndroidManifest.xml.
  • Bài 2: Layout và View thường dùng trong Android (20 giờ): Trình bày hệ thống bố cục kế thừa từ ViewGroup: FrameLayout (tích hợp ViewFlipper, ScrollView), LinearLayout (hướng ngang/dọc, thuộc tính android:layout_weight), TableLayout (TableRow), RelativeLayout và AbsoluteLayout (đã deprecated). Hướng dẫn cơ chế ánh xạ findViewById(R.id.xyz) và điều khiển các View: TextView (các định dạng font, thuộc tính autoLink), EditText, Button (3 phương pháp bắt sự kiện OnClickListener), CheckBox, RadioButton (RadioGroup), ImageView, ImageButton (android:src), Toast (LENGTH_SHORT, LENGTH_LONG), AlertDialog (AlertDialog.Builder). Triển khai ListView cơ bản thông qua ArrayAdapter gắn với layout hệ thống android.R.layout.simple_list_item_1, và ListView nâng cao thông qua xây dựng Custom Adapter (CountryAdapter), layout tùy chỉnh list_row.xml, và lớp thực thể CountryModel.
  • Bài 3: Activity (16 giờ): Khái quát khái niệm Activity và ngăn xếp Activity Stack hoạt động theo cơ chế LIFO (Last In First Out). Mô tả 4 trạng thái của Activity: Active/Running, Paused, Stopped và Inactive/Destroyed. Phân tích đối tượng Intent (Explicit Intent và Implicit Intent) cùng các thành phần: Component, Action (ACTION_VIEW, ACTION_CALL, ACTION_DIAL,...), Data (URI), Category, Extras (Bundle, putExtra, getExtras) và Flag. Triển khai cơ chế truyền nhận dữ liệu phản hồi giữa các Activity thông qua bộ ba phương thức startActivityForResult(), setResult(), onActivityResult(). Hướng dẫn cấu hình bộ lọc IntentFilter trong AndroidManifest.xml theo các thẻ <action>, <data>, <category>.
  • Bài 4: Menu và điều khiển tìm kiếm (16 giờ): Giới thiệu phương pháp khởi tạo và xử lý sự kiện cho OptionMenu, ContextMenu và tích hợp các thành phần điều khiển tìm kiếm trên thanh tác vụ.
  • Bài 5: Cơ sở dữ liệu trong Android (16 giờ): Khái quát về hệ quản trị cơ sở dữ liệu quan hệ nhúng SQLite. Hướng dẫn sử dụng công cụ SQLiteManager, phương pháp sao chép cơ sở dữ liệu vào hệ thống ứng dụng và thực thi các thao tác CRUD (truy vấn dữ liệu, thêm mới, cập nhật và xóa bản ghi).
  • Ôn tập (3 giờ): Hệ thống hóa kiến thức toàn bộ 5 bài học và thực hành củng cố các bài tập tổng hợp.

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

Giáo trình thiết lập các khối kiến thức nền tảng có tính cấu trúc:

  • Nguyên lý kiến trúc hệ thống: Ứng dụng chạy trên nền tảng máy ảo Dalvik, tương tác với phần cứng qua nhân Linux 2.6; quản lý quyền truy xuất API và khai báo thành phần qua tệp cấu hình trung tâm AndroidManifest.xml.
  • Cấu trúc phân cấp giao diện người dùng: Mô hình kế thừa hướng đối tượng từ java.lang.Object $\rightarrow$ View $\rightarrow$ ViewGroup $\rightarrow$ các Layout chuyên biệt (LinearLayout, RelativeLayout, FrameLayout).
  • Mô hình hướng sự kiện và điều hướng tiến trình: Cơ chế truyền tải thông điệp bằng Intent, quản lý ngăn xếp màn hình LIFO, đồng bộ dữ liệu bằng Bundle, và xử lý bất đồng bộ thông qua các hàm lắng nghe sự kiện (EventListener).
  • Lưu trữ dữ liệu có cấu trúc: Nguyên lý cơ sở dữ liệu quan hệ cục bộ SQLite dành cho ứng dụng di động độc lập.
                  +-------------------------+
                  |    java.lang.Object     |
                  +-------------------------+
                               |
                               v
                  +-------------------------+
                  |       android.view      |
                  |          .View          |
                  +-------------------------+
                     /                   \
                    /                     \
                   v                       v
      +-------------------------+    +-------------------------+
      |        TextView         |    |        ViewGroup        |
      +-------------------------+    +-------------------------+
         /         \      \               /      |         \
        v           v      v             v       v          v
  +----------+ +------+ +--------+  +--------+ +--------+ +--------+
  | EditText | |Button| |Checkbox|  | Linear | |Relative| | Frame  |
  |          | |      | |/Radio  |  | Layout | | Layout | | Layout |
  +----------+ +------+ +--------+  +--------+ +--------+ +--------+

Kỹ năng phát triển

  • Kỹ năng kỹ thuật: Cài đặt và cấu hình bộ công cụ Android Studio, Android SDK Tools, máy ảo Genymotion; viết mã nguồn Java và khai báo giao diện XML; tổ chức tài nguyên đồ họa và chuỗi ký tự trong thư mục res/.
  • Kỹ năng phân tích thiết kế: Phân tích cây phân cấp giao diện (Hierarchy Tree), lựa chọn loại bố cục phù hợp nhằm tối ưu hóa hiển thị trên nhiều độ phân giải màn hình; thiết kế luồng truyền dữ liệu giữa các màn hình ứng dụng.
  • Kỹ năng lập trình thực tế: Xây dựng bộ điều hợp dữ liệu Custom Adapter cho danh sách phức tạp; bắt và xử lý sự kiện người dùng qua nhiều cơ chế khác nhau; lập trình hộp thoại tương tác AlertDialog; thực hiện đầy đủ các truy vấn dữ liệu CRUD trên SQLite.

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

Giáo trình áp dụng mô hình đào tạo theo định hướng thực hành nghề nghiệp. Tổng thời lượng 75 giờ được phân bổ rõ ràng:

  • Lý thuyết: 20 giờ (chiếm 26,7%), tập trung vào việc định nghĩa khái niệm, phân tích vòng đời, giải thích cấu trúc lớp và nguyên lý hoạt động của các thành phần Android.
  • Thực hành, thí nghiệm, thảo luận: 53 giờ (chiếm 70,7%), người học trực tiếp thao tác trên máy tính, viết mã nguồn Java và định dạng XML.
  • Kiểm tra định kỳ: 2 giờ (chiếm 2,6%), được bố trí sau Bài 2 (1 giờ) và sau Bài 5 (1 giờ) để đánh giá mức độ tiếp thu kiến thức và kỹ năng lập trình.
TT Tên chương, mục Tổng số (giờ) Lý thuyết (giờ) Thực hành, thảo luận (giờ) Kiểm tra (giờ)
1 Bài 1: Thiết lập môi trường lập trình Android 4 4 0 0
2 Bài 2: Layout và View thường dùng trong Android 20 8 11 1
3 Bài 3: Activity 16 4 12 0
4 Bài 4: Menu và điều khiển tìm kiếm 16 4 12 0
5 Bài 5: Cơ sở dữ liệu trong Android 16 4 11 1
6 Ôn tập 3 0 3 0
Cộng 75 20 53 2

Hệ thống bài tập trong giáo trình được xây dựng theo hai nhóm chính:

  1. Bài tập thuật toán và giao diện cơ bản (cuối Bài 2): Bao gồm 10 bài toán lập trình cụ thể nhằm rèn luyện kỹ năng kết hợp giữa giao diện (EditText, TextView, Button) và xử lý logic Java: giải phương trình bậc nhất, giải phương trình bậc hai, tìm số lớn nhất giữa hai số, các bài toán tính tổng chuỗi toán học ($1+2+...+N$, $1+3+...+21$, $1\cdot 2\cdot 3\cdots N$, $\sum 1/N$, $\sum N^2$), xuất dãy số lùi và in các số trong khoảng $(a, b)$.
  2. Bài tập tình huống và luồng xử lý thực tế (Bài 3): Phân tích ca sử dụng luồng màn hình Đăng nhập $\rightarrow$ Đăng ký $\rightarrow$ tự động nhận kết quả trả về để hoàn tất đăng nhập thông qua startActivityForResult() và setResult().

Về hướng dẫn tự học, giáo trình yêu cầu người học chủ động thực hiện gỡ rối ứng dụng bằng công cụ Toast và Log.d, tự biên dịch và kiểm tra lỗi giao diện trên các chế độ xoay màn hình khác nhau.


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

Nội dung giáo trình phản ánh các mốc kỹ thuật và công nghệ tiêu chuẩn của hệ sinh thái Android:

  • Cập nhật công cụ phát triển: Giáo trình đề cập quá trình chuyển dịch công cụ từ Eclipse ADT sang Android Studio (từ phiên bản 0.1 tháng 5/2013, bản 1.1 tháng 5/2015 đến bản 1.3 tại Google I/O 2015). Môi trường Android Studio được giới thiệu với hệ thống quản lý dự án dạng Gradle, trình biên tập giao diện trực quan hỗ trợ chế độ Design và Text, cùng các công cụ kiểm tra độ tương thích nền tảng.
  • Tối ưu hóa môi trường thử nghiệm: Bên cạnh trình giả lập AVD mặc định của Android SDK, giáo trình đưa vào tài liệu giải pháp tích hợp máy ảo Genymotion giúp tối ưu tốc độ khởi động và kiểm thử ứng dụng, đồng thời xác định rõ các yêu cầu hỗ trợ phần cứng Intel VT-x và Execute Disable (XD) Bit.
  • Tiêu chuẩn hóa thiết kế giao diện: Giáo trình hướng dẫn phân tách tường minh giữa mã nguồn logic Java và tài nguyên giao diện XML; định nghĩa kích thước theo đơn vị chuẩn dp/px/dip; quản lý tài nguyên linh hoạt theo cấu hình thiết bị (res/layout-land, res/drawable-hdpi, res/values/strings.xml).
  • Quy chuẩn phát hành ứng dụng: Hướng dẫn chi tiết các thông số đóng gói ứng dụng phục vụ việc xuất bản lên Google Play Store như Application name, Company Domain, Package name, cấu hình Minimum SDK và tệp gói cài đặt *.apk.
           Mốc phát triển Android Studio trong giáo trình

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

Giáo trình được biên soạn phục vụ các nhóm đối tượng cụ thể trong hệ thống giáo dục nghề nghiệp và kỹ thuật:

  • Sinh viên: Dành cho sinh viên trình độ Cao đẳng thuộc ngành Lập trình máy tính. Sinh viên cần hoàn thành các học phần điều kiện tiên quyết bao gồm: Lập trình hướng đối tượng với Java (yêu cầu cài đặt JDK 7 trở lên), Cấu trúc dữ liệu và giải thuật cơ bản, và kiến thức về ngôn ngữ đánh dấu XML.
  • Giảng viên: Sử dụng làm tài liệu giảng dạy chính thức cho mô đun MĐ33. Cung cấp đề cương phân bổ giờ chi tiết (20 giờ lý thuyết, 53 giờ thực hành, 2 giờ kiểm tra), hệ thống câu hỏi lý thuyết, các đoạn mã nguồn mẫu hoàn chỉnh và ngân hàng 10 bài tập thuật toán thực hành.
  • Người tự học và lập trình viên: Đóng vai trò là tài liệu tham khảo kỹ thuật nền tảng cho những người muốn tiếp cận lập trình ứng dụng Android thuần (Native Java), cung cấp bảng tra cứu các phương thức khởi tạo AlertDialog.Builder, vòng đời ActivityLifecycle, cú pháp ánh xạ findViewById và quy trình kết nối cơ sở dữ liệu SQLite.

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

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

Giáo trình được thiết kế cho sinh viên hệ Cao đẳng ngành Lập trình máy tính và những người học cần tài liệu kỹ thuật có cấu trúc về lập trình ứng dụng Android trên nền tảng Java.

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

Người học cần có kiến thức lập trình căn bản bằng ngôn ngữ Java (cú pháp, hướng đối tượng), hiểu biết về cấu trúc tệp XML, tư duy thuật toán cơ bản và kỹ năng quản lý tệp tin trên các hệ điều hành (Windows, Linux hoặc Mac OS).

3. Điểm khác biệt của giáo trình này so với các tài liệu lý thuyết thuần túy là gì?

Giáo trình phân bổ thời lượng thực hành chiếm hơn 70% (53/75 giờ), cung cấp các bước triển khai trực tiếp trên Android Studio, có mã nguồn mẫu Java/XML chi tiết cho từng bài học và hệ thống 10 bài tập giải thuật kết hợp giao diện.

4. Làm sao để tự học hiệu quả theo giáo trình?

Người học cần cài đặt đầy đủ môi trường Android Studio, Java JDK và máy ảo Genymotion theo hướng dẫn ở Bài 1; thực hành gõ lại và biên dịch các đoạn mã nguồn mẫu; sử dụng Toast và Log.d để theo dõi tiến trình thực thi; hoàn thành đầy đủ các bài tập lập trình ở cuối Bài 2 và câu hỏi ôn tập ở Bài 3.

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

Giáo trình cung cấp sẵn mã nguồn mẫu cho các thành phần (như CountryAdapter, CountryModel, MainActivity), các tệp XML mẫu (list_row.xml, list_data.xml, AndroidManifest.xml), bảng tra cứu các phương thức thuộc tính của View/AlertDialog, và danh mục giải thích các 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ã mô đun: MĐ33) của Trường Cao đẳng Nghề An Giang là tài liệu học tập chuẩn hóa cho chuyên ngành Lập trình máy tính trình độ Cao đẳng. Tài liệu tập trung cung cấp các kiến thức kỹ thuật xác thực về nền tảng Android, hệ thống bố cục Layout, các View điều khiển, vòng đời Activity, cơ chế Intent và hệ quản trị cơ sở dữ liệu SQLite.

Lộ trình học tập đề xuất:

  1. Giai đoạn 1: Thiết lập môi trường Android Studio, cấu hình SDK, JDK và máy ảo Genymotion (Bài 1).
  2. Giai đoạn 2: Làm chủ thiết kế giao diện với các Layout, View cơ bản, Toast, Dialog và xây dựng Custom ListView (Bài 2).
  3. Giai đoạn 3: Xử lý điều hướng đa màn hình, truyền nhận dữ liệu với Intent và quản lý vòng đời Activity (Bài 3).
  4. Giai đoạn 4: Hoàn thiện giao diện với Menu, thanh tìm kiếm (Bài 4) và thực hiện các thao tác lưu trữ dữ liệu với SQLite (Bài 5).

Tài liệu bổ trợ bao gồm phần Các thuật ngữ chuyên môn ở trang 67 của giáo trình, cùng các cấu hình XML và mã nguồn Java mẫu đi kèm trong từng chương.