Android教程網
  1. 首頁
  2. Android 技術
  3. Android 手機
  4. Android 系統教程
  5. Android 游戲
 Android教程網 >> Android技術 >> 關於Android編程 >> android gps簡單實用之一

android gps簡單實用之一

編輯:關於Android編程

通過android提供的gps功能可以方便的得到位置信息。由於本文是再模擬器中使用的gps所以要通過ddms發送gps位置信息。
main.xml文件只有一個textview節點就不在給出了。還有就是操作gps需要得到如下權限
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
具體的操作代碼如下:
MainActivity.java
[java] view plaincopyprint?
package com.example.locationmanager; 
 
import android.app.Activity; 
import android.content.Context; 
import android.location.Location; 
import android.location.LocationListener; 
import android.location.LocationManager; 
import android.os.Bundle; 
import android.view.Menu; 
import android.widget.TextView; 
 
public class MainActivity extends Activity { 
     
    private TextView tv_show; 
    //定位管理器 
    private LocationManager lm; 
     
    @Override 
    public void onCreate(Bundle savedInstanceState) { 
        super.onCreate(savedInstanceState); 
        setContentView(R.layout.activity_main); 
         
        tv_show = (TextView) this.findViewById(R.id.tv_show); 
        //獲得系統提供的定位管理器 
        lm = (LocationManager) getSystemService(Context.LOCATION_SERVICE); 
        //從gps獲得最近的定位信息 
        Location location = lm.getLastKnownLocation(LocationManager.GPS_PROVIDER); 
        //使用location顯示信息 
        updateView(location); 
        //設置監聽器 
        lm.requestLocationUpdates(LocationManager.GPS_PROVIDER, 3000, 8, new LocationListener() { 
             
            @Override 
            public void onStatusChanged(String provider, int status, Bundle extras) { 
 
            } 
             
            @Override 
            public void onProviderEnabled(String provider) { 
                //當gps可用時,更新位置 
                updateView(lm.getLastKnownLocation(provider)); 
            } 
             
            @Override 
            public void onProviderDisabled(String provider) { 
                updateView(null); 
            } 
             
            @Override 
            public void onLocationChanged(Location location) { 
                //當gps定位信息發生改變時,更新位置' 
                updateView(location); 
            } 
        }); 
         
    } 
 
    private void updateView(Location location) { 
        if(location != null){ 
            StringBuffer sb = new StringBuffer(); 
            sb.append("實施位置信息:\n"); 
            sb.append("精度:"); 
            sb.append(location.getLongitude()); 
            sb.append("\n維度:"); 
            sb.append(location.getLatitude()); 
            sb.append("\n高度:"); 
            sb.append(location.getAltitude()); 
            sb.append("\n速度:"); 
            sb.append(location.getSpeed()); 
            sb.append("\n方向:"); 
            sb.append(location.getBearing()); 
            tv_show.setText(sb.toString()); 
        }else { 
            tv_show.setText(""); 
        } 
    } 
 
  1. 上一頁:
  2. 下一頁:
熱門文章
閱讀排行版
Copyright © Android教程網 All Rights Reserved