如何设置Android中位置更新集合的频率?

时间:2012-09-17 17:19:30

标签: java android

我正在尝试将一些位置更新收集到Android地图应用程序中的arraylist中。我想将收集的每分钟位置更新保存到本地服务器中。我怎样才能做到这一点。 Android中是否有功能可以执行此操作?

2 个答案:

答案 0 :(得分:0)

  1. 使用Service,就像没有任何用户界面的活动一样。

  2. Service在每分钟后运行,并以纬度和经度的形式记下位置更新。

  3. 然后使用Non-UI主题将位置数据存储在数据库中,对于例如: SQLite

  4. 服务

    http://developer.android.com/guide/components/services.html

    创建简单线程:

    Thread t = new Thread(new Runnable(){
    
       public void run(){
    
               // Here is the code that will do your job every minute.
    
               // Please use a while loop with a loop control factor,
    
               // and sleep mechanism to let your thread sleep for a minute.
    
              // for sleep, instead of using Thread.sleep(timeout) better use     
    
              //TimeUnit.SECONDS.sleep(timeout);
    
         }
      });
    
    
    t.start();
    

答案 1 :(得分:0)

我们使用 NETWORK_PROVIDER GPS_PROVIDER 来评分当前位置。

在这两种情况下,都会列出一个方法,以便为应用程序频繁更新时间戳和基于距离的位置。

位置更改将由在requestLocationUpdates()注册的LocationListener调用的 OnLocationChange()检测到。

public void requestLocationUpdates (String provider, long minTime, float minDistance, LocationListener listener)

如果minDistance大于0,则仅当设备移动minDistance米时才会广播位置。要尽可能频繁地获取通知,请将两个参数都设置为0。

For more details and info