Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> Android GPS學習

Android GPS學習

編輯:關於Android編程

因項目中要用到GPS定位,學習了下,便把學習成果記錄下來。

在清單文件中添加權限:
    
    
    
    


用到的幾個對象,LocationManager、LocationListener、Location.

*LocationManager 位置管理器,想要操作定位相關設備,必須先創建一個一個LocationManager對象。

LocationManger locationManager=(LocationManager)this.getSystemService(Context.LOCATION_SERVICE);

* LocationListener 位置監聽者,監聽位置變化,監聽設備開關與狀態。主要用來獲取location, 在內部類實現:
   class myListen implements LocationListener
    {

        @Override
        public void onLocationChanged(Location location) {
            //位置發生變化
            Log.i(TAG, "onLocationChanged.......");
            if (mHandler != null)
            {
                Message msg = mHandler.obtainMessage(REFRESH_LOCATION, location);
                msg.sendToTarget();
            }
        }

        @Override
        public void onProviderDisabled(String provider) {
            //
        }

        @Override
        public void onProviderEnabled(String provider) {
            
        }

        @Override
        public void onStatusChanged(String provider, int status, Bundle extras) {
            //
        }
        
    }




綁定監聽:
            myListenGPS = new myListen();
            
            locationManager.requestLocationUpdates(LocationManager.GPS_PROVIDER,
                    CHECK_POSITION_INTERVAL, 0, myListenGPS);


requestLocationUpdates(String provider, long minTime, float minDistance, LocationListener listener)中的4個參數:

String provider:設備提供者,LocationManager.GPS_PROVIDER和LocationManager.NETWORK_PROVIDER
long minTime: 位置信息更新周期,毫秒為單位;

float minDistance:位置變化最小距離:當位置距離變化超過此值時,將更新位置信息

LocationListener listener:監聽者



* Location 位置信息,通過Location可以獲取時間、經緯度、海拔等位置信息。

Location location=locationManager.getLastKnownLocation(LocationManager.GPS_PROVIDER);//主動獲取Location
SimpleDateFormat dateFormat = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");
                Date date = new Date(location.getTime());
                
                String message = "時間:" + dateFormat.format(date) + "\n"
                        +"經度:" + location.getLongitude() + "\n"
                        + "緯度:" + location.getLatitude() + "\n";










  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved