Bạn có chắc chắn muốn xóa bài viết này không ?
Bạn có chắc chắn muốn xóa bình luận này không ?
View là thành phần duy nhất mà người dùng có thể tương tác được trong chương trình, nó chính là thành phần mô tả dữ liệu. Trong lập trình android, View là một activity, fragment, hay một custom view...
Sau đây là một số hành động mà view có thể thực hiện:
ViewModel là một abstraction của View. Nó sẽ lấy dữ liệu từ tầng Model, xửu lý UI logic sau đó hiển thị data có liên quan tới view. ViewModel sẽ không có bất kỳ behavior nào để tương tác với View. Như vậy để nhận biết khi nào cần hiển thị dư liệu, View sẽ đăng ký nhận notification từ ViewModel.
Một số chức năng cụ thể mà ViewModel có thể thực hiện :
ViewModel không nên:
Model chứa phần data được lấy từ nhiều nguồn khác nhau, ví dụ như:
• REST API
• Realm db
• SQLite db
• Handles broadcast
• Shared Preferences
• Firebase
• …
Model sẽ chứa toàn bộ business logic, mix giữa các luồng dữ liệu( giữa local data và remote data) trước khi dữ liệu đó được hiển thị cho client.
source code: Source
Nguồn tham khảo:
http://www.vogella.com/tutorials/AndroidArchitecture/article.html
https://lequangkhai.wordpress.com/2011/04/18/m-hnh-mvvm-gi%E1%BB%9Bi-thi%E1%BB%87u/