Puzzle game using Android MVVM Architecture
Maharjan, Bikesh (2018)
Maharjan, Bikesh
Metropolia Ammattikorkeakoulu
2018
All rights reserved
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-201805117695
https://urn.fi/URN:NBN:fi:amk-201805117695
Tiivistelmä
The development of Android mobile applications in application industry is growing rapidly. Application requirements change frequently and demand for code structure adjustment with addition of new features. Thus, flexibility and maintainability in a software architecture is a determining factor for an application’s success. The objective of this thesis is to implement Model View ViewModel (MVVM) in a simple 8-puzzle game. The development of this application is carried out in Android Studio IDE. This application uses API level 15 or above to give access for more android devices. The main programming language used in this application is Java. This thesis also explains different architecture concepts used in Android such as Model View Controller, Model View Presenter and finally Model View ViewModel. This study also specifies the uses of best practices in software development. Also, downsides of an architecture such as Model View Controller are also pointed out and the alternatives presented.
This thesis uses a Slider puzzle application written in Java to implement MVVM architecture pattern. This was previously written in MVC architecture pattern. In conclusion, the thesis illustrates how the use of a well-designed architecture could affect the overall quality of an application in terms of flexibility and maintainability. It also encourages a best-practice minded approach in software development and further studies toward the implementation of the Model View ViewModel architecture in Android.
This thesis uses a Slider puzzle application written in Java to implement MVVM architecture pattern. This was previously written in MVC architecture pattern. In conclusion, the thesis illustrates how the use of a well-designed architecture could affect the overall quality of an application in terms of flexibility and maintainability. It also encourages a best-practice minded approach in software development and further studies toward the implementation of the Model View ViewModel architecture in Android.