Skip to content

PrashantSBasnet/ToDoApp_Android

Repository files navigation

Android Todo Application

A simple app where a user can add, delete, update and read the todos. Each todo has a date associated with it which is set by default. It is the system date and is updated when the user appends the task/ creates it. The tasks on the home screen are ordered by Updated Dates, i.e. the latest tasks are displayed at the top of the list. The app also prompts the user regarding different operations they do like CRUD operation by a Toast message.

Architecture followed: MVVM Architectural Design Pattern

mvvm architecture copy

Fig: MVVM Implementation
source: https://ebbi.github.io

To demonstrate the CRUD operation in the app

  • 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

crud2


To demonstrate handles Implicit Intents and handling states during screen rotation

  • 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)

layout1


To Demonstrate the app has error handling features

  • The app prevents the user to leave the title field blank. Dialogue boxes (TOAST message) is handy for notifying the user. The app is not stopped, it only pauses until the current entry is received
  • errorhandling1

    To Demonstrate the complete Working of the App


    overall __app

    References:

    I have used the following sources to create this application:


    author: Prashant Singh Basnet
    C7205072 LEVEL 6 Developing Mobile App Assignment

    The British College

    Leeds Beckett University

    Releases

    No releases published

    Packages

    No packages published

    Languages