GPSLib4J  v0.1

Mission: Create an easy to use, pluggable Java API for connecting to and exchanging data from GPS units.  Let people concentrate on writing cool Java GPS apps instead of getting bogged down in serial port i/o problems.

This project will provide the following:

  • Multiple physical layer support such as serial, bluetooth, etc.
    • Cross platform serial support vi the RXTX library ( and the Java Comm API. (Mac OS X, Linux, Solaris, Windows, etc)
  • Clean object model that allows for plugable extensibility.
    • Interfaces to allow for writing/reading data from/to multiple file formats via plugins.
    • Interfaces to allow for protocol extensiblity.
  • Threaded to allow it's background use in GUI applications.
    • Uses listener design pattern for gps protocol event notification.
  • Automatic unit discovery and initialization.
  • Two published APIs, one braindead simple and the other with access to the nitty gritty.

Most GPS software out there reflects the complexity and multiplicity of GPS protocols, in our opinion this should not be the case.   A simple API is needed similar to the following.

myGPS[] = GPSLib4j.findGPS();  // finds connected gps unit(s), identifies it 
// and figures out what protocols it talks

Waypoints waypoints = myGPS[0].downloadWaypoints();

Applications using this library

(Request to add yours to the list)