如何将GPS坐标和当前移动速度发送到带时间戳的手机数据库

时间:2017-07-04 12:15:01

标签: android gps

我是Android新手。我尝试了几种在手机数据库中存储GPS坐标的方法。

现在的问题是我希望每隔x秒存储GPS坐标,当前移动的车速和时间。

此功能也应在按钮点击事件后启动。

2 个答案:

答案 0 :(得分:1)

您只需要制作一个后台服务,每隔x秒就会连续获取GPS坐标。为此提供服务的主要原因是,当您的应用程序不可见且最小化时,您的服务将继续运行,并且在应用程序的后台,GPS坐标将定期更新。

要实现,您需要一个FusedLocationAPI和GooglAPiClient。如果你想要一个非常简单的代码而不是这个链接: Android make method run every X seconds (involves gps and server call)

答案 1 :(得分:0)

创建一个服务并启动一个如下所示的计时器。希望这有帮助

 public void starttimer(){
   timer = new CountDownTimer(300000, 2000) {
    @Override
    public void onTick(long millisUntilFinished) {
           locationManager = (LocationManager) getSystemService(LOCATION_SERVICE);
    Criteria criteria = new Criteria();
    String provider = locationManager.getBestProvider(criteria, true);
    try {
        location = locationManager.getLastKnownLocation(provider);
    }
    catch (Exception e)
    {

    }
    if(location==null) {
        locationManager = (LocationManager) getSystemService(Context.LOCATION_SERVICE);
    }

    if (location != null) {
        double lat = location.getLatitude();
        double longg = location.getLongitude();
        mMap.moveCamera( CameraUpdateFactory.newLatLngZoom(new LatLng(lat,longg) , 14.0f) );


    } else {
        Toast.makeText(MainActivity.this, "Device Failed To Fetch Lat Long", Toast.LENGTH_LONG).show();
    }
    }


    @Override
    public void onFinish() {
        //your code when timer finishes
    }
}.start();
  }