Bài học 8: Cấu trúc ứng dụng (lớp giao diện người dùng)

  1. Để tránh bị mất dữ liệu trong quá trình thay đổi cấu hình thiết bị, bạn nên lưu dữ liệu ứng dụng vào lớp nào?

  2. ViewModel không được chứa nội dung tham chiếu đến mảnh, hoạt động hoặc chế độ xem. Đúng hay sai?

  3. Khi nào ViewModel bị huỷ bỏ?

  4. Giao diện ViewModelFactory dùng để làm gì?

  5. Bạn đóng gói LiveData lưu trữ trong ViewModel như thế nào để các đối tượng bên ngoài có thể đọc nhưng không thể cập nhật dữ liệu?

  6. LiveData sẽ cập nhật trình điều khiển giao diện người dùng (chẳng hạn như một mảnh) nếu trình này ở một trong các trạng thái sau đây?

  7. Trong mẫu quan sát LiveData, mục quan sát (mục được quan sát) là gì?

  8. Để chuyển đổi LiveData sang giá trị hoặc định dạng khác, bạn nên thêm logic định dạng dữ liệu bằng phương thức Transformations.map() trong lớp nào?

  9. Phương thức Transformations.map() giúp bạn dễ dàng thực hiện các thao tác đối với dữ liệu trên LiveData và trả về ___.

  10. Tham số của phương thức Transformations.map() là gì?

  11. Hàm lambda đã chuyển vào phương thức Transformations.map() được thực thi trong chuỗi nào?