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

📄 gpsrecord.java~11~

📁 一个用于手机蓝牙通讯的程序
💻 JAVA~11~
字号:
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="2.3";
    	rec.lattitude ="3.9";
    	rec.longitude = "65.3";
    	
    	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 + -