Activity:
package com.van.gps; import android.app.Activity; import android.app.AlertDialog; import android.app.AlertDialog.Builder; import android.content.Context; import android.content.DialogInterface; import android.content.Intent; import android.location.Criteria; import android.location.Location; import android.location.LocationManager; import android.os.Bundle; import android.provider.Settings; import android.widget.TextView; public class GPSTestActivity extends Activity { private TextView textView;//显示文本框 private LocationManager locationManager;//位置管理 private GPSLocationListener locationListener;//位置监听器 @Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.main); textView = (TextView) this.findViewById(R.id.textView_location); locationListener=new GPSLocationListener(textView); //首先打开GPS,查找位置。 openGPSSettings(); } /** * 设置GPS。 */ private void openGPSSettings() { locationManager = (LocationManager) this.getSystemService(Context.LOCATION_SERVICE); if (locationManager.isProviderEnabled(android.location.LocationManager.GPS_PROVIDER)) { getLocation(); return; } //提示用户打开GPS AlertDialog.Builder builder = new Builder(GPSTestActivity.this); builder.setMessage("必须要开启GPS才能使用此程序,开启?"); builder.setTitle("提示"); builder.setPositiveButton("确认", new android.content.DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { Intent intent = new Intent(Settings.ACTION_LOCATION_SOURCE_SETTINGS); startActivityForResult(intent,0); //此为设置完成后返回到获取界面 } }); builder.setNegativeButton("退出", new android.content.DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int which) { dialog.dismiss(); GPSTestActivity.this.finish(); } }); builder.create().show(); } /** * 获取地理位置。 */ private void getLocation(){ // 查找到服务信息 Criteria criteria = new Criteria(); criteria.setAccuracy(Criteria.ACCURACY_FINE); // 高精度 criteria.setAltitudeRequired(false); criteria.setBearingRequired(false); criteria.setCostAllowed(true); criteria.setPowerRequirement(Criteria.POWER_LOW); // 低功耗 /** * ANDROID中有两种获取位置的方式,LocationManager.NETWORK_PROVIDER和LocationManager.GPS_PROVIDER; * 前者用于移动网络中获取位置,精度较低但速度很快, 后者使用GPS进行定位,精度很高但一般需要10-60秒时 * 间才能开始第1次定位,如果是在 室内则基本上无法定位。 * 此方法使用Criteria得到最佳的方式 */ String provider = locationManager.getBestProvider(criteria, true); // 获取GPS信息 Location location = locationManager.getLastKnownLocation(provider); // 通过GPS获取位置 locationListener.updateLocation(location);//调用方法,更新位置信息 // 设置监听器,1秒监听一次 locationManager.requestLocationUpdates(provider, 1000, 0 ,locationListener); }
GPSLocationListener:
package com.van.gps; import android.location.Location; import android.location.LocationListener; import android.os.Bundle; import android.widget.TextView; public class GPSLocationListener implements LocationListener{ //显示文本 private TextView textView; /** * 构造. * @param textView */ public GPSLocationListener(TextView textView){ this.textView=textView; } @Override public void onLocationChanged(Location location) { updateLocation(location); } @Override public void onProviderDisabled(String provider) { // TODO Auto-generated method stub } @Override public void onProviderEnabled(String provider) { // TODO Auto-generated method stub } @Override public void onStatusChanged(String provider, int status, Bundle extras) { // TODO Auto-generated method stub } /** * 更新位置显示. * @param location */ public void updateLocation(Location location) { if (location != null) { double latitude = location.getLatitude(); double longitude= location.getLongitude(); textView.setText("维度:" + latitude+ "\n经度:" + longitude); } else { textView.setText("无法获取地理信息"); } } }
效果如下:
相关推荐
Android程序员入门教程(中文版) 第一章:什么是Android 第二章:下载和安装Eclipse总则 第三章:下载和安装Android SDK ...第九章:使用手机的GPS功能 第十章:使用Google API的Gtalk 第十一章:应用程序:找一个朋友
xamarin android中使用gps定位获取经纬度,入门的简单介绍:http://blog.csdn.net/kebi007/article/details/74936979
11.3 Android模拟器支持的GPS定位文件 11.3.1 KML 11.3.2 NMEA 11.4 应用实例详解:确定当前 位置的GPS程序 11.4.1 实例分析 11.4.2 实例实现 11.5 基于Google Map的应用 11.5.1 使用MapView显示地图 11.5.2 使用...
【标题】中的“安卓Android源码——androidGPS及WIFI基站定位坐标源码”表明了这是一个关于Android系统中GPS和Wi-Fi基站定位功能的源代码集合。在Android平台上,定位服务是应用程序能够获取用户当前位置的关键组件...
《Delphi XE6 Android编程入门》是一本深入浅出的教程,专为那些希望使用Embarcadero Delphi XE6开发Android应用的初学者和开发者设计。这本书结合了理论知识与实践案例,帮助读者快速掌握Delphi XE6在Android平台上...
这份"Android应用源码之两个GPS导航定位源码.zip"的压缩包显然包含了两个示例项目,帮助开发者深入理解如何在Android环境中实现GPS定位功能。下面我们将详细探讨相关的知识点。 首先,Android提供了Location API来...
它为学生们提供了一个实践平台,帮助他们深入理解Android系统中GPS模块的工作原理以及如何在应用程序中实现定位功能。通过这个项目,学生可以了解到Android应用开发的基础知识,包括Android Studio的使用、布局设计...
本示例主要讲解如何在Android应用中使用高德地图API实现2D定位功能,适合初学者入门。首先,我们需要了解一些基础知识: 1. **申请高德地图API Key**: 在使用高德地图服务前,你需要在高德地图开放平台...
本教程将详细解释如何在Android中实现GPS定位,适合初学者入门。 首先,为了使用GPS定位,我们需要在Android应用中获取`LocationManager`服务。`LocationManager`是Android系统提供的一个接口,它负责管理各种位置...
第1章 Android入门 1 1 关于Android的非技术问题 1 1 1 为什么看好 Android 1 1 2 以前是否从事过Android的工作 做过哪些工作 1 1 3 你做的最复杂的界面是什么 1 1 4 如何解决Android学习中遇到的难题 1 1 5 Android...
在这个“【免费】phonegap调用安卓插件实现GPS定位”的主题中,我们将深入探讨如何利用PhoneGap调用Android的GPS插件来获取设备的实时位置信息。 首先,理解PhoneGap与Android之间的交互机制至关重要。PhoneGap通过...
- GPS定位:使用LocationManager获取经纬度坐标。 - 地图集成:Google Maps Android API v2的使用,包括地图显示、标记、路线规划等。 6. **第12章:高级话题** - 活动生命周期:了解活动在不同状态下的行为,...
《ANDROID从入门到精通》是由孙更新编著的一本针对Android开发的学习指南。这本书全面覆盖了Android开发的基础知识,旨在帮助初学...通过这本书的学习,你可以逐步掌握Android开发的核心技术,实现从入门到精通的转变。
第一讲:Android开发环境...第二十六讲:Android中的GPS应用入门 第二十七讲:Handler使用入门 第二十八讲:Android多媒体(Media)入门 第二十九讲:WebView学习指南 第三十讲:URLConnection和HttpClient使用入门
《Android GPS测试应用源码深度解析》 在移动设备领域,Android系统因其开源特性而备受开发者青睐,其中GPS(全球定位系统)...同时,这份源码也是一份宝贵的教育资源,可以帮助初学者快速入门Android定位服务的开发。
Beta版的 Android SDK 提供了在Android平台上使用JaVa语言进行Android应用开发必须的工具和API接口。 特性 应用程序框架 支持组件的重用与替换 Dalvik 虚拟机 专为移动设备优化 集成的浏览器 基于开源的WebKit ...
Delphi XE6允许直接调用Android的原生API,这意味着你可以充分利用Android系统的所有功能,如GPS定位、摄像头、蓝牙等。教程会展示如何接入这些功能并安全地使用它们。 **八、调试和测试** 有效的调试技巧是确保...
《Android入门到精通教程》是一套全面且深入的Android开发学习资源,包含了从基础到高级的各个层次的知识点。这份PPT课件共分为十五个章节,旨在帮助初学者逐步建立起对Android开发的全面理解,并进一步提升专业技能...
另一部分是后端的原生插件,这些插件允许Web代码与设备的硬件功能进行交互,如访问相机、存储、GPS定位等。PhoneGap提供了一系列预定义的API,开发者可以通过调用这些API来访问设备功能。 在"HelloWorld"这个示例中...
《C#开发Android应用实战:使用Mono for Android和.NET C#》是由美国作者麦克卢尔编著,清华大学出版社出版的一本技术专著。这本书详细介绍了如何利用C#语言和Mono for Android框架进行Android应用程序的开发,是...