Smartphone Sensors and Android Overview CSECE 498 Ashutosh






























- Slides: 30
Smartphone Sensors and Android Overview CS/ECE 498 Ashutosh Dhekne (borrowed from Nirupam Roy)
Roadmap • An overview of smartphone sensors and possible applications • Overview of Android architecture
Smartphone Sensors • • Accelerometer Gyroscope Magnetometer Light sensor Humidity sensor Touch screen Barometer Microphone and Camera …
Smartphone Sensors: Accelerometer
Smartphone Sensors: Accelerometer
Smartphone Sensors: Accelerometer
Smartphone Sensors: Accelerometer
Smartphone Sensors: Gyroscope
Smartphone Sensors: Gyroscope
Smartphone Sensors: Gyroscope
Smartphone Sensors: Magnetometer
Smartphone Sensors: Magnetometer
Smartphone Sensors: Magnetometer
Smartphone Sensors: Light Sensor
Smartphone Sensors • • Accelerometer Gyroscope Magnetometer Light sensor Humidity sensor Touch screen Barometer Microphone and Camera …
Smartphone Sensors: Fusion Sensor
Smartphone Sensors: Fusion Sensor
Smartphone Sensors: Fusion Sensor
Any question on sensors?
Android Architecture Your Mobile App
Programming for Android
Android Application Life-cycle
Android Code to Access Sensor Data http: //developer. android. com/guide/topics/senso rs/sensors_overview. html private Sensor. Manager sensor. Manager; . . . sensor. Manager = (Sensor. Manager) get. System. Service(Context. SENSOR_SERVICE); if (sensor. Manager. get. Default. Sensor(Sensor. TYPE_MAGNETIC_FIELD) != null){ // Success! There's a magnetometer. } else { // Failure! No magnetometer. }
Android Code to Access Sensor Data public class Sensor. Activity extends Activity implements Sensor. Event. Listener { private Sensor. Manager sensor. Manager; private Sensor m. Light; @Override public final void on. Create(Bundle saved. Instance. State) { super. on. Create(saved. Instance. State); set. Content. View(R. layout. main); sensor. Manager = (Sensor. Manager) get. System. Service(Context. SENSOR_SERVICE); m. Light = sensor. Manager. get. Default. Sensor(Sensor. TYPE_LIGHT); } @Override public final void on. Accuracy. Changed(Sensor sensor, int accuracy) { // Do something here if sensor accuracy changes. } @Override public final void on. Sensor. Changed(Sensor. Event event) { // The light sensor returns a single value. // Many sensors return 3 values, one for each axis. float lux = event. values[0]; // Do something with this sensor value. } Reading Values @Override protected void on. Resume() { super. on. Resume(); sensor. Manager. register. Listener(this, m. Light, Sensor. Manager. SENSOR_DELAY_NORMAL); } @Override protected void on. Pause() { super. on. Pause(); sensor. Manager. unregister. Listener(this); } } How often do you want updates?
Android Code to Access Sensor Data Main Activity The main computing codes Most of your code will be here XML file Android Manifest file Code for organizing the UI The application meta-data Get all needed permissions
Asking for Permissions • Reading or writing might need permissions from the user. <manifest. . . > <uses-permission android: name="android. permission. WRITE_EXTERNAL_STORAGE" /> . . . </manifest> https: //developer. android. com/training/datastorage/files#External. Storage. Permissions
Become a Developer http: //www. imagezap. org/how-to-enable-developer-mode-on-android/
Keep collecting data when not on your activity






























