⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 gpsrecord.java~14~

📁 一个用于手机蓝牙通讯的程序
💻 JAVA~14~
字号:
package gps;

import javax.microedition.rms.RecordStore;
import javax.microedition.rms.RecordStoreException;
import javax.microedition.rms.RecordStoreFullException;
import javax.microedition.rms.RecordStoreNotFoundException;
import javax.microedition.rms.RecordStoreNotOpenException;


import gps.datatypes.Record;
import gps.exceptions.EmptyBufferException;
import gps.parser.StringTokenizer;
/**
 * Stores a single record (GPS data).
 *
 * @author  Dominik Schmidt
 */
public class GPSRecord {

    private static RecordStore  gpsRecord= null;

    private final static String  fileName = "gps";

    private static final long WAIT = 1000;

    /**
     * Creates a new instance of RecordBuffer
     */
    public   GPSRecord() {

         try {

			//RecordStore.deleteRecordStore(fileName);
			gpsRecord = RecordStore.openRecordStore(fileName , true);


		} catch (RecordStoreFullException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (RecordStoreNotFoundException e) {
			// TODO Auto-generated catch block

			e.printStackTrace();
		} catch (RecordStoreException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
    }



    /**
     * Gets stored record.
     *
     * @return Stored record
     * @throws EmptyBufferException If buffer is empty
     */
    public static synchronized    Record getRecord() throws EmptyBufferException {


        byte [] bytes;
        String temp ;


        Record rec = new Record();
        try {

        	 gpsRecord = RecordStore.openRecordStore(fileName , true);
        	if (gpsRecord.getNumRecords() == 0)
        	{
        		return rec;
        	}
        	//System.out.println(gpsRecord.getNumRecords());



        	bytes = gpsRecord.getRecord(gpsRecord.getNumRecords());


        	temp =new  String(bytes,0,bytes.length);

        	StringTokenizer token = new StringTokenizer(temp,",");


        	if (token.hasMoreTokens())
        	{
        		rec.dateTimeOfFix = token.nextToken();

        		rec.altitude =token.nextToken();
        		//System.out.println("record.altitude: "+rec.altitude);

        		rec.lattitude = token.nextToken();
        		//System.out.println("record.lattitude: "+rec.lattitude);

        		rec.longitude = token.nextToken();
        		//System.out.println( "record.longitude:"+ rec.longitude);
        		rec.satelliteCount = token.nextToken();

        	}

			gpsRecord.closeRecordStore();

		} catch (RecordStoreFullException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (RecordStoreNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (RecordStoreException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

        return rec;
    }

    public static synchronized void deleteRecords()
    {
    	RecordStore rs ;
    	 try {

			rs = RecordStore.openRecordStore(fileName , false);
			rs.closeRecordStore();
			if (rs.getNumRecords()>0)
			{
				RecordStore.deleteRecordStore(fileName);
			}
			else
			{
				rs.closeRecordStore();
			}


		} catch (RecordStoreFullException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (RecordStoreNotFoundException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		} catch (RecordStoreException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}
    }
    /**
     * Puts record in buffer.
     *
     * @param record Record to be stored
     */
    public static  synchronized void putRecord(Record record) {

    	String temp =  new String();
    	if (true /*record.quality.equals("1")*/)
    	{
    		try {

        		temp =record.dateTimeOfFix+","+record.altitude +"," +record.lattitude + "," + record.longitude+"," + record.satelliteCount;

        		gpsRecord = RecordStore.openRecordStore(fileName , false);

        		gpsRecord.addRecord(temp.getBytes(),0,temp.getBytes().length);

    			gpsRecord.closeRecordStore();


    		} catch (RecordStoreNotOpenException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		} catch (RecordStoreFullException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		} catch (RecordStoreException e) {
    			// TODO Auto-generated catch block
    			e.printStackTrace();
    		}

    	}

    }



    public static void test()
    {
    	Record rec = new Record();

    	GPSRecord rs = new GPSRecord();
    	rec.warning = true;
    	rec.altitude="23.5";//116.378463 40.00383
    	rec.lattitude ="40.00383";
    	rec.longitude = "116.378463";
/**
   static double imgUpLeftX = 116.3120256963415;
   static double imgDownRightX = 116.44668571143103;
   static double imgDownRightY = 39.95382820844796;
   static double imgUpLeftY = 40.056084587970325;
*/
    	GPSRecord.putRecord(rec);

    	try {
			rec = GPSRecord.getRecord();
			System.out.println(rec.altitude);

		} catch (EmptyBufferException e) {
			// TODO Auto-generated catch block
			e.printStackTrace();
		}

    }


}

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -