// Requires http://ostermiller.org/utils/StringTokenizer.java.html public String getGPGGAFromNMEA(String NMEA) { try { StringTokenizer tok = new StringTokenizer(NMEA, "$", false); while (tok.hasMoreTokens()) { String line = tok.nextToken(); if (line.startsWith("GPGGA")) { return line; } } } catch ( Exception e ) { raw.setText(e.toString()); } return null; } public String getFieldFromGPGGA(String GPGGA, String field) { try { System.out.println("Parsing " + GPGGA); StringTokenizer gpggatok = new StringTokenizer(GPGGA, ",", false); String junk = gpggatok.nextToken(); String utc = gpggatok.nextToken(); if ( field.equals("utc") ) { return utc; } String latitude = gpggatok.nextToken(); String northHemi = gpggatok.nextToken(); String longitude = gpggatok.nextToken(); String eastHemi = gpggatok.nextToken(); int quality = Integer.parseInt(gpggatok.nextToken()); String nSatString = gpggatok.nextToken(); if ( field.equals("numsats") ) { return nSatString; } } catch (Exception e ) { raw.setText(e.toString()); } return null; }