package earth_survy; import java.util.*; import javax.microedition.io.*; import java.io.*; import com.sun.kjava.*; import com.sun.cldc.io.palm.comm.*; public class PrintMe extends Spotlet { static Graphics g=Graphics.getGraphics(); static Protocol serialPort = new Protocol(); static String url="0;baudrate=4800;bitsperchar=8;stopbits=1;parity=none;autorts=off;autocts=off;blocking=off"; // static String url="comm:0;baudrate=4800;bitsperchar=8;stopbits=1;parity=none"; static InputStream is; // Open the serial Port for Gps Data Input public boolean openPort(){ try { serialPort.open(url,1, true); is=serialPort.openInputStream(); return true; } catch (Exception ex) { return false; } } //Close the serial Port public boolean closePort(){ try { is.close(); serialPort.close(); return true; } catch (Exception ex) { return false; } } //Read the GPS data //Mark is "$GPRMC //rdLen is the buffer length //getlen is the return lenth; public String readGpsData(String mark,int rdlen,int getlen){ byte[] readBuffer = new byte[rdlen]; String rawGpsData; String Gprmc; while (true){ try{ //Read raw GPS data into a buffer; is.read(readBuffer); rawGpsData=new String(readBuffer); //determin the positon of the Mark==> $GPRMC; int pos=rawGpsData.indexOf(mark); if (pos>-1) { Gprmc=rawGpsData.substring(pos); if (Gprmc.length()>getlen) { Gprmc=Gprmc.substring(0,getlen); break; } } } catch(Exception e){ // System.out.println( ); } } return Gprmc; //end loop }//end method }