Location API for Java ME: Difference between revisions

Content deleted Content added
rewrite lead
removed duplicate kink
 
(14 intermediate revisions by 9 users not shown)
Line 1:
{{Short description|Physical ___location application interface}}
{{Expert-subject|Computer networking|date=August 2009}}
The '''Location API for Java ME''' is a compact and generic [[Java Platform, Micro Edition|Java 2 ME]] [[Application Programming Interface|API]] that produces information about the device's present physical ___location to Java applications. This API can be optionally supported by [[mobile phone]] and [[Personal digital assistant|PDA]] manufacturers, with the minimum Java platform required for this API being [[Connected Limited Device Configuration|CLDC v1.1]].
 
The Location API was developed under the [[Java Community Process]] as JSR 179, released in September 2003 and updated to version 1.0.1 in March 2006. [[Nokia]] is the main author and maintainer of this [[Java Specification Request|JSR]].
 
'''OpenLAPI''' is an [[LGPL]] implementation for use in emulator environments where the Nokia reference implementation does not exist and for devices which can access a [[GPS]] device over [[Bluetooth]].
 
== Features ==
 
The Location API is designed to work with many different positioning methods. Generic interfaces lets application developers implement systems that can retrieve ___location data from multiple sources, based on their availability on the device. It has advantages over a single means of tracking, including fail-over, indoor/outdoor transparency, and a choice between the speed and accuracy trade-offs between [[Global Positioning System|GPS]], cellular, or other positioning methods. The API supports:<ref>[http://www.ddj.com/java/184406388 Dr. Dobb's 2006 - The Java Location API]</ref>
*Current ___location - current [[latitude]], [[longitude]], [[altitude]], [[Direction (geometry)|direction]], and [[speed]] of the phone, and methods to convert it to [[Geographic_coordinate#Degrees:_a_measurement_of_angle|text]].
*Landmark proximity - a store of landmarks can be stored on the phone's memory, and the current ___location can be added as a landmark.
*Address data - the nearest landmark's textual details, such as postal address, phone number, country, and the building and its URL.<ref>[http://www.ddj.com/showArticle.jhtml?documentID=ddj0601i&pgno=8 Dr. Dobb's 2006 - The Java Location API - Address Information]</ref>
*Location listeners - for dynamic ___location-based applications that will be triggered by when the current ___location changes.
 
The Location API does not support:
*Topological data - which is usually derived from the shapes of cell site coverage.
*Location-based queries - although the current ___location of the device can be calculated.
 
== Device independence ==
Line 12 ⟶ 24:
OpenLAPI supports several back-ends:
* GPS over [[Bluetooth]]
* [[National Marine Electronics Association|NMEA]] logfile (for development)
* KML ([[Keyhole Markup Language]]) (for development)
* random entry from a persistent landmark store (for development)
along with device specific wrappers.
 
== Current stateSupport ==
 
Since many providers choose not to implement this optional JSR, the goal of universality has still not happened and developers are often required to create custom builds for different devices.
 
The Location API is available to Java applications on some [[BlackBerry]] and [[Windows Mobile]] devices, recent [[Motorola]] and [[Sony Ericsson]] devices, and all [[Nokia]] [[S60 (software platform)|Series 60 3rd Edition]] devices.
 
== References ==
<references/>
 
== External links ==
* [httphttps://www.jcp.org/en/jsr/detail?id=179 JSR 179 Location API for J2ME]:
* [http://openlapi.com OpenLAPI OpenLAPI, an [[LGPL]] implementation]
* [http://www.forum.nokia.com/main/resources/technologies/java/documentation/java_jsr.html#jsr179 Nokia resources Nokia resources on JSR-179, including Javadocs and reference implementation]
 
[[Category:Java device platform]]