View in the MVVM architecture
What is View in the MVVM architecture?
The View component in the MVVM architecture are the UI controllers – Activities and Fragments. They should be as free as possible from any business logic. Their role is to present the data, not to transform it. The view should contain only UI related logic. It is a common misconception to write all the logic for a particular screen in the corresponding Activity or Fragment. By doing so, we create God classes and we break the single responsibility principle. So we should always try to keep our View as clean as possible.
The View asks the ViewModel for data. The View doesn’t care where the data comes from, what kind of transformations are applied to it and so on. It only knows how to properly display the data on the screen. When the data is changed by user interactions with the UI components, the View calls the ViewModel’s methods and passes the changed data to them. Again, it is unaware of how the data is processed.
Letzte Beiträge
Share :
Share :
Weitere Beiträge
Room. Reactive queries
Room has great integration with LiveData. Results from SQL queries can be easily wrapped in LiveData container. This way LiveData can be observed in the UI. When the data is changed in the database, all active observers get notified and update the corresponding views.
View Model. Example
In this article we will go through the steps of creating a simple game screen. We will make it the traditional way without using View Model and we will see why it is absolutely wrong to persist data in the View.
MVVM’s Model implementation in Android application. Room
As we said in the previous article Model is the data in our application. These are classes representing objects that we persist in our database or that we get from network calls to services.