Вы находитесь на странице: 1из 35

HO CHI MINH UNIVERSITY OF INDUSTRY

1
1. Sensors
2. Monitoring
the Battery
HO CHI MINH UNIVERSITY OF INDUSTRY
2
1. Sensors
The emulator does not provide any sensor data. All sensor
testing must be done on a physical device. Alternatively,
OpenIntents.org also provides a handy Sensor Simulator:
http://code.google.com/p/openintents/wiki/SensorSimulator
This tool simulates accelerometer, compass, and
temperature sensors, and it transmits data to the emulator.
Android devices have a variety of sensors :
HO CHI MINH UNIVERSITY OF INDUSTRY
3
1. Sensors
TYPE_ACCELEROMETER: Measures acceleration in three
directions; values are in SI units (m/s2).
TYPE_GYROSCOPE: Measures angular orientation in three
directions; values are angles in degrees.
TYPE_LIGHT: Measures ambient light; values are in SI lux
units.
TYPE_MAGNETIC_FIELD: Measures magnetism in three
directions; the compass values are in micro-Tesla (uT).
TYPE_PRESSURE: Measures barometric pressure.
TYPE_PROXIMITY: Measures the distance to an object;
values are in centimeters, or near versus far.
TYPE_RELATIVE_HUMIDITY: Measures the relative humidity.
TYPE_AMBIENT_TEMPERATURE: Measures temperature.
HO CHI MINH UNIVERSITY OF INDUSTRY
4
1. Sensors
Here are the major classes related to sensor.
Class Comment
Sensor
Class representing a sensor. Use getSensorList(int)
to get the list of available Sensors.
SensorEvent
This class represents a Sensor event and holds
informations such as the sensor's type, the time-
stamp, accuracy and of course the sensor's data.
SensorEventListener
An interface: Used for receiving notifications from
the SensorManager when sensor values have
changed.
SensorManager SensorManager lets you access the device's
sensors. Get an instance of this class by calling
Context.getSystemService() with the argument
SENSOR_SERVICE.
HO CHI MINH UNIVERSITY OF INDUSTRY
5
1. Sensors
Working with Sensor
To get a Sensor, you need to use SensorManager.
HO CHI MINH UNIVERSITY OF INDUSTRY
6
1. Sensors
Working with Sensor
Register EventListener to it.
HO CHI MINH UNIVERSITY OF INDUSTRY
7
1. Sensors
Working with Sensor
UnRegister EventListener.
Register in the onResume method and
Unregister in the onPause method
HO CHI MINH UNIVERSITY OF INDUSTRY
8
1. Sensors
SensorManager.SENSOR_DELAY
Frequence Comment
SENSOR_DELAY_FASTEST get sensor data as fast as
possible
SENSOR_DELAY_NORMAL rate (default) suitable for screen
orientation changes
SENSOR_DELAY_GAME rate suitable for games
SENSOR_DELAY_UI rate suitable for the user
interface
HO CHI MINH UNIVERSITY OF INDUSTRY
9
1. Sensors
Receive SensorEvent
Normally, onSensorChanged is the method in which
we need to put your sensor handle logic.
HO CHI MINH UNIVERSITY OF INDUSTRY
10
1. Sensors
SensorEvent
Type Name Comment
public int accuracy The accuracy of this event.
public Sensor sensor The sensor that generated this
event.
public long timestamp The time in nanosecond at which
the event happened
public final float[] values The length and contents of
the values array depends on
which sensor type is being
monitored.
HO CHI MINH UNIVERSITY OF INDUSTRY
11
1. Sensors
Sensor.TYPE_TEMPERATURE
HO CHI MINH UNIVERSITY OF INDUSTRY
12
1. Sensors
Sensor.TYPE_TEMPERATURE
HO CHI MINH UNIVERSITY OF INDUSTRY
13
1. Sensors
Sensor.TYPE_LIGHT
HO CHI MINH UNIVERSITY OF INDUSTRY
14
1. Sensors
Sensor.TYPE_LIGHT
HO CHI MINH UNIVERSITY OF INDUSTRY
15
1. Sensors
Sensor.TYPE_PRESSURE
HO CHI MINH UNIVERSITY OF INDUSTRY
16
1. Sensors
Sensor.TYPE_PRESSURE
HO CHI MINH UNIVERSITY OF INDUSTRY
17
1. Sensors
Sensor. TYPE_PROXIMITY
HO CHI MINH UNIVERSITY OF INDUSTRY
18
1. Sensors
Sensor. TYPE_PROXIMITY
HO CHI MINH UNIVERSITY OF INDUSTRY
19
1. Sensors
Sensor. TYPE_PROXIMITY
HO CHI MINH UNIVERSITY OF INDUSTRY
20
1. Sensors
Sensor.TYPE_ACCELEROMETER
The accelerometer values are represented in SI units
(m/s
2
). The device at right has the bottom of the device
screen pointing toward the center of gravity. Gravity on
Earth is 9.80665 m/s
2
.
All values are in SI units (m/s
2
)
values[0]: Acceleration minus Gx on
the x-axis
values[1]: Acceleration minus Gy on
the y-axis
values[2]: Acceleration minus Gz on
the z-axis
HO CHI MINH UNIVERSITY OF INDUSTRY
21
1. Sensors
Sensor.TYPE_ACCELEROMETER
Use to Accelerometer to detect SHAKING Device
HO CHI MINH UNIVERSITY OF INDUSTRY
22
1. Sensors
Sensor.TYPE_ACCELEROMETER
HO CHI MINH UNIVERSITY OF INDUSTRY
23
1. Sensors
Sensor.TYPE_ACCELEROMETER
HO CHI MINH UNIVERSITY OF INDUSTRY
24
1. Sensors
Sensor.TYPE_GYROSCOPE
measure, or maintain, the orientation of a device.
rate of rotation around a particular axis
values[0]: Angular speed around the x-axis
values[1]: Angular speed around the y-axis
values[2]: Angular speed around the z-axis
HO CHI MINH UNIVERSITY OF INDUSTRY
25
1. Sensors
Sensor.TYPE_GYROSCOPE
HO CHI MINH UNIVERSITY OF INDUSTRY
26
1. Sensors
Sensor.TYPE_GYROSCOPE
HO CHI MINH UNIVERSITY OF INDUSTRY
27
1. Sensors
Sensor.TYPE_ORIENTATION
All values are angles in degrees:
values[0]: Azimuth, angle between the
magnetic north direction and the y-axis,
around the z-axis (0 to 359). 0=North,
90=East, 180=South, 270=West

values[1]: Pitch, rotation around x-axis (-180
to 180), with positive values when the z-axis
moves toward the y-axis.

values[2]: Roll, rotation around y-axis (-90 to
90), with positive values when the x-axis
moves toward the z-axis.
HO CHI MINH UNIVERSITY OF INDUSTRY
28
1. Sensors
Sensor.TYPE_ORIENTATION
HO CHI MINH UNIVERSITY OF INDUSTRY
29
1. Sensors
Exercise : Using Sensors Accelerometor and Proximity to build an
AlbumManager application:
- Nice GUI to display Pictures
- When Device was shaken to Left open the Previous Picture
- When Device was shaken to Right open the Next Picture
- When Proximity is active and event.values[0]==0.0 Close the
AlbumManager application
HO CHI MINH UNIVERSITY OF INDUSTRY
30
2. Monitoring the Battery
A monitoring application can reduce the monitoring
frequency when the battery is low and can increase it if
the device is powered by an external power source. The
battery levels can also help indicate the efficiency of an
application, allowing developers to find areas where
behavior can be modified to improve battery life, which
would be appreciated by users.
To monitor the battery, the application must have the
BATTERY_STATS permission:
<uses-permission android:name=
"android.permission.BATTERY_STATS"/>
HO CHI MINH UNIVERSITY OF INDUSTRY
31
2. Monitoring the Battery
Then the application needs to register for a particular
BroadcastIntent. In this case, it must be
Intent.ACTION_BATTERY_CHANGED.
Emulator
Physical Device
HO CHI MINH UNIVERSITY OF INDUSTRY
32
2. Monitoring the Battery
HO CHI MINH UNIVERSITY OF INDUSTRY
33
2. Monitoring the Battery
HO CHI MINH UNIVERSITY OF INDUSTRY
34
2. Monitoring the Battery
HO CHI MINH UNIVERSITY OF INDUSTRY
END
35

Вам также может понравиться