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