Track 1 & 2: Software
Software Specifications for EvAAL CompetitorsOn-site tracks
Competitors of EvAAL 2017 have to code an Android application designed for smartphones (no tablet are allowed) that:
We provide two Android-based applications: StepLogger provides two operations:
StepLoggerClient provides one operation:
APKs are available for download here. Source code of the appliations StepLogger and StepLoggerClient are available: https://ala.isti.cnr.it/home/svn/software/localization/Android/EvAAL/ svn://ala.isti.cnr.it/software/localization/Android/EvAAL with username: competitor and password: competitor
1. StepLogger Logging InterfaceStepLogger provides a simple service for the applications of the competitors. The service is implemented with one single method named:
which is provided by the StepLogger app; the mothod should be invoked through the AIDL interface. Specifically, competitors must add the StepLogger AIDL file to their Android project and invoke the logPosition method twice per second. Every time the competing app calls logPosition StepLogger logs the following information:
This information is stored in the file positions.log, as detailed below under “StepLogger Logging mechanism”. |
1.1. How to use the StepLogger AIDL interface
- Download the StepLogger AIDL file from the SVN location
- The AIDL file must be placed on the aidl folder under your Android project
- Add the AIDL file in the right Java package, namely it.cnr.isti.steplogger
- Invoke the logPosition method by following these steps:
- Create an Intent object
- Set the class name of the intent object with:
- BOUNDSERVICE_PACKAGE = "it.cnr.isti.steplogger";
- BOUNDSERVICE_CLASS = ".StepLoggerService";
- Invoke the bindService(…) method provided by Android OS in order to bind to the service that matching with BOUNDSERVICE_PACKAGE and BOUNDSERVICE_CLASS
void bindService(in Intent intentService, in ServiceConnection mConnection, in int flags);
You should download the apk and the source code of the stub StepLoggerClient application, which intended to provide an example of how the competing application should interact with the StepLogger. StepLoggerClient shows a GUI with two buttons: START LOGGING POSITION and STOP LOGGING POSITION.
Note: Since StepLoggerClient invokes a method provided by the StepLogger app, you have to first start a new measurement session (See Section 2.1)