Thursday, October 29, 2009 DroidCon '09, Dahlem Cube, Berlin - Germany Andromeda An Android Framework for Sensor-based Applications Thursday, October 29, 2009 sábado, 19 de novembro de 11
May 12, 2015
Thursday, October 29, 2009
DroidCon '09, Dahlem Cube, Berlin - Germany
AndromedaAn Android Framework for Sensor-based Applications
Thursday, October 29, 2009
sábado, 19 de novembro de 11
Thursday, October 29, 2009
DroidCon '09, Dahlem Cube, Berlin - Germany
Outline• Overview• Andromeda Project
Features Architecture Benefits & Limitations Roadmap
Thursday, October 29, 2009
DroidCon '09, Dahlem Cube, Berlin - Germany
sábado, 19 de novembro de 11
Thursday, October 29, 2009
DroidCon '09, Dahlem Cube, Berlin - Germany
Overview• The development of sensor-based applications can
be considered the new “mobile feature app killer”• They are used for various applications category:
– Games– Maps & LBS applications– Utilities
Thursday, October 29, 2009
DroidCon '09, Dahlem Cube, Berlin - Germany
sábado, 19 de novembro de 11
Thursday, October 29, 2009
DroidCon '09, Dahlem Cube, Berlin - Germany
Overview• Developing sensor-based apps can be very cumbersome :
– Sensors data handling is very complex (regarding internal calcula) • Have to handle the acceletarion and orientation sensors data on X, Y and
Z axes– There is a lack of development patterns for this kind of apps
Thursday, October 29, 2009
DroidCon '09, Dahlem Cube, Berlin - Germany
sábado, 19 de novembro de 11
Thursday, October 29, 2009
DroidCon '09, Dahlem Cube, Berlin - Germany
Overview• Developing sensor-based using Andromeda
Framework:– The Developer does not need to know detailed information
about the sensor – It is not necessary to worry about the values of the X, Y
and Z axes• Andromeda provides a mechanism to detect
movements known by the framework
Thursday, October 29, 2009
DroidCon '09, Dahlem Cube, Berlin - Germany
sábado, 19 de novembro de 11
Thursday, October 29, 2009
DroidCon '09, Dahlem Cube, Berlin - Germany
Andromeda Project• Andromeda is being developed as part of our Immersion Course
Program (specialization course on software development).– Scholarship alliance between academic and business entities.
• Motorola• CIn-UFPE (Informatics Center at Federal University of Pernambuco) • C.E.S.A.R (Centro de Estudos e Sistemas Avançados do Recife)
• It is an acronym for Android Motion Effects Detection Architecture.
• Encourages sensor application development using the Google Android Platform
• It is a specific framework for sensor-based applications for Android
• The Andromeda main purpose is:
“ To create an additional layer to ease complex sensor data handling for client applications ”
Thursday, October 29, 2009
DroidCon '09, Dahlem Cube, Berlin - Germany
sábado, 19 de novembro de 11
Thursday, October 29, 2009
DroidCon '09, Dahlem Cube, Berlin - Germany
Features• Support for various Android SDK versions.
– SDK 1.1– SDK 1.5 (Cupcake) – SDK 1.6 (Donut)
• Integrated to OpenIntents to connect with the Sensor simulator using the Android emulator
• Detects the following motion effects:– Shake to the left– Shake to the right– Shake up– Shake down
• Developed using the main design patterns:– Observer (Java listeners) – Factory Method (for Adapters dynamic instantiations) – Adapter (to support various Sensor API SDK changes)
Thursday, October 29, 2009
DroidCon '09, Dahlem Cube, Berlin - Germany
sábado, 19 de novembro de 11
Thursday, October 29, 2009
DroidCon '09, Dahlem Cube, Berlin - Germany
Thursday, October 29, 2009
DroidCon '09, Dahlem Cube, Berlin - Germany
SensorFrameworkregisterListener(…) and unregisterListener()
SensorAdapterFactorySensorAdapter createAdapter(SensorManager sensorManager)
SensorEventListenerAdapterSensorListenerAdapter
SensorListenerAndroid 1.1
SensorEventListenerAndroid 1.5
Services Broadcast Receiver Activities
Andromeda Architecture
SensorAdapter <Abstract Class>
Client
sábado, 19 de novembro de 11
Thursday, October 29, 2009
DroidCon '09, Dahlem Cube, Berlin - Germany
The Big Picture
Thursday, October 29, 2009
DroidCon '09, Dahlem Cube, Berlin - Germany
Hardware Sensors
Android OS
Andromeda Framework
Applications Framework
Client
via getSystemService()
implements SensorListener
Notify Client “onChange()”
notifies sensor events
onSensorChanged()
sábado, 19 de novembro de 11
Thursday, October 29, 2009
DroidCon '09, Dahlem Cube, Berlin - Germany
Benefits & Limitations• Benefits:
– Ease of development and increase productivity for sensor-based applications
– Define a more human-like sensor-based API– Flexible adaptation for previous and incoming
Android SDK versions support• Limitations:
– Explosion of combination of human movements
• Combined movements implies in high complexity– Number of movements to be detected
Thursday, October 29, 2009
DroidCon '09, Dahlem Cube, Berlin - Germany
sábado, 19 de novembro de 11
Thursday, October 29, 2009
DroidCon '09, Dahlem Cube, Berlin - Germany
Roadmap• Supports Java Annotations to eliminate
boilerplate code• Integration with the Android
Instrumentation API in order to support automated tests for sensor-based applications
• Promote Andromeda architecture to support the Eclipse RCP (Rich Client Platform) Plug-in Architecture
Thursday, October 29, 2009
DroidCon '09, Dahlem Cube, Berlin - Germany
sábado, 19 de novembro de 11
Thursday, October 29, 2009
DroidCon '09, Dahlem Cube, Berlin - Germany
Roadmap• More human gesture detection:
– Ex: turn over, double shake, etc
• Sensor callibration relatively to the underlying androphone
Thursday, October 29, 2009
DroidCon '09, Dahlem Cube, Berlin - Germany
sábado, 19 de novembro de 11
Thursday, October 29, 2009
DroidCon '09, Dahlem Cube, Berlin - Germany
Do you want to know more about Andromeda?
Andromeda Project TeamMarcelo Alves
Ramon [email protected]
Stefano [email protected]
Thursday, October 29, 2009
DroidCon '09, Dahlem Cube, Berlin - Germany
sábado, 19 de novembro de 11
Thursday, October 29, 2009
DroidCon '09, Dahlem Cube, Berlin - Germany
WE HOPE YOU ENJOY AND THANKS FOR LISTENING!
Thursday, October 29, 2009
DroidCon '09, Dahlem Cube, Berlin - Germany
sábado, 19 de novembro de 11