簡體   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