首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 移动开发 > Android >

android gps简略实用之一

2012-11-22 
android gps简单实用之一通过android提供的gps功能可以方便的得到位置信息。由于本文是再模拟器中使用的gps

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() {@Overridepublic void onStatusChanged(String provider, int status, Bundle extras) {}@Overridepublic void onProviderEnabled(String provider) {//当gps可用时,更新位置updateView(lm.getLastKnownLocation(provider));}@Overridepublic void onProviderDisabled(String provider) {updateView(null);}@Overridepublic 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
给力啊。强

热点排行