$20
Write an expense tracking app. You are expected to use material design concepts, at least as much as taught in class. Lastly, the implementation of the GUI is left for you (mostly), but it should be intuitive to use, see the GUI section.
Expense tracking application:
Data section:
• You need to store persistent data (ie survives application restart).
o You can use SQLite or Architecture Room for the data storage.
• Data per entry to stored o String Name o String Category o String Date (don’t worry about using a date format)
o Float/Real Amount o String Note
§ This is the only field the user can leave blank.
o Long/int _id (which the user won’t enter, but is needed by the db and recyclerview). This must be a unique value.
• You need to have a way for the user to create a new entry, update an existing entry, and delete an entry.
GUI section:
• You will be required to use material design for the UI.
o Colors, etc. Likely using a FAB button, etc.
• Display the entries and you are required to use a RecyclerView.
o Also, when data is changed/added, the RecyclerView is expected to change as well.
§ Using LiveData/viewmodel (room) or loaders with SQLite Add new entries.
o Likely with a custom dialog box or fragment. This is up to you.
• Change entries already stored entries.
o The fields will already be field with the current the data and the user can then change it.
§ If you do this efficiently, reuse the dialog box or fragment for new entries.
• Delete entries in the transaction table.
For 5730 students: Complete the requirements of the program additional requirements:
(1) The user can select from already existing Categories stored. You will need to query the database, get a unique list of categories that the user can then click on (likely via a spinner, dialog, or other. The choice is up to you). They will still be able to enter a new category as well.
TURN IN and GRADING:
Soft copy:
1. Use this link to create your repo https://classroom.github.com/a/nvA3hKdc
2. Upload the project to your repo
3. Create/Edit the readme.md file, add the following:
o Course number 4730 or 5730 o Name
o how to run the program. MAKE SURE the grader understands how add/update/delete work. Even if you think it obvious.
o which phone/emulator to run on including special information like android version (ie v4.4) and screen size.
§ Or if you are using the borrowed, phone: Pixel 2
4. Lastly ensure everything has uploaded to the github website and not just the local repo.