Other Commonly Used Architectures in Android
There are few commonly used Android Architectures used mentioned below:
1. MVC ( Model View Controller )
MVC or Model View Controller breaks the model into three main components Model that stores the application data , View UI layer that holds the component visible on the screen and Controller that establishes the relationship between Model and the View.
2. MVP ( Model View Presenter )
To avoid complexities like maintainability, readability, scalability, and refactoring of applications we use MVP model. The basic working of this model relies of the points mentioned below:
- Communication between the View-Presenter and Presenter-Model happens with the help of Interface (also called Contract).
- There is One to One relationship between Presenter and View , One Presenter Class only manages One View at a time.
- Model and View doesn’t have any knowledge about each other.
3. MVVM ( Model View ViewModel ) :
MVVM or Model View ViewModel as the name suggest like MVC model it contains three components too Model , View and ViewModel. Features of MVVM model are mentioned below:
- ViewModel does not hold any kind of reference to the View.
- Many to-1 relationships exist between View and ViewModel.
- No triggering methods to update the View.
And we can achieve this using 2 methods:
- Using DataBinding library of Google.
- Using Tools like RxJava for Data Binding.
Android Architecture
Android architecture contains a different number of components to support any Android device’s needs. Android software contains an open-source Linux Kernel having a collection of a number of C/C++ libraries which are exposed through application framework services. Among all the components Linux Kernel provides the main functionality of operating system functions to smartphones and Dalvik Virtual Machine (DVM) provide a platform for running an Android application.
Contact Us