【so easy~】 GPS的那點兒事兒~!

http://androiddada.iteye.com/

最近發現微信等應用都有找附近的人 的新功能。

遍開始想看看gps

 

於是找了些網上的代碼,自己試了試:

 

 

public class GPS_testActivity extends Activity {
	/** Called when the activity is first created. */
	   private LinearLayout mainView=null;  
	    private TextView infoView=null;  
	    private TextView locationView=null;  
	      
	    private LocationManager locationManager=null;  
	    private LocationListener locationListener=null;  
	@Override
	public void onCreate(Bundle savedInstanceState) {
		  super.onCreate(savedInstanceState);  
	        mainView=new LinearLayout(this);  
	        mainView.setOrientation(LinearLayout.VERTICAL);  
	        infoView=new TextView(this);  
	        mainView.addView(infoView);  
	        locationView=new TextView(this);  
	        mainView.addView(locationView);  
	        setContentView(mainView);  
	        locationManager_init();  
	}

	
	   /*locationManager初始化*/  
    void locationManager_init(){  
        locationManager =(LocationManager)this.getSystemService(GPS_testActivity.LOCATION_SERVICE);  
        locationListener_init();  
        locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,1000,0, locationListener);  
    }  
    /*locatonListener初始化*/  
    void locationListener_init(){  
    	
    	
        locationListener=new LocationListener(){  
            //位置變化時觸發   
            public void onLocationChanged(Location location) {  
            	System.out.println("onLocationChanged");
            	locationView.setText("時間:"+location.getTime()+"\n");  
            	locationView.append("經度:"+location.getLongitude()+"\n");  
            	locationView.append("緯度:"+location.getLatitude()+"\n");  
            	locationView.append("海拔:"+location.getAltitude()+"\n");  
            }  
            //gps禁用時觸發   
            public void onProviderDisabled(String provider) {  
            	System.out.println("onProviderDisabled");
            	Toast.makeText(GPS_testActivity.this, "請開啓GPS!", Toast.LENGTH_SHORT).show();
        		Intent intent = new Intent(Settings.ACTION_SECURITY_SETTINGS);
        		startActivityForResult(intent, 0); // 此爲設置完成後返回到獲取界面
            }  
            //gps開啓時觸發   
            public void onProviderEnabled(String provider) {  
            	Toast.makeText(GPS_testActivity.this, "GPS正常", Toast.LENGTH_SHORT).show();
            }  
            //gps狀態變化時觸發   
            public void onStatusChanged(String provider, int status,Bundle extras) {  
            	System.out.println("onStatusChanged");
                if(status==LocationProvider.AVAILABLE){  
                	infoView.setText("當前GPS狀態:可見的\n");  
                }else if(status==LocationProvider.OUT_OF_SERVICE){  
                	infoView.setText("當前GPS狀態:服務區外\n");  
                }else if(status==LocationProvider.TEMPORARILY_UNAVAILABLE){  
                	infoView.setText("當前GPS狀態:暫停服務\n");  
                }  
            }  
        };  
    }  
    
}

 佈局很簡單幾個textView顯示而已,就不上了

 

客戶端得到gps數據傳給服務處理。。最後顯示出服務返回的數據 搞定!用戶看起來很神奇的功能,在代碼裏並不複雜。

不過服務器端處理數據稍微麻煩寫,需要根據經緯度找出你附近的人兒~

http://androiddada.iteye.com/

好了,希望對朋友們有用~

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章