📄 positioningrunner.java
字号:
/*
* PositioningRunner.java
*
*/
package com.sonyericsson.example;
import javax.microedition.lcdui.TextField;
import javax.microedition.location.Location;
import javax.microedition.location.LocationException;
import javax.microedition.location.LocationProvider;
/**
*
*/
public class PositioningRunner implements Runnable {
private volatile boolean running = true;
private final PositioningListener plistener;
private final TextField t1;
private LocationProvider lp;
private long subscrStart = 0;
private long timeToFirstFix = 0;
/** Creates a new instance of PositioningRunner */
public PositioningRunner(TextField t1) {
this.t1 = t1;
t1.setMaxSize(180);
plistener = new PositioningListener();
lp = LocationProviderAdapter.getLocationProvider();
}
public void init() {
t1.setString("Acquiring GPS fix");
subscrStart = System.currentTimeMillis();
lp.setLocationListener(plistener, 1, -1, -1);
running = true;
}
public void quit() {
running = false;
lp.setLocationListener(null, -1, -1, -1);
}
public void run() {
StringBuffer sb;
boolean firstFixTimeSaved = false;
while (running) {
sb = new StringBuffer("");
Location l = plistener.waitForLocation();
if (l.isValid()) {
if (!firstFixTimeSaved) {
timeToFirstFix = (System.currentTimeMillis() - subscrStart);
firstFixTimeSaved = true;
}
sb.append("TimeToFirstFix: " + timeToFirstFix + "ms\n");
sb.append(Utils.locationToString(l));
} else {
sb = new StringBuffer("Acquiring GPS fix");
}
t1.setString(new String(sb));
}
}
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -