Mood Monitor is an Android application that users can use to track their daily activities like walking, jogging, sitting, standing, walking upstairs and walking downstairs. The application uses a Convolutional Neural Network (CNN) to predict user activity automatically and stores the information in a database stored on the phone. The users can then choose to visualize the statistics.
-
MainActivity
- Registers/unregisters event listener
- Records readings from the accelerometers
- Calls RecognitionActivity for prediction and chooses activity with highest confidence score
- Inserts a predicted activity to a SQLite database in the background
-
RecognitionActivity
- Initializes trained CNN classifier
- Feeds normalized input into the classifier and sends output back to MainActivity
-
DisplayStatsActivity
- Queries the SQLite database to display pie chart on the screen
-
Activity
- Contains database schema in the form of objects (uses Room Persistence Library)
-
ActivityDao
- Provides interface to modify and query the database (through Data Access Objects)
-
AppDatabase
- Initializes an SQLite database for the application
-
Constants
- Holds constant values used in all class files