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

时间:2011-05-17 04:02:24

标签: android android-emulator geolocation gps

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

3 个答案:

答案 0 :(得分: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);
        }

    }
}

答案 1 :(得分:0)

编写应用程序并在支持GPS的Android手机中安装apk文件。你可以看到android手机从一个地方移动到另一个地方的大概速度。

答案 2 :(得分:0)

您可以使用javassh之类的库以编程方式将telnet命令发送到模拟器。