All of the associated videos are linked in this Panopto folder. It may be necessary to log in to your CSUMB account to view the videos. The goal of this project is to work through all the steps necessary to create an app that uses the Room database wrapper for persistence and that allows users to log in. If I am feeling brave I will add in a recycler view too.
intro video This is the overall view of the final product. Once I get the login screen setup and working, including the logout features, I will record this video. Anything afer this (editing logs, more user info, etc. Will be shown in their respective video).
- Create a gitignore file
- Create a branch
- make the initial layout
- Add viewBindings
- Wire up the button
- Read information from the display
- Log our info
- Test the display
- Add the room dependancies
- create the POJO entity objects
- for now just a GymLog
- Create the database interface
- Create the GymLog DAO
- Make the repository
- Requires lots of lambdas and auto-completes
- Create a type converter
- Use the Room Repo to write/read logs.
- Add a singleton to fix the non main thread issue
- Show the app inspector
- Write a log to the DB
- show it in app inspector!
- add a toString
- Fix it so an empty string will not insert a log
- Clean up the toString()
- Use the retrieved records to update the display.
- Create a User POJO
- User DAO
- Update the DB repo to allow user operations
- Update gymLog to have a userId field
- Why aren't we getting default users.
- i.e. why is the callback not working?
- Add a login screen
- Add a menu to facilitate logging in and out
- Add logout function
- Add alertDialog for logout.
- Make login screen use database
- UserDao --> return LiveData
- GymLogRepository --> return LiveData
- update Login method
- Add user preferences to store login info
- Make MainActivity sort by user
- User login is not persisting... wtf?
- display is not updating immediatly...
- Issue is with asynch so adding a recycler will fix it...
- Update the GymLog DAO to return liveData
- Create the viewHolder
- Create the adapter
- Update MainActivity to have a recycler view
- profit?