|
||||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |
See:
Description
Interface Summary | |
Channel | Objects implementing the Channel
interface provide information about the channel
and maintain conditions for monitoring the data.
|
ChannelInfo | The object implementing this interface provides information about the data properties of the channel. |
Condition | An application can set conditions to have the data monitored and receive a notification when the data meets the defined condition. |
ConditionListener | An interface implemented by the application to receive notifications when the monitored data meets the condition defined by the application. |
Data | This interface represents data values retrieved from one channel of a sensor. |
DataListener | The DataListener interface is implemented by the
application to receive data from the sensor.
|
SensorConnection | The SensorConnection is an abstraction of an actual
sensor. |
SensorInfo | SensorInfo contains a variety of information about
the physical sensor. |
SensorListener | The SensorListener represents a listener that receives
notifications when the availability of the sensor changes.
|
Class Summary | |
LimitCondition | LimitCondition is a Condition intended for
numeric data to set various kind of conditions.
|
MeasurementRange | This class represents the measurement range of one channel of the sensor. |
ObjectCondition |
The ObjectCondition checks the equality of the set limit
to the measured data value. |
RangeCondition | RangeCondition checks if the measured data value
is within the defined range.
|
SensorManager |
The SensorManager class
is used to find sensors and monitor their
availability. |
Unit | The Unit represents the unit of the measured data values.
|
This package provides the classes and interfaces of the Mobile Sensor API.
The main functionality of Mobile Sensor API is to fetch sensor data and monitor it based on set conditions. The appropriate sensor has to be found, or known beforehand, to be able to open the connection. Data can be received once the connection is opened.
An application can search for a desired sensor based on a quantity and a context type.
The quantity is the property the sensor is measuring. The context type represents
the environment where the measurement is taken, such as "ambient" or "device".
The SensorManager
acts as a sensor finder.
findSensors()
methods of SensorManager
return an array of matching
SensorInfo
objects. SensorInfo
contains
the information of sensor properties such as the model, the vendor, and maximum sampling rate.
The classes and the interfaces of the javax.microedition.sensor
package are presented in the following figure.
Figure 1: Class diagram of javax.microedition.sensor package
After selecting the desired sensor based on information in SensorInfo
objects, the sensor URL
can be retrieved from the SensorInfo
object with the getUrl()
method.
The sensor URL is used to create the SensorConnection
via the Connector
class. The Connector.open()
method
returns a SensorConnection
instance providing an active connection
to the sensor. If the given URL is mapping to multiple sensors then Connector
MAY freely decide which matching sensor to use for the returned SensorConnection
.
An open SensorConnection
instance can be used to receive the measurements. The data
can be retrieved either synchronously or asynchronously. Synchronous data retrieval is done by calling the SensorConnection.getData()
method.
The asynchronous mode requires applications to register as DataListener
objects in order to receive dataReceived()
notifications of collected data.
If the sensor measures several values simultaneously, values from each channel are
stored to separate Data
objects.
Channels represent different dimensions of the measurement.
For example, in 3D acceleration there are three dimensions - axis x, y, and z;
these are different channels. However most of the sensors are such
that they are measuring just one property, so only one channel is needed.
There are two classes, ChannelInfo
and
Channel
related to the channel of the sensor.
The ChannelInfo
defines the properties of the data, for
example, accuracy, a unit, and a scale. The Channel
maintains Condition
objects attached to one channel
of the sensor.
Conditions
are used for monitoring the sensor data.
The application sets the needed Conditions
. There are three
alternatives provided in this API:
LimitCondition
,
RangeCondition
, and
ObjectCondition
.
When Condition
is met, the registered ConditionListener
receives conditionMet
notification.
An implementation of this API may either contain support for a fixed set of sensors, or be extensible to support new types of sensors. However, the possible extension mechanism to install support for new types of sensors is beyond the scope of this API specification.
|
||||||||||
PREV PACKAGE NEXT PACKAGE | FRAMES NO FRAMES |