gpt4 book ai didi

Android - 在模拟器上错误测试 GPS

转载 作者:太空狗 更新时间:2023-10-29 13:38:39 25 4
gpt4 key购买 nike

我想在我的 Android 模拟器上测试 GPS,但我发现当我尝试在模拟器上运行时,我的应用程序出现错误“意外停止”。

这里是我的一些代码AndroidManifest.xml

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

和main.java

public void onCreate(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.main);

LocationManager locationManager;
String context = Context.LOCATION_SERVICE;
locationManager = (LocationManager)getSystemService(context);

String provider = LocationManager.GPS_PROVIDER;
Location location = locationManager.getLastKnownLocation(provider);
updateWithNewLocation(location);
}

private void updateWithNewLocation(Location location){
String latLongString;
TextView myLocationText;
myLocationText = (TextView)findViewById(R.id.myLocationText);
if(location != null){
double lat = location.getLatitude();
double lng = location.getLongitude();
latLongString = "Lat:" + lat + "\nLong:" + lng;
}else{
latLongString = "No location found";
}
myLocationText.setText("Your Current Position is: \n" + latLongString);
}

导入我的 main.java

import android.app.Activity;
import android.content.Context;
import android.location.Location;
import android.location.LocationManager;
import android.os.Bundle;
import android.widget.TextView;

你能告诉我为什么当我尝试在我的模拟器上运行我的应用程序时出现错误“意外停止”吗?

谢谢你帮助我:)

跟踪错误:“java.lang.NullPointerException”我一直在使用 DDMS 来设置 long 和 lat:长:112.8010100纬度:-7.2950700

最佳答案

您可以在模拟器中模拟位置

提供模拟位置数据

在开发应用程序时,您肯定需要测试您用于获取用户位置的模型有效。这是最容易做到的使用真正的 Android 驱动设备。但是,如果您没有设备,您仍然可以测试您的通过在 Android 模拟器中模拟位置数据来实现基于位置的功能。可以通过三种不同的方式发送您的应用程序模拟位置数据:在模拟器控制台中使用 Eclipse、DDMS 或“geo”命令。

注意:提供模拟位置数据作为 GPS 位置数据注入(inject), 所以你必须从 GPS_PROVIDER 请求位置更新才能模拟 位置数据工作。

使用 Eclipse

选择窗口 > 显示 View > 其他 > 模拟器控制。

在模拟器控制面板中,输入 GPS 坐标在位置控制下作为单独的纬度/经度坐标, 使用 GPX 文件进行路线回放,或使用 KML 文件进行多个位置标记。 (确保您选择了一个设备 在“设备”面板中——可从“窗口”>“显示 View ”>“其他”>“设备”获得。)

使用 DDMS

使用 DDMS 工具,您可以通过几种不同的方式模拟位置数据:

手动将单独的经度/纬度坐标发送到设备。使用 GPX 文件描述播放到设备的路径。使用描述单个位置标记的 KML 文件进行排序播放到设备。有关使用 DDMS 欺骗位置数据的更多信息,请参阅使用 DDMS。

在模拟器控制台中使用“geo”命令

从命令行发送模拟位置数据:

在 Android 模拟器中启动您的应用程序并打开终端/控制台 在您的 SDK 的/tools 目录中。连接到模拟器控制台:远程登录本地主机发送位置数据:geo fix 发送一个固定的地理位置。此命令接受以十进制表示的经度和纬度,以及 以米为单位的可选高度。例如:地理定位 -121.45356 46.51119 4392geo nmea 发送 NMEA 0183 语句。此命令接受类型为“$GPGGA”(修复数据)的单个 NMEA 语句或'$GPRMC'(传输数据)。例如:geo nmea $GPRMC,081836,A,3751.65,S,14507.36,E,000.0,360.0,130998,011.3,E*62有关如何连接到模拟器控制台的信息,请参阅使用模拟器控制台。

关于Android - 在模拟器上错误测试 GPS,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8265005/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com