Thực hành: Tạo ứng dụng về động vật lưỡng cư

1. Trước khi bắt đầu

Giới thiệu

Trong bài này, bạn đã học cách nâng cao ứng dụng của mình bằng cách truy xuất dữ liệu từ Internet. Ứng dụng của bạn hiện có thể cho thấy dữ liệu mới nhất có sẵn từ máy chủ và không bị giới hạn ở những dữ liệu có sẵn khi mở ứng dụng. Đây là chức năng rất quan trọng trong hầu hết ứng dụng thực tế.

Trong bộ bài tập thực hành này, bạn sẽ áp dụng các khái niệm đã học và tạo ứng dụng về các loài lưỡng cư. Ứng dụng này sẽ truy xuất dữ liệu về động vật lưỡng cư từ Internet và hiển thị dữ liệu này trong danh sách cuộn.

Chúng tôi sẽ cung cấp mã giải pháp ở phần cuối. Để khai thác tối đa trải nghiệm học tập này, bạn hãy cố gắng triển khai và khắc phục sự cố nhiều nhất có thể trước khi xem mã giải pháp chúng tôi cung cấp. Chính trong thời gian bắt tay vào thực hành này, bạn sẽ học được nhiều kiến thức nhất.

Điều kiện tiên quyết

Bạn cần có

  • Máy tính có kết nối Internet và đã cài đặt Android Studio.

Sản phẩm bạn sẽ tạo ra

Trong bộ bài tập thực hành này, bạn sẽ xây dựng một ứng dụng để hiển thị danh sách động vật lưỡng cư, cùng với thông tin chi tiết và hình ảnh của các động vật này. Dữ liệu về động vật lưỡng cư bao gồm tên, loại, thông tin mô tả và URL hình ảnh của động vật lưỡng cư. Bạn sẽ truy xuất dữ liệu này từ Internet bằng cách thực hiện yêu cầu mạng.

Dữ liệu JSON về động vật lưỡng cư được lưu trữ tại https://android-kotlin-fun-mars-server.appspot.com/amphibians.

Đoạn mã giải pháp được cung cấp sẽ cho thấy thiết kế giao diện người dùng như sau:

a90fef39e908f431.png

Các phần sau đây sẽ đưa ra các bước chung để tạo ứng dụng. Đây không phải là các bước bắt buộc phải tuân theo, mà để hướng dẫn bạn trong quá trình thực hành.

2. Lên kế hoạch cho ứng dụng

Trước khi bắt đầu lập trình, dành chút thời gian để phác thảo các thành phần khác nhau cho ứng dụng của bạn, cũng như cách các thành phần này kết nối với nhau.

Bước chuẩn bị này giúp bạn xác định những việc cần làm, vạch ra những vấn đề có thể sẽ gặp phải và suy nghĩ về cách giải quyết vấn đề.

3. Tạo dự án mới

Bắt đầu với một dự án mới trong Android Studio:

  1. Mở Android Studio và chọn Dự án mới (New Project).
  2. Trong phần Templates (Mẫu), hãy chọn Phone and Tablet (Điện thoại và máy tính bảng).
  3. Chọn Empty Activity (Hoạt động trống) rồi nhấp vào Next (Tiếp theo).
  4. Đổi tên thành Amphibians.
  5. Nhấp vào Finish (Hoàn tất).

Giờ bạn đã sẵn sàng bắt đầu lập trình!

4. Thiết lập phần phụ thuộc

Ứng dụng sử dụng Retrofit để yêu cầu mạng, Coil để tải hình ảnh và thư viện kotlinx.serialization để phân tích cú pháp JSON do API Amphibians trả về.

Thêm các phần phụ thuộc vào app/build.gradle.

5. Tạo lớp giao diện người dùng

Bạn nên làm theo các phương pháp hay nhất về cấu trúc ứng dụng Android và tạo lớp giao diện người dùng cho ứng dụng này.

Lớp này chứa ViewModel và các hàm có khả năng kết hợp hiển thị UiState đến từ ViewModel trên màn hình. ViewModel chịu trách nhiệm hiển thị trạng thái màn hình giao diện người dùng, xử lý logic công việc trong lớp giao diện người dùng và gọi logic công việc đó từ các lớp khác trong hệ phân cấp.

Lớp giao diện người dùng cũng chứa các phần tử hình ảnh mà người dùng nhìn thấy và tương tác. Lớp này là nơi bạn quyết định cách phối hợp các thành phần khác nhau để tạo nên giao diện người dùng mà bạn hình dung. Bạn sẽ quyết định màu sắc, phông chữ và cách hiển thị hình ảnh.

6. Tạo lớp dữ liệu

Lớp dữ liệu chịu trách nhiệm truy xuất dữ liệu về động vật lưỡng cư từ API.

Có thể bạn sẽ muốn cung cấp một lớp dữ liệu cho dữ liệu về động vật lưỡng cư, kho lưu trữ để quản lý dữ liệu đó, và một lớp nguồn dữ liệu để truy xuất dữ liệu từ mạng.

Nếu cần trợ giúp để thực hiện các lệnh gọi mạng, bạn có thể tham khảo phần Dịch vụ web và Retrofit trong lớp học lập trình Nhận dữ liệu từ Internet.

Để được trợ giúp phân tích cú pháp phản hồi mạng, tham khảo bài viết Phân tích phản hồi JSON bằng kotlinx.serialization.

Để tải hình ảnh bằng Coil, bạn có thể xemtài liệu chính thức hoặc tham khảo lại phần Hiển thị hình ảnh đã tải xuống của lớp học lập trình Tải và hiển thị hình ảnh từ Internet.

7. Triển khai Chèn phần phụ thuộc

Bạn nên sử dụng tính năng Chèn phần phụ thuộc (DI) để giúp ứng dụng luôn linh hoạt, mạnh mẽ và sẵn sàng mở rộng quy mô.

DI giúp bạn có thể tháo rời và kiểm thử các thành phần ứng dụng dễ dàng hơn.

Khi triển khai DI, bạn cần tạo một vùng chứa ứng dụng. Vùng chứa này được dùng để nhận các phần phụ thuộc mà ứng dụng của bạn cần.

Vùng chứa ứng dụng phải có thể được truy cập bởi toàn bộ ứng dụng. Bạn có thể thực hiện việc này bằng cách giữ vùng chứa phần phụ thuộc trong một lớp Application tùy chỉnh. Lớp này sau đó kế thừa từ lớp Application.

Nếu bạn cần trợ giúp trong quá trình triển khai chức năng này:

8. Đoạn mã giải pháp