In the case of the OPA_TAD project, the client app is based on an application for the smartphone operating system Android. The main task of this application is the collection of data which later can be published in the OPA_TAD system. More precisely the application collects trajectories on which data analytics tasks can be performed under consideration of privacy-preserving techniques.
The client app consists on the following three main components:
- Data Collecting Service
- OPA_TAD API Connection Management
- User Interface and Settings Management
Data Collecting Service
This component of the client app is used for the collection of data. Based on an Android Background Service this component is able to retrieve the current user's position. This position is also saved on the smartphone in a SQLite Database. This process, retrieve a position and persistent storage in a database, will be repeated after a scheduled time. This scheduled time ranges between 30 and 600 seconds and can be set by the user himself.
This Data Collecting Service also has the ability to work in the background. Due to this it is not necessary that the Client App is always used in the foreground.
OPA_TAD API Connection Management
In this component all relevant connections to the OPA_TAD API are managed. The OPA_TAD API is used for all of the following tasks:
- Creating a new user and deleting a user
- Upload or download collected data or metadata
- Delete uploaded data
- Retrieve all current grant requests
- Granting collected datasets
- Revoke granted datasets
- Retrieve datatypes
All this tasks result in a special library method call of the OPA_TAD Library, which are shown in this documentation.
User Interface and Settings Management
The user interface of the client android app consists of seven Android Activities. Two Activities are needed to give the user the opportunity to get information about the permissions which are needed to use the application. Also two activities are needed for the user registration and login. The other three activities are used for presentation of the collected data, general settings and user settings for grant requests. These three activities can be seen in the following screenshots: