12/08/2018, 16:41

Android Architecture Components: ViewModel

Hôm nay tôi muốn nói đến ViewModel trong Android Architecture Components.Như bạn biết, thành phần này rất hữu ích khi bạn muốn quản lý và xử lý dữ liệu cho giao diện của bạn (Ví dụ Activity hoặc Fragment). Bây giờ thì cùng thử xem triển khai ViewModel vào trong dự án của bạn thế nào nhé. 1. ...

Hôm nay tôi muốn nói đến ViewModel trong Android Architecture Components.Như bạn biết, thành phần này rất hữu ích khi bạn muốn quản lý và xử lý dữ liệu cho giao diện của bạn (Ví dụ Activity hoặc Fragment). Bây giờ thì cùng thử xem triển khai ViewModel vào trong dự án của bạn thế nào nhé.

1. Lời mở đầu

Giả sử bạn có một số Activity. Có thể bạn cũng sẽ có một số Object để lưu trữ và cung cấp dữ liệu cho UI (như Presenter được biết đến từ MVP hoặc ViewModel từ MVVM). Thật không may, người dùng có thể xoay điện thoại của mình ಠ_ಠ Điều gì sẽ xảy ra sau đó? Activity của bạn sẽ được tạo lại. Và sẽ có người giữ dữ liệu giao diện người dùng của bạn. Có ý nghĩa gì với bạn? Bạn cần nhớ về chuyển dữ liệu đến Activity đã được tạo lại, nếu không, bạn cần khôi phục lại một lần nữa (vì vậy bạn sẽ thực hiện cuộc gọi thứ hai vào cơ sở dữ liệu hoặc API) Bạn cần phải biết việc rò rỉ bộ nhớ có thể khiến người giữ dữ liệu UI của bạn sống lâu hơn Activity(và bạn không muốn điều đó!) Giải pháp cho những vấn đề đó là gì? Tất nhiên một ViewModel

0