This shows you the differences between two versions of the page.
Both sides previous revision Previous revision Next revision | Previous revision | ||
android:android_agtek_lib [2011/03/29 16:25] mjallison |
android:android_agtek_lib [2012/10/10 07:16] (current) |
||
---|---|---|---|
Line 46: | Line 46: | ||
* Allow application packaging choice. Applications have varying footprint requirements, the manager must be small. | * Allow application packaging choice. Applications have varying footprint requirements, the manager must be small. | ||
- | The Android LocationManager provides many interface methods for working with testing, development, and "normal" use. Our approach is to treat all of these factors the same. Testing and development all provide locations through the same interfaces as the "normal" devices. | + | The Android LocationManager provides interface methods for working with testing, development, and "normal" use. Our approach is to treat all of these factors the same. Testing and development all provide locations through the same interfaces as the "normal" devices. The LocationManager represents physical location providing instruments with two different object types; LocationDevice and LocationProvider. The LocationDevice class describes the instrument, but doesn't interact with it, and can be thought of as a "File Descriptor". A LocationProvider will consume the data stream from the location instrument, and actually provide the Location updates to the application (mediated by the LocationFramework). |
The Application generally does not interact directly with the LocationProvider in use. Rather the Application will do most of the work using the LocationManager. The AGTEK LocationManager is retrieved using a Singleton pattern instead of using an Android OS interface; | The Application generally does not interact directly with the LocationProvider in use. Rather the Application will do most of the work using the LocationManager. The AGTEK LocationManager is retrieved using a Singleton pattern instead of using an Android OS interface; | ||
Line 60: | Line 60: | ||
</code> | </code> | ||
- | When getting the instance of the LocationManager, you must pass in an Activity context. This is required so the LocationManager can access the Bluetooth manager. The Bluetooth manager is required in order to support the RTK based devices. | + | When getting the instance of the LocationManager, you must pass in an Activity context. This is required so the LocationManager can access the Bluetooth manager. The Bluetooth manager is required in order to support most of the RTK based devices. |
The Application needs to get a LocationDevice to request updates. To get the device initialized and running, the user must first choose a device, then the application can request updates (although depending on the application, some devices may be hardwired); | The Application needs to get a LocationDevice to request updates. To get the device initialized and running, the user must first choose a device, then the application can request updates (although depending on the application, some devices may be hardwired); | ||
Line 106: | Line 106: | ||
Applications may playback the location stream using the PlaybackDevice/PlaybackProvider. These function exactly the same as a normal LocationManager capable instrument. The PlaybackProvider will send updates back to the application at exactly the same rate as they were recorded. | Applications may playback the location stream using the PlaybackDevice/PlaybackProvider. These function exactly the same as a normal LocationManager capable instrument. The PlaybackProvider will send updates back to the application at exactly the same rate as they were recorded. | ||
+ | |||
+ | ==== LocationManager Cautions ==== | ||
+ | The LocationManager is still relatively early in its development, so changes are to be expected. In particular areas of device initialization/startup and reporting status to applications are not well developed. These are expected to mature as new devices are added to the framework. | ||
==== LocationManager Summary ==== | ==== LocationManager Summary ==== |