Android app for workload monitoring of students at TU Dresden.
This repository containes the code for the workload Android app which communicates with the workload web API.
The workload web API is part of the workload
repository.
The app is written as a standard, native Android app. The programming language is Java.
The project structure follows the standard structure of an Android Studio project.
The folder android/workload
contains the directory app
,
with the actual Android app, and the folder MPChartLib
with a copy of the
open-source charting library MPAndroidChart.
The Java classes for the app are defined in /android/workload/app/src/main/java/com/gmail/konstantin/schubert/workload/
.
There is a subfolder for Activity classes and a subfolder for Adapter classes.
The app uses a custom content provider called SurveyContentProvider,
which uses an SQL database to store all data. This database is synched with the web service via the web-API using an Android sync adapter.
The sync adapter in turn makes use of an Android authenticator to manage its authentication with the web API.
All classes related to the sync process are contained in the sync
folder.
The architecture and implementation of these classes is explained in this android tutorial which I used when writing the app.
The synchronization logic defines what entries will be synched under which conditions and how conflicts are resolved. It is documented here.
Just install from the play store: https://play.google.com/store/apps/details?id=com.gmail.konstantin.schubert.workload
See the LICENSE file for license rights and limitations (GNU AGPL).