Android 在文本文件中写入GPS坐标
我正在编写一个简单的应用程序,它可以使用Android 在文本文件中写入GPS坐标,android,geolocation,gps,Android,Geolocation,Gps,我正在编写一个简单的应用程序,它可以使用FileOutputStream将GPS坐标写入文本。文本已成功创建并使用位置坐标写入。但是,位置更新的频率不如我在以下方法中设置的频率高: locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, this); 我将minTime和MindDistance设置为0,因为我希望获取尽可能多的坐标。以下是onLocationChanged()中的代码 结果不
FileOutputStream
将GPS坐标写入文本。文本已成功创建并使用位置坐标写入。但是,位置更新的频率不如我在以下方法中设置的频率高:
locationManager.requestLocationUpdates(LocationManager.NETWORK_PROVIDER, 0, 0, this);
我将minTime和MindDistance设置为0,因为我希望获取尽可能多的坐标。以下是onLocationChanged()中的代码
结果不能满足我的需要,因为我希望每秒至少更新一次。我的方法是错误的还是有更好的方法
请帮助。如文档中所示
位置更新之间的运行时间永远不会小于minTime,尽管它可能更多地取决于位置提供程序实现和其他应用程序请求的更新间隔
位置更新还取决于其自身的实现和其他请求更新的应用程序的间隔。因此,您的最小时间间隔是而不是由LocationProvider保证的
参考资料:您的文件中有任何位置(纬度、经度)吗?您是否尝试过使用较小但不是0的值作为minTime和MindDistance?我在Adnroid文档中找不到任何对某个功能的引用,该功能可以在使用0作为参数时最大化位置间隔…@MD ya我得到了我想要的文件。结果和我预期的一样。@phemt.latd我以前试过,仍然是一样的=(@ChengLawrence使用GPS_提供程序尝试一下,并让我知道。
@Override
public void onLocationChanged(Location location) {
// TODO Auto-generated method stub
if (location != null) {
long time= System.currentTimeMillis();
String millisec = "" + time;
double lat = location.getLatitude();
double longe = location.getLongitude();
loc = millisec + "\t" + lat + "\t" + longe + "\n";
try {
FileOutputStream fos = openFileOutput(FILENAME, Context.MODE_APPEND);
fos.write(loc.getBytes());
} catch (FileNotFoundException e) {
// TODO Auto-generated catch block
e.printStackTrace();
} catch (IOException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}