TỔNG QUAN HỌC THUẬT VÀ NỘI DUNG GIÁO TRÌNH LẬP TRÌNH THIẾT BỊ DI ĐỘNG 2 (LẬP TRÌNH ỨNG DỤNG ANDROID)


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

Giáo trình Lập trình Thiết bị Di động 2 (Mã môn học/mô đun: MĐ 29) là tài liệu giảng dạy chuyên môn thuộc chương trình đào tạo nghề Ứng dụng phần mềm hệ Cao đẳng của Trường Cao đẳng nghề Cần Thơ, được ban hành chính thức vào năm 2021. Giáo trình do tác giả Nguyễn Hoàng Vũ làm chủ biên, được xây dựng dựa trên chương trình khung đào tạo nghề và kinh nghiệm giảng dạy thực tế của đội ngũ giảng viên chuyên ngành công nghệ thông tin.

                    CHƯƠNG TRÌNH ĐÀO TẠO CAO ĐẲNG NGHỀ
                         (Nghề: Ứng dụng phần mềm)

Về vị trí trong chương trình đào tạo, mô đun MĐ 29 đóng vai trò là môn học cơ sở chuyên ngành, trang bị cho học viên năng lực lập trình và xây dựng ứng dụng di động hoàn chỉnh trên hệ điều hành Android. Về khối lượng học tập, giáo trình được thiết kế với tổng thời lượng 75 giờ đào tạo, phân bổ gồm 15 giờ lý thuyết, 57 giờ thực hành/thí nghiệm/thảo luận và 3 giờ kiểm tra định kỳ.

Mục tiêu học tập của giáo trình hướng tới việc hình thành năng lực toàn diện cho người học:

  • Về kiến thức: Nắm vững cấu trúc lưu trữ cơ sở dữ liệu quan hệ cục bộ SQLite; cơ chế quản lý và chia sẻ dữ liệu liên ứng dụng qua Content Provider; phương thức thiết kế điều hướng giao diện chuyên nghiệp; cơ chế xử lý đa luồng và dịch vụ chạy ngầm; kỹ thuật phân tích dữ liệu XML, JSON; tích hợp dịch vụ bản đồ, điện toán đám mây và tương tác phần cứng thiết bị.
  • Về kỹ năng: Cài đặt, triển khai và gỡ lỗi được các ứng dụng Android theo mô hình kiến trúc chuẩn (như DAO, MVC); kiểm soát luồng xử lý để hạn chế lỗi treo ứng dụng (ANR); khai thác thành công các Web Service và API hệ thống.
  • Về năng lực tự chủ và trách nhiệm: Rèn luyện tính cẩn thận, độ chính xác cao trong tổ chức mã nguồn, tư duy làm việc khoa học và tuân thủ các tiêu chuẩn bản quyền phần mềm.

Giáo trình tiếp cận theo mô hình kết hợp lý thuyết - thực hành - đánh giá chuẩn đầu ra. Mỗi đơn vị bài học đều đi kèm hướng dẫn lập trình từng bước, hệ thống bài tập thực tế và tiêu chí đánh giá cụ thể.


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

                             CẤU TRÚC 11 BÀI HỌC TRONG GIÁO TRÌNH

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

Nội dung giáo trình gồm 11 bài học chuyên đề, xây dựng theo lộ trình nâng dần mức độ phức tạp:

  • Bài 1 (MĐ29-01): Lưu trữ dữ liệu – SQLite: Khái quát về hệ quản trị cơ sở dữ liệu quan hệ nhúng SQLite; cấu trúc thư mục lưu trữ DATA/data/<PACKAGE_NAME>/databases/; phương thức xây dựng và nâng cấp cơ sở dữ liệu thông qua lớp trừu tượng SQLiteOpenHelper với các phương thức onCreate()onUpgrade(); kỹ thuật thao tác dữ liệu qua đối tượng SQLiteDatabase bằng câu lệnh SQL thô (rawQuery(), execSQL()) hoặc cú pháp hàm (query(), insert(), update(), delete()); xử lý tập kết quả thông qua Cursor; sắp xếp và gom nhóm dữ liệu với mệnh đề ORDER BY, GROUP BY, HAVING; triển khai mẫu thiết kế DAO (Data Access Object).
  • Bài 2 (MĐ29-02): Quản lý dữ liệu với Content Provider: Cơ chế bảo vệ và chia sẻ dữ liệu liên ứng dụng; kiến trúc Content Provider gồm 4 thành phần: Kho dữ liệu (Data/Open Helper), Lớp Contract (định nghĩa schema, URI, hằng số), Lớp ContentProvider (kế thừa và định nghĩa các thao tác CRUD) và Trình điều khiển ContentResolver; quản lý và lọc định tuyến URI bằng UriMatcher; thao tác điều khiển con trỏ Cursor (moveToFirst(), moveToNext(), getColumnIndex()); truy vấn dữ liệu hệ thống như danh bạ (ContactsContract) và tin nhắn (content://sms/inbox).
  • Bài 3 (MĐ29-03): Menu - Action Bar - Toolbar: Cấu hình và xử lý các loại menu trong Android: Options Menu (thao tác chính của ứng dụng), Context Menu (gồm Floating Context Menu và Contextual Action Mode kích hoạt qua ActionMode.Callback), Popup Menu và Checkable Item Menu; cấu trúc phân tầng và triển khai các thành phần trên ActionBar/Toolbar (App Icon, View Control, Action Button, Action Overflow).
  • Bài 4 (MĐ29-04): Action Provider, điều khiển tìm kiếm và các chuyển hoạt: Khai báo và sử dụng SearchView trên thanh công cụ; cấu hình Action Provider phục vụ chia sẻ dữ liệu và tùy chỉnh các hiệu ứng chuyển hoạt giao diện.
  • Bài 5 (MĐ29-05): AsyncTask - Thread - Handler: Khái niệm xử lý đa luồng (Multithreading); phân biệt Main Thread (UI Thread) và Worker Thread; phân tích nguyên nhân và cách xử lý hiện tượng ứng dụng bị treo không phản hồi (ANR - Application Not Responding); cơ chế đồng bộ và truyền thông điệp giữa các luồng bằng Handler, Message, Looper và lớp thực thi tác vụ bất đồng bộ AsyncTask.
  • Bài 6 (MĐ29-06): Service - Broadcast Receiver và Notification: Vòng đời và phương thức hoạt động của thành phần dịch vụ chạy ngầm Service; cơ chế thu nhận và xử lý sự kiện toàn hệ thống thông qua Broadcast Receiver; xây dựng và quản lý các loại thông báo Notification trên thanh trạng thái.
  • Bài 7 (MĐ29-07): Khai thác tài nguyên internet và giao thức kết nối Webservice: Thiết lập kết nối mạng qua giao thức HTTP/HTTPS; sử dụng dịch vụ quản lý tải tệp DownloadManager; kiến trúc Web Service chuẩn RESTful và phương thức truy xuất dữ liệu từ các API máy chủ từ xa.
  • Bài 8 (MĐ29-08): Thao tác với dữ liệu XML và JSON: Cấu trúc cú pháp các định dạng dữ liệu truyền tải chuẩn; kỹ thuật đọc, phân tích (parsing) và ghi dữ liệu XML/JSON trong môi trường Android.
  • Bài 9 (MĐ29-09): Google Map và Google Cloud Messaging: Tích hợp Google Play Services SDK; đăng ký và cấu hình Google Maps Android API Key; tạo đối tượng bản đồ, vẽ đồ họa và quản lý vị trí; cấu hình môi trường máy chủ và ứng dụng khách với Google Cloud Messaging (GCM).
  • Bài 10 (MĐ29-10): Các điều khiển đa truyền thông: Xây dựng trình phát âm thanh và video với lớp MediaPlayer; kỹ thuật thu âm và ghi hình; điều khiển máy ảnh (Camera) và quản lý tập tin truyền thông trong hệ thống lưu trữ MediaStore.
  • Bài 11 (MĐ29-11): Telephone & SMS và bộ cảm biến: Khai thác các tính năng phần cứng viễn thông qua SmsManager; cơ chế truy xuất và lấy dữ liệu từ các cảm biến vật lý trên thiết bị; ứng dụng giao tiếp trường gần NFC (Near Field Communication).
                      MÔ HÌNH KIẾN TRÚC CONTENT PROVIDER TRONG BÀI 2

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

Giáo trình hình thành nền tảng lý thuyết và kỹ thuật thông qua các trục kiến thức:

  1. Nguyên lý lưu trữ và toàn vẹn dữ liệu di động: Mô hình tổ chức dữ liệu dạng bảng quan hệ cục bộ với SQLite, sự độc lập giữa lớp dữ liệu và lớp hiển thị, cơ chế phân quyền bảo mật dữ liệu giữa các ứng dụng trên cùng một thiết bị.
  2. Kiến trúc phân luồng và quản lý tài nguyên: Cơ chế phân định ranh giới giữa giao diện đồ họa chính và các tiến trình nền độc lập, đảm bảo hiệu năng xử lý tác vụ nặng không ảnh hưởng đến trải nghiệm người dùng.
  3. Mô hình kết nối và giao tiếp dữ liệu hiện đại: Quy chuẩn trao đổi dữ liệu không đồng bộ qua mạng máy tính, cấu trúc RESTful, mô hình truyền thông điệp đẩy (Push Notification) và chuẩn giao tiếp phần cứng trực tiếp.

Kỹ năng phát triển

Thông qua các bài học, học viên phát triển hệ thống kỹ năng thực hành nghề nghiệp:

  • Kỹ năng kỹ thuật (Technical Skills): Khởi tạo và quản lý cơ sở dữ liệu SQLite; viết mã nguồn triển khai ContentProviderContentResolver; thiết kế giao diện bằng XML kết hợp xử lý logic sự kiện trong Java; cấu hình quyền hạn ứng dụng trong tệp AndroidManifest.xml (như READ_CONTACTS, SEND_SMS).
  • Kỹ năng phân tích (Analytical Skills): Phân tích lược đồ dữ liệu; xử lý các ngoại lệ kết nối mạng (HTTP/HTTPSException, SQLException); tối ưu hóa truy vấn dữ liệu thông qua cấu trúc chỉ mục và con trỏ Cursor.
  • Kỹ năng ứng dụng thực tế (Practical Competencies): Xây dựng các ứng dụng hoàn chỉnh tích hợp phần cứng như ứng dụng đọc/gửi tin nhắn, danh bạ điện thoại, ứng dụng nghe nhạc/xem phim, bản đồ định vị số.

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 năng lực thực hiện (Competency-Based Training). Thời lượng thực hành chiếm 76% tổng quỹ thời gian (57/75 giờ), lấy hoạt động lập trình trực tiếp trên máy tính làm trung tâm của tiến trình tiếp thu kiến thức.

                  CẤU TRÚC CHUẨN CỦA MỘT ĐƠN VỊ BÀI HỌC

Cấu trúc mỗi bài học trong tài liệu được thiết kế nhất quán qua 6 phần:

  1. Mục tiêu bài học: Xác định rõ kết quả đầu ra về kiến thức, kỹ năng thao tác và thái độ làm việc cần đạt được sau bài học.
  2. Nội dung lý thuyết chuyên đề: Trình bày lý thuyết gắn liền với các đoạn mã nguồn mẫu, bảng phân loại hàm và sơ đồ khối giải thích luồng xử lý.
  3. Bài tập của học viên: Đưa ra các bài tập lý thuyết tổng hợp và đề bài ứng dụng cụ thể (ví dụ: tạo ứng dụng hiển thị danh bạ có thanh cuộn ListView, tạo ứng dụng gửi tin nhắn sử dụng SmsManager).
  4. Hướng dẫn thực hiện chi tiết (Step-by-step): Hướng dẫn tuần tự từ bước tạo dự án, thiết kế giao diện XML, viết lớp xử lý mã Java, khai báo quyền trong AndroidManifest.xml đến bước biên dịch và chạy thử trên máy ảo/thiết bị thật.
  5. Những trọng tâm cần chú ý và bài tập mở rộng nâng cao: Tổng hợp các lỗi thường gặp trong quá trình lập trình (như quên đóng con trỏ Cursor, thiếu quyền truy cập), đồng thời định hướng thêm các yêu cầu kỹ thuật nâng cao.
  6. Yêu cầu đánh giá kết quả học tập: Xác định tiêu chuẩn đánh giá kết quả học tập theo 3 khía cạnh:
    • Kiến thức: Đánh giá bằng hình thức kiểm tra viết, câu hỏi trắc nghiệm hoặc vấn đáp.
    • Kỹ năng: Đánh giá qua quá trình thao tác trực tiếp, mức độ hoàn thiện của sản phẩm ứng dụng và khả năng chạy không phát sinh lỗi.
    • Năng lực tự chủ và trách nhiệm: Đánh giá tính cẩn thận, ngăn nắp, chính xác trong việc tổ chức mã nguồn và quản lý tiến độ.

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

  • Bám sát khung đào tạo nghề năm 2021: Toàn bộ nội dung giáo trình được biên soạn dựa trên chương trình đào tạo chính thức ban hành năm 2021 của Trường Cao đẳng nghề Cần Thơ, đảm bảo tính pháp lý, tính sư phạm và bám sát nhu cầu sử dụng lao động của ngành công nghiệp phần mềm.
  • Tính hệ thống trong cập nhật công nghệ: Giáo trình trình bày sự phát triển của các thành phần giao diện theo tiến trình nâng cấp của hệ điều hành Android, ví dụ: chuyển đổi từ nút Menu vật lý (Android 2.3 trở xuống) sang tích hợp trên thanh ActionBarToolbar từ phiên bản Android 3.0 trở đi; phân biệt Contextual Action Mode (từ API level 11) với Floating Context Menu.
  • Gắn kết chặt chẽ với bài toán thực tiễn: Các kịch bản thực hành trong giáo trình được xây dựng trực tiếp từ các chức năng thường gặp trong các dự án phần mềm thương mại:
    • Quản trị dữ liệu nội bộ thông qua mô hình lớp DataSource, HelperEntity (mô phỏng ứng dụng quản lý nhân sự/danh bạ).
    • Tương tác dịch vụ tầng mạng với DownloadManager cho phép cấu hình nơi lưu trữ, theo dõi tiến độ tải tệp và tùy biến thông báo.
    • Tích hợp các hàm điều khiển phần cứng viễn thông và cảm biến (SmsManager, cảm biến gia tốc, con quay hồi chuyển, NFC).
  • Minh họa mã nguồn tường minh: Giáo trình cung cấp mã nguồn hoàn chỉnh của các tệp Java, tệp bố cục XML và tệp kê khai AndroidManifest.xml, giúp người học nắm bắt trực tiếp cấu trúc của một dự án Android Studio tiêu chuẩn.

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

  • Sinh viên chuyên ngành: Là tài liệu học tập bắt buộc cho sinh viên theo học trình độ Cao đẳng nghề ngành Ứng dụng phần mềm và các chuyên ngành liên quan đến Công nghệ thông tin.
  • Điều kiện tiên quyết (Prerequisites): Người học cần trang bị trước các kiến thức nền tảng bao gồm:
    • Cú pháp và nguyên lý lập trình hướng đối tượng với ngôn ngữ Java.
    • Các khái niệm cơ bản về cấu trúc cơ sở dữ liệu quan hệ và cú pháp truy vấn SQL.
    • Kiến thức cơ sở về vòng đời ứng dụng Android từ mô đun Lập trình thiết bị di động 1.
  • Giảng viên chuyên nghiệp: Giáo trình cung cấp khung thời lượng chi tiết (75 giờ), mục tiêu học tập rõ ràng, mã nguồn mẫu và bảng tiêu chí đánh giá năng lực, hỗ trợ giảng viên xây dựng đề cương bài giảng và thiết kế đề thi thực hành theo chuẩn đầu ra.
  • Người tự học và nghiên cứu viên: Tài liệu là nguồn tham khảo kỹ thuật cho các lập trình viên muốn củng cố kiến thức về quản lý dữ liệu chuyên sâu trên Android, thao tác bất đồng bộ và kết nối API hệ thống.

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

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

Giáo trình được thiết kế chuẩn hóa cho sinh viên hệ Cao đẳng nghề ngành Ứng dụng phần mềm. Đồng thời, tài liệu phù hợp cho học viên các trung tâm đào tạo công nghệ thông tin và lập trình viên muốn nâng cao kỹ năng xây dựng ứng dụng Android ở mức độ trung cấp và nâng cao.

2. Cần chuẩn bị những kiến thức nền tảng nào trước khi học?

Học viên cần nắm vững kiến thức lập trình Java hướng đối tượng, cú pháp truy vấn cơ sở dữ liệu SQL cơ bản và các thành phần cốt lõi của ứng dụng di động (Activity, Intent, Layout cơ bản) đã được giảng dạy trong học phần Lập trình thiết bị di động 1.

3. Giáo trình này có điểm gì khác biệt so với các tài liệu lập trình Android khác?

Điểm khác biệt của giáo trình là thiết kế theo định hướng mô đun kỹ năng nghề: giảm thiểu lý thuyết hàn lâm, nâng tỷ trọng thực hành lên hơn 75% thời lượng, cấu trúc mỗi bài học đều có phần hướng dẫn chi tiết từng bước (Step-by-step) và bảng tiêu chí đánh giá kiến thức - kỹ năng - thái độ chuẩn mực.

4. Phương pháp tự học giáo trình này như thế nào để đạt hiệu quả cao?

Học viên nên cài đặt môi trường Android Studio và máy ảo giả lập; đọc kỹ phần lý thuyết cơ sở trước khi làm theo các bước trong phần "Hướng dẫn thực hiện"; sau đó tự hoàn thiện các bài tập mở rộng và kiểm tra lại sản phẩm theo bảng "Yêu cầu đánh giá kết quả học tập" ở cuối mỗi bài.

5. Giáo trình có cung cấp các ví dụ thực hành hoàn chỉnh không?

Có. Giáo trình cung cấp đầy đủ các đoạn mã nguồn mẫu từ giao diện XML, mã xử lý Java (Helper, Adapter, Activity), cấu hình tệp AndroidManifest.xml cho tới việc sử dụng các công cụ bên ngoài (như SQLite Editor trên máy giả lập) để kiểm tra kết quả lưu trữ dữ liệu.


Kết luận

Giáo trình Lập trình Thiết bị Di động 2 của Trường Cao đẳng nghề Cần Thơ là tài liệu đào tạo chuyên môn có tính sư phạm cao, cấu trúc mạch lạc và bám sát các yêu cầu thực tế của nghề lập trình ứng dụng di động Android. Với cấu trúc 11 bài học đi sâu vào các khía cạnh quản lý dữ liệu nội bộ, điều hướng giao diện, xử lý đa luồng, tích hợp Web Service và khai thác phần cứng, giáo trình cung cấp đầy đủ kiến thức và kỹ năng cần thiết cho học viên chuyên ngành Ứng dụng phần mềm.

Lộ trình học tập đề xuất là tiếp cận tuần tự theo trình tự 11 bài học trong mô đun, kết hợp chặt chẽ giữa việc nghiên cứu cú pháp hàm và lập trình thực hành trên công cụ Android Studio. Người học có thể tham khảo thêm danh mục các tài liệu chuyên khảo được trích dẫn tại trang 266 của giáo trình để tiếp tục mở rộng kiến thức chuyên sâu.