当前位置: 代码迷 >> Android >> android gps简略实用之一
  详细解决方案

android gps简略实用之一

热度:71   发布时间:2016-05-01 12:55:59.0
android gps简单实用之一

通过android提供的gps功能可以方便的得到位置信息。由于本文是再模拟器中使用的gps所以要通过ddms发送gps位置信息。

main.xml文件只有一个textview节点就不在给出了。还有就是操作gps需要得到如下权限

<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>

具体的操作代码如下:

MainActivity.java

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楼yangheng3294天前 10:28
给力啊。强
  相关解决方案