用GPS和android内置传感器能实现米级定位吗

作者&投稿:广步 (若有异议请与网页底部的电邮联系)
如何基于安卓内置传感器实现室内定位~

有两种方法,一种是设置里,有个位置和安全的选项,里面设置允许使用位置服务;第二种(安卓4.0以上)在下拉栏里点击“位置服务”案件,绿色就表示打开了。以上两种方法使用时都会在上面有一个位置服务标识中间在闪烁。

您好,很高兴为您解答。

一、准备工作需要如下三种软件:1. Eclipse2. Android SDK3. 开发Android程序的Eclipse 插件
为了开始我们的工作,首先要安装Eclipse,然后从Google的网站获得Android SDK,并且安装Eclipse插件。
二、Activity类每一种移动开发环境都有自己的基类。如J2ME应用程序的基类是midlets,BREW的基类是applets,而Android程序的基类是 Activity。这个activity为我们提供了对移动操作系统的基本功能和事件的访问。这个类包含了基本的构造方法,键盘处理,挂起来恢复功能,以 及其他底层的手持设备的访问。实质上,我们的应用程序将是一个Activity类的扩展。在本文中读者将会通过例子学习到如何使用Activity类来编 写Android程序。下面是一个简单的继承Activity的例子。
public class LocateMe extends Activity{ public void onCreate(Bundle params){ super.onCreate(params); setContentView(R.layout.main); } public boolean onKeyDown(int keyCode, KeyEvent event){ return true; } }三 View类View类是Android的一个超类,这个类几乎包含了所有的屏幕类型。但它们之间有一些不同。每一个view都有一个用于绘画的画布。这个画布可以用 来进行任意扩展。本文为了方便起见,只涉及到了两个主要的View类型:定义View和Android的XML内容View。在上面的代码中,使用的是 “Hello World” XML View,它是以非常自然的方式开始的。如果我们查看一下新的Android工程,就会发现一个叫main.xml的文件。在这个文件中,通过一个简单的XML文件,描述了一个屏幕的布局。这个 简单的xml文件的内容如下:
上面的内容的功能看起来非常明显。这个特殊文件定义了一个相关的布局,这就意味着通过一个元素到另一个元素的关系或是它们父元素的关系来描述。对于视图来 说,有一些用于布局的方法,但是在本文中只关注于上述的xml文件。RealtiveLayout中包含了一个填充整个屏幕的文本框(也就是我们的LocateMe activity)。这个LocateMe activity在默认情况下是全屏的,因此,文本框将继承这个属性,并且文本框将在屏幕的左上角显示。另外,必须为这个XML文件设置一个引用数,以便 Android可以在源代码中找到它。在默认情况下,这些引用数被保存在R.java中,代码如下:
public final class R{ public static final class layout{ public static final int main=0x7f030001; } }视图也可以被嵌套,但和J2ME不同,我们可以将定制的视图和Android团队发布的Widgets一起使用。在J2ME中,开发人员被迫选择 GameCanvas和J2ME应用程序画布。这就意味着如果我们想要一个定制的效果,就必须在GameCanvas上重新设计我们所有的widget。 Android还不仅仅是这些,视图类型也可以混合使用。Android还带了一个 widget库,这个类库包括了滚动条,文本实体,进度条以及其他很多控件。这些标准的widget可以被重载或被按着我们的习惯定制。现在让我们来进入 我们的例子。

四、Android实例
这个演示应用程序将演示了用户的当前的经度和纬度(在文本框中显示)。onCreate构造方法将和上面的例子基本相同,除了在其中加入了键盘处理,现在 让我们看一下onKeyDown的代码。
public boolean onKeyDown(int keyCode, KeyEvent event){ if(keyCode != KeyEvent.KEYCODE_DPAD_CENTER || m_bLoading) { return true; } m_bLoading = true; getLocation(); return true; }下面让我们来解释一下这段代码,首先,这段代码检查了当前被按下的键,但还没有开始处理。而是在getLocation方法中处理这一切的。然后,将装载 flag标志以及调用getLocation方法,下面是getLocation方法的代码。
private void getLocation(){ Location loc; LocationManager locMan; LocationProvider locPro; List proList; setContentView(R.layout.laoding); locMan = (LocationManager) getSystemService(LOCATION_SERVICE); proList = locMan.getProviders(); locPro = proList.get(0); loc = locMan.getCurrentLocation(locPro.getName()); Lat = (float)loc.getLatitude(); Lon = (float)loc.getLongitude(); CreateView(); setContentView(customView); }到这为止,程序开始变得更有趣了。但是不幸的是,Google关于之方面的文档还是比较少了。在程序的变量声明之后,我们需要演示一些装载信息。 R.layout.loading符合了另一个简单的XML布局视图。通过简单地调用setContentView方法可以使用转载信息重绘屏幕。读者要注意的是:在编译时,Android会预先将所有的XML布局数据包装起来。如果我们想在编译后变化布局属性,按着规定,我们必须在源程序中做这些 事。获得LocationManager的唯一方法是通过getSystemService()方法的调用。通过使用LocationManager, 我们可以获得一个位置提供者的列表。在一个真实的手持设备中,这个列表包含了一些GPS服务。实际上,我们希望选择更强大,更精确,最后不带有其他附加服 务的GPS。现在,在模拟器中提供了一个用于测试的GPS,这个GPS来自San Francisco。定制的GPS文件可以可以被上传,并进行测试。如果我们要测试更复杂的应用,来自San Francisco的GPS可能并不适合。目前我们可以使用位置管理器和位置提供者进行getCurrentLocation的调用。这个方法返回本机的当前位置的一个快照,这个快照将以 Location对象形式提供。在手持设备中,我们可以获得当前位置的经度和纬度。现在,使用这个虚拟的手持设备,我们可以获得这个例子程序的最终结果: 建立了显示一个定制的视图。
五、使用定制视图在最简单的窗体中,一个Android中的视图仅仅需要重载一个onDraw方法。定制视图可以是复杂的3D实现或是非常简单的文本形式。下面的 CreateView方法列出了上面看到的内容。
public void CreateView(){ customView = new CustomView(this); }这个方法简单地调用了CustomView对象的构造方法。CustomView类的定义如下:
public class CustomView extends View{ LocateMe overlord; public CustomView(LocateMe pCtx){ super(pCtx); overlord = pCtx; } public void onDraw(Canvas cvs){ Paint p = new Paint(); String sLat = "Latitude: " + overlord.getLat(); String sLon = "Longitude: " + overlord.getLon(); cvs.drawText(sLat , 32, 32, p); cvs.drawText(sLon, 32, 44, p); } }这个定制的Android视图获得了经度和违度的测试数据,并将这些数据显示在屏幕上。这要求一个指向LocateMe的指针,Activity类是整 个应用程序的核心。它的两个方法是构造方法和onDraw方法。这个构造方法调用了超类的构造方法以及引起了Activity指针的中断。onDraw方 法将建立一个新的Paint对象(这个对象封装了颜色、透明度以及其他的主题信息),这个对象将会访问颜色主题。在本程序中,安装了用于显示的字符串,并 使用画布指针将它们画到屏幕上。这个和我们了解的J2ME游戏的画布看起来非常类似。
六、Android展望从纯粹的开发观点看,Android是一个非常强大的SDK。它使用基于XML的布局和定制视图联合了起来。并可以使用滚动条、地图以及其他的组件。所以 的这一切都可以被重载,或由开发人员来定制。但它所提供的文档非常粗糙。在文档中并没有象SMS等技术,但是从整体上来看Android SDK,还是非常有希望的。也非常符合Google承诺的“First Look”SDK。现在我们要做的就是等待Google发布第一个基于Android的手机,并使用它。

如若满意,请点击右侧【采纳答案】,如若还有问题,请点击【追问】

希望我的回答对您有所帮助,望采纳!

~ O(∩_∩)O~

你觉得可能吗?米级的定位已经算是军用的了。就算是军用的也达不到米级的定位。
请你对找地图,按照经纬度去查看,你会发现你在的经纬度是一个范围值。
假设说这个。句号是你在的位置,那么这个位置可能是十米或者百米级别的。
定位的准确率设计天气和地形等。很多外界因素都会干扰到定位的准确率

涉及到定位相关app的开发建议用真机调试,这样比较方便

涉及到定位相关app的开发建议用真机调试,这样比较方便


androits gps test 支持苹果吗
androits gps test 你看前面几个andro 其实就是Android的简称,当然就只有用于安卓系统的。苹果可以使用其他的GPS test for ios。

苹果除了手机,还有什麼产品值得购买?
gps导航:内置gps,支持glonass 小米m2(mi2)参数 网络模式:gsm,wcdma 网络类型:单卡双模 外观设计:直板 主屏尺寸:4.3英寸 1280x720像素 触摸屏:电容屏,多点触控 摄像头像素:前:200万像素,后:800万像素 ...操作系统:miui v4+原生android(基于andro...ram容量:2gb rom容量:16gb 电池...

2020版北斗导航无语音提示怎么办?
详情请查看视频回答

小米10pro的参数配置和价格大小(上市时间及其优缺点)
转到正面,小米10 Pro采用6.67英寸有机发光二极管曲面屏,屏幕分辨率为1080P,支持90Hz刷新率和180Hz采样率。小米10 Pro屏幕是左上角单摄,观感还是比较和谐的。在息屏状态下,曲面屏带来的高级感配合玫瑰金的高光金属边框,质感相当高,有三星旗舰的味道,深受好评。小米10 Pro提供了自适应、明亮、初级...

ⅤⅰⅤ0Y7s的参数
导航GPS导航> 连接与共享无线AP\/WLAN热点,VoLTE>,OTG> 蓝牙支持蓝牙> 机身接口3.5mm耳机接口USB接口 摄像头 摄像头总数双摄像头(前后)> 后置摄像头1300万像素>高清级像素高清像素手机> 前置摄像头500万像素>普通级像素高像素自拍手机> 传感器类型CMOS 闪光灯LED补光灯> 光圈后置f\/2.2,前置f\/2....

宿城区13358996950: 用GPS和android内置传感器能实现米级定位吗 -
伊卫三分: 首先目前国内的GPS定位级别可达到误差不大于10M范围,但介于GPS信号的稳定性(有漂移情况)误差范围可能会大于10M.如果GPS结合APGS手机定位的话,只能说是在定位精度的稳定性方面有所提高,定位精度应该会小于5M.

宿城区13358996950: 如何基于android手机的gps和传感器测速度 -
伊卫三分: 基于android手机的gps和传感器测速度?我没听错吧?让你来做这个,获取gps和sensor的数据比较容易,关键的是算法,如何通过gps和sensor算出速度来这个可不容易 查看原帖>>

宿城区13358996950: android智能手机GPS怎么用 -
伊卫三分: 1、如果使用Android手机上自带的GPS全球定位功能,需要在设置项中开启才能使用.首先切换到桌面屏.按下手机上的Menu键,在弹出的菜单中选择Settings(设置),接下来找到Secrurity&location (安全和定位),如图:2、这里进入后...

宿城区13358996950: 如何利用android手机的GPS和传感器侧汽车行驶速度,速度的公式是什么 -
伊卫三分: 这个根本没法测,误差太大,一定要测的话要知道你的GPS地图的比例是多少,然后根据比例算实际移动的距离,再和时间一除就出来了(S/T).

宿城区13358996950: android连接gps -
伊卫三分: Android手机几乎都内置GPS芯片,不过像你这样想使用外置蓝牙GPS可能不可行,目前Android好像还不支持

宿城区13358996950: 手机android编程,如何调用GPS定位模块 -
伊卫三分: GPS调用是Android系统中非常重要的一个功能,可以为手机app提供与位置相关的所有功能.Android编程时,对于GPS模块有一个专门的管理类,称为:LocationManager,用来管理与GPS定位服务相关的所有接口.如果您还是不能实现GPS定位模块的调用,可以到SKYLAB网站上了解下GPS模块的相关资料,希望能够帮助到您.

宿城区13358996950: 安卓系统有没有不用磁场感应器仅用GPS就能实现的电子罗盘呀 -
伊卫三分: 木有,也不可能有.电子罗盘依靠感应地球磁场工作,GPS依靠接收卫星信号工作,二者的性质完全不同,至少目前没法兼容.作为手机来说,只要没有地磁感应器(电子罗盘),任何其他手段都没法让它具备指示地磁方向的能力. 要解决这个问题只能换手机.千把元的安卓手机一般都具备电子罗盘功能,但购买的时候一定要确认一下.

宿城区13358996950: 如何实现笔记本使用手机内置GPS模块进行导航 -
伊卫三分: 首先打开笔记本上的pc版导航软件,再打开手机gps和蓝牙,和笔记本的蓝牙进行连接,然后根据导航软件的功能操作.

宿城区13358996950: android系统平板电脑如何使用的GPS,需要什么配件,用什么程序?? -
伊卫三分: 很多安卓平板本身带GPS,可以安装相应的软件直接使用,本身不带GPS模块的可以在淘宝上买 一个用兰牙的GPS模块,利用兰牙通讯建立平板和GPS和联系.现在基于LBS(位置服务)的程序很多,有地图、导航、团购、社交等各类,看你的需要安装.

宿城区13358996950: 有没有通过测加速度然后积分得到速度加速度的传感器? -
伊卫三分: 当然有,陀螺导航仪,陀螺运动是对加速度很敏感的.你可以研究一下陀螺的应用,现在好像主要都是陀螺干涉仪了,反正都还是与陀螺有些关系,他们都能很即时的感知到加速度的变化,很多GPS导航应该用的就是这个原理.

本站内容来自于网友发表,不代表本站立场,仅表示其个人看法,不对其真实性、正确性、有效性作任何的担保
相关事宜请发邮件给我们
© 星空见康网