Fig: MVVM Implementation
source: https://ebbi.github.io
- Room Database is used in the app. It is abstraction laye, functioning above SQL lite and app's main access point to the data.
- Live data is used to for updating the data as soon as the app is active or STARTED
- Live data updates app components for only active lifecycle states
- The app supports create/update/delete/read operations i.e. CRUD operation
- The user can insert a task by clicking the fab icon (+) floating in the right bottom of the home page
- The user can delete a task by simply swiping the task towards left or right
- The user can delete all tasks by clicking the delete icon on the app bar
- The user can update the task by clicking on it
- A combination of constraint, linear, frame layout, and the coding techniques to arrange the view items help develop the layout
- Recycler View reuses the views for new items that have scrolled on screen. In this case, the todo lists
- Recycler View is used for better performance and low power consumption
- In this application, each element in the list is treated as a view holder object. These objects are bound to data by RecyclerView.Adapter class
- Intents (Implicit Intents) - messaging objects are also used to lauch a diglog with choices for sharing texts. (TODO title and details)
I have used the following sources to create this application:
- Subject Teacher: Mr. Binay Shah https://github.com/binay-shah for understanding the basics of MVVM and CRUD operation
- Developer Guide | Android Developers https://developer.android.com/guide
- w3schools for core Java concepts https://www.w3schools.com
- Design Patterns from https://www.tutorialspoint.com/design_pattern/data_access_object_pattern.htm
author: Prashant Singh Basnet
C7205072 LEVEL 6 Developing Mobile App Assignment
The British College
Leeds Beckett University




