The document discusses Android sensor programming and testing different sensors on an Android device. It describes creating a project that lists all sensors and whether they are supported on a device. The project tests sensors like accelerometer, light, magnetic field, orientation, and proximity. It finds that the accelerometer and light are enabled on a Galaxy Tab but other sensors are disabled. It also provides a link to download a sensor simulator library and an example of using the accelerometer sensor to move an image based on device movement.
2. Sensor Programming
Android Sensors
1. Android phones support different sensors.
2. Today we write test code that reports which sensors our Android device supports.
3. Unfortunately, the emulator supports none upto SDK 1.5.
4. But we’ll see how many sensors are supported
in real device
5. We’ll create a project named SensorTest for this.
We’ll test following sensor list:
1. Accelerometer
2. Light
3. Magnetic Field
4. Orientation
5. Orientation Raw
6. Proximity
7. Temperature
8. Tricorder
This is for SDK 1.5
5. Sensor Programming
Android Sensors Test
2. We’ll use SensorManager class
3. So we declare a List for SensorInfo
4. SensorInfo is a class defined by us which holds the sensor name and a boolean value
whether its supported or not.
5. So we create a SensorInfo class
6. Sensor Programming
Android Sensors Test
6. Let’s get back to our ListActivity
7. We’ll now populate the list with all sensors and check whether they are enabled
7. Sensor Programming
Android Sensors Test
8. We declare a List of SensorInfo
9. Now we check each sensor one by one:
First Accelerometer
10. Now we check each sensor one by one:
then Light
8. Sensor Programming
Android Sensors Test
11. Now we check each sensor one by one:
First Magnetic field
12. Now we check each sensor one by one:
then Orientation
9. Sensor Programming
Android Sensors Test
13. Now we check each sensor one by one:
First Orientation Raw
14. Now we check each sensor one by one:
then Proximity
10. Sensor Programming
Android Sensors Test
15. Now we check each sensor one by one:
First Temperature
16. Now we check each sensor one by one:
then Tricorder
11. Sensor Programming
Android Sensors Test
17. To show the list we do the following by setting adapter
Now we run the app in emulator.
Except Accelerometer we see all sensors are disabled
May be in later SDKs we’ll get more enabled sensors
12. Sensor Programming
Android Sensors Test
Lets run this in Galaxy tab
We see the following are enabled:
1. Accelerometer
2. Light
3. Magnetic Field
4. Orientation
5. Orientation Raw
6. Proximity
So the sensor support varies from
Vendor to vendor and model to model
13. Sensor Programming
Android Sensor Programming
As we see that Accelerometer is the
1. most commonly used sensor and also
2. it has many applications in games development,
We’ll see and example of Sensor programming with Accelerometer
And as we don’t have option to move the emulator we may have to use a
sensor simulator which will simulate the sensor data.
So we download the library for sensorsimulation at:
http://openintents.googlecode.com/files/sensorsimulator-1.1.0-rc1.zip
http://code.google.com/p/openintents/downloads/detail?name=sensorsimulator-1.1.0-rc1.zip&can=2&q=
http://code.google.com/p/openintents/wiki/SensorSimulator
We can follow their instruction to use it.
But here, we’ll do it in our real device, so simulator will not be required
14. Sensor Programming
Android Sensor Programming
Let’s create a project as an example We create a layout with a simple image
which will move according to the
Accelerometer: