Affecting Applications in Android Using Aspects

Ivan Martoš and Valentino Vranić

Institute of Informatics and Software Engineering
Faculty of Informatics and Information Technologies
Slovak University of Technology in Bratislava
Bratislava, Slovakia

suta.erik@gmail.com, martos.ivan@gmail.com, vranic@stuba.sk

Aspect-oriented programming enables to affect existing code without having to make changes to it. By this, changes remain modularized and as such are easily activated or deactivated with a high potential of direct reusability in other applications. However, aspect-oriented programming on mobile platforms is practically unexploited, despite the whole range of opportunities such as usage monitoring, power monitoring, altering sensor values, or altering applications. In this paper, we explore possibilities of using aspect-oriented programming in the AspectJ programming language and demonstrate how to alter the GPS sensor output, phone signals, and deal with the Context class as a gate to the Android services.

Keywords: aspect-oriented programming; Android; mobile device; change; GPS; notifications; Android services; AspectJ