Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 35 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
35
Dung lượng
2,38 MB
Nội dung
DONG NAI UNIVERSITY OF TECHNOLOGY Sensors Monitoring the Battery DONG NAI UNIVERSITY OF TECHNOLOGY 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 : DONG NAI UNIVERSITY OF TECHNOLOGY 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 DONG NAI UNIVERSITY OF TECHNOLOGY 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 DONG NAI UNIVERSITY OF TECHNOLOGY Sensors Working with Sensor To get a Sensor, you need to use SensorManager DONG NAI UNIVERSITY OF TECHNOLOGY Sensors Working with Sensor Register EventListener to it DONG NAI UNIVERSITY OF TECHNOLOGY Sensors Working with Sensor UnRegister EventListener Register in the onResume method and Unregister in the onPause method DONG NAI UNIVERSITY OF TECHNOLOGY 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 DONG NAI UNIVERSITY OF TECHNOLOGY Sensors Receive SensorEvent Normally, onSensorChanged is the method in which we need to put your sensor handle logic DONG NAI UNIVERSITY OF TECHNOLOGY Sensors SensorEvent Type Name public int accuracy public Sensor sensor public long timestamp public final float[] values Comment The accuracy of this event The sensor that generated this event The time in nanosecond at which the event happened The length and contents of the values array depends on which sensor type is being monitored 10 DONG NAI UNIVERSITY OF TECHNOLOGY Sensors Sensor.TYPE_ACCELEROMETER Use to Accelerometer to detect SHAKING Device 21 DONG NAI UNIVERSITY OF TECHNOLOGY Sensors Sensor.TYPE_ACCELEROMETER 22 DONG NAI UNIVERSITY OF TECHNOLOGY Sensors Sensor.TYPE_ACCELEROMETER 23 DONG NAI UNIVERSITY OF TECHNOLOGY 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 24 DONG NAI UNIVERSITY OF TECHNOLOGY Sensors Sensor.TYPE_GYROSCOPE 25 DONG NAI UNIVERSITY OF TECHNOLOGY Sensors Sensor.TYPE_GYROSCOPE 26 DONG NAI UNIVERSITY OF TECHNOLOGY 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 27 DONG NAI UNIVERSITY OF TECHNOLOGY Sensors Sensor.TYPE_ORIENTATION 28 DONG NAI UNIVERSITY OF TECHNOLOGY 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 29 DONG NAI UNIVERSITY OF TECHNOLOGY 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: 30 DONG NAI UNIVERSITY OF TECHNOLOGY 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 31 DONG NAI UNIVERSITY OF TECHNOLOGY Monitoring the Battery 32 DONG NAI UNIVERSITY OF TECHNOLOGY Monitoring the Battery 33 DONG NAI UNIVERSITY OF TECHNOLOGY Monitoring the Battery 34 DONG NAI UNIVERSITY OF TECHNOLOGY END 35 [...]...DONG NAI UNIVERSITY OF TECHNOLOGY 1 Sensors Sensor.TYPE_TEMPERATURE 11 DONG NAI UNIVERSITY OF TECHNOLOGY 1 Sensors Sensor.TYPE_TEMPERATURE 12 DONG NAI UNIVERSITY OF TECHNOLOGY 1 Sensors Sensor.TYPE_LIGHT 13 DONG NAI UNIVERSITY OF TECHNOLOGY 1 Sensors Sensor.TYPE_LIGHT 14 DONG NAI UNIVERSITY OF TECHNOLOGY 1 Sensors Sensor.TYPE_PRESSURE 15 DONG NAI UNIVERSITY OF TECHNOLOGY... Sensor.TYPE_PRESSURE 15 DONG NAI UNIVERSITY OF TECHNOLOGY 1 Sensors Sensor.TYPE_PRESSURE 16 DONG NAI UNIVERSITY OF TECHNOLOGY 1 Sensors Sensor TYPE_PROXIMITY 17 DONG NAI UNIVERSITY OF TECHNOLOGY 1 Sensors Sensor TYPE_PROXIMITY 18 DONG NAI UNIVERSITY OF TECHNOLOGY 1 Sensors Sensor TYPE_PROXIMITY 19 DONG NAI UNIVERSITY OF TECHNOLOGY 1 Sensors Sensor.TYPE_ACCELEROMETER 2 The accelerometer values... z-axis 24 DONG NAI UNIVERSITY OF TECHNOLOGY 1 Sensors Sensor.TYPE_GYROSCOPE 25 DONG NAI UNIVERSITY OF TECHNOLOGY 1 Sensors Sensor.TYPE_GYROSCOPE 26 DONG NAI UNIVERSITY OF TECHNOLOGY 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]:... NAI UNIVERSITY OF TECHNOLOGY 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 31 DONG NAI UNIVERSITY OF TECHNOLOGY 2 Monitoring the Battery 32 DONG NAI UNIVERSITY OF TECHNOLOGY 2 Monitoring the Battery 33 DONG NAI UNIVERSITY OF TECHNOLOGY 2 Monitoring the Battery 34 DONG NAI. .. around y-axis (-90 to 90), with positive values when the x-axis moves toward the z-axis 27 DONG NAI UNIVERSITY OF TECHNOLOGY 1 Sensors Sensor.TYPE_ORIENTATION 28 DONG NAI UNIVERSITY OF TECHNOLOGY 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... the y-axis values[2]: Acceleration minus Gz on the z-axis 20 DONG NAI UNIVERSITY OF TECHNOLOGY 1 Sensors Sensor.TYPE_ACCELEROMETER Use to Accelerometer to detect SHAKING Device 21 DONG NAI UNIVERSITY OF TECHNOLOGY 1 Sensors Sensor.TYPE_ACCELEROMETER 22 DONG NAI UNIVERSITY OF TECHNOLOGY 1 Sensors Sensor.TYPE_ACCELEROMETER 23 DONG NAI UNIVERSITY OF TECHNOLOGY 1 Sensors Sensor.TYPE_GYROSCOPE measure,... AlbumManager application 29 DONG NAI UNIVERSITY OF TECHNOLOGY 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, ... Sensor.TYPE_PRESSURE 16 DONG NAI UNIVERSITY OF TECHNOLOGY Sensors Sensor TYPE_PROXIMITY 17 DONG NAI UNIVERSITY OF TECHNOLOGY Sensors Sensor TYPE_PROXIMITY 18 DONG NAI UNIVERSITY OF TECHNOLOGY... DONG NAI UNIVERSITY OF TECHNOLOGY Monitoring the Battery 32 DONG NAI UNIVERSITY OF TECHNOLOGY Monitoring the Battery 33 DONG NAI UNIVERSITY OF TECHNOLOGY Monitoring the Battery 34 DONG NAI UNIVERSITY... being monitored 10 DONG NAI UNIVERSITY OF TECHNOLOGY Sensors Sensor.TYPE_TEMPERATURE 11 DONG NAI UNIVERSITY OF TECHNOLOGY Sensors Sensor.TYPE_TEMPERATURE 12 DONG NAI UNIVERSITY OF TECHNOLOGY