我正在尝试将一些位置更新收集到 Android 地图应用程序中的数组列表中。我想将每分钟收集的位置更新保存到我的本地服务器中。我怎样才能做到这一点。Android中是否有执行此操作的功能?
问问题
334 次
2 回答
0
Use
Service
,它就像一个没有任何 UI 的 Activity。让我们
Service
每分钟运行一次,并以纬度和经度的形式记录位置更新。然后使用
Non-UI
线程将位置数据存储在DataBase中,例如:SQLite
对于服务:
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();
于 2012-09-17T17:23:48.527 回答
0
我们可以使用NETWORK_PROVIDER或GPS_PROVIDER对当前位置进行分级。
在这两种情况下,下面列出了一种方法来获取时间戳和应用程序经常更新的基于距离的位置。
位置更改将由在 requestLocationUpdates() 注册的 LocationListener 调用的OnLocationChange()检测。
public void requestLocationUpdates (String provider, long minTime, float minDistance, LocationListener listener)
如果 minDistance 大于 0,则仅当设备移动 minDistance 米时才会广播位置。要尽可能频繁地获取通知,请将两个参数都设置为 0。
于 2012-09-17T18:06:55.123 回答