持续将GPS数据发送到Android模拟器

Ice*_*ind 1 gps android geolocation android-emulator

我正在为Android编写一个应用程序,它将使用GPS接收器测量Android设备移动时的速度.我知道我可以telnet到Android模拟器并使用"geo fix"命令发送Geo坐标.我想知道的是,有没有办法不断发送地理定位数据来模拟沿着街道行驶的汽车?否则,我还可以测试我的应用程序吗?

ing*_*abh 5

嗨,在我的第一个基于GPS的项目中我遇到了同样的问题,所以我写了一个java代码,将GPS Fix发送到我的android模拟器下面是片段

import java.io.IOException;
import java.io.PrintStream;
import java.net.Socket;
import java.net.UnknownHostException;

public class Main {

    static final int PAUSE = 4000; // ms
    static final float START_LONGITUDE = 51, START_LATITUDE = -1.3f;
    static final int NO_SAMPLE = 100;
    static final float DELTA_LONGITUDE = 0.000005f, DELTA_LADITUDE = 0.000005f;

    public static void main(String[] args) {
        try {
            Socket socket = new Socket("localhost", 5554); // usually 5554

            PrintStream out = new PrintStream(socket.getOutputStream());
            float longitude = START_LONGITUDE, latitude = START_LATITUDE;
            String str;

            for (int i = 0; i < NO_SAMPLE; i++) {
                str = "geo fix " + latitude + " " + longitude + "\n";
                out.print(str);
                System.out.print(str);

                Thread.sleep(PAUSE);

                longitude += DELTA_LONGITUDE;
                latitude += DELTA_LADITUDE;
            }
        } catch (UnknownHostException e) {
            System.exit(-1);
        } catch (IOException e) {
            System.exit(-1);
        } catch (InterruptedException e) {
            System.exit(-1);
        }

    }
}
Run Code Online (Sandbox Code Playgroud)