繁体   English   中英

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

[英]Android - Error Test GPS on Emulator

我想在我的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到:long:112.8010100 lat:-7.2950700

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

提供模拟位置数据

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

注意:提供模拟位置数据作为GPS位置数据注入,因此您必须从GPS_PROVIDER请求位置更新,以便模拟位置数据起作用。

使用Eclipse

选择Window> Show View> Other> Emulator Control。

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

使用DDMS

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

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

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

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

在Android模拟器中启动您的应用程序,并在SDK的/ tools目录中打开终端/控制台。 连接到模拟器控制台:telnet localhost发送位置数据:geo fix以发送固定的地理位置。 此命令接受十进制度的经度和纬度,以及米的可选高度。 例如:geo fix -121.45356 46.51119 4392 geo 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有关如何连接到仿真器控制台的信息,请参阅使用仿真器控制台。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM