在Android应用程序中获取位置更新

时间:2012-01-29 09:00:42

标签: android jsp java-ee

我想知道我是否可以创建一个Android应用程序来获取每150个meteres的移动位置并更新我的java web服务器。

我想要的Android应用程序所做的就是更新每150 mts的详细信息,这就是它,我不希望我们的服务器有任何响应或确认。

这可以通过与jsp或servlert或任何其他技术进行通信来完成。

即使在移动车辆和更新细节到我的网络服务器时,获取位置详细信息的最佳方法是什么,这将维护数据库中的细节。

任何人都可以提供任何样本,并建议以最有效的方式做同样的方法。

3 个答案:

答案 0 :(得分:1)

最好的方法是注册服务,定义自定义位置监听器。在实现中覆盖onLocationChanged()并且您可以获得位置(lat,long)元组,并且您可以使用GET / POST请求更新服务器。看一下参考代码。

@Override
public void onLocationChanged(Location loc) {
    loc.getLatitude();
    loc.getLongitude();
    String Text = "Location : (" + loc.getLatitude() +","+ loc.getLongitude() + ")";
}

如果您有任何疑问,请随时询问。您可以调整更新请求的频率。

由于

答案 1 :(得分:0)

以该频率抓取位置可能会耗尽用户电池电量。但无论如何。

编写foursquare客户端的Joe Lapenna拥有一个位置类,可以提供合理的逻辑来获取最准确的位置,从而提供不同的源和参数。

http://code.google.com/p/foursquared/source/browse/main/src/com/joelapenna/foursquared/location/BestLocationListener.java

Google和Android开发者已经在此博客文章中撰写了有关检索位置更新的最有效方法:

http://android-developers.blogspot.com/2011/06/deep-dive-into-location.html

答案 2 :(得分:0)

Google在http://code.google.com/p/mytracks/上提供了此类应用程序的完整源代码。该应用程序的主页位于http://mytracks.appspot.com/。这是开发此类应用程序的良好起点。

该应用程序将您的曲目完整地存储在您的设备上,并允许导出到SD卡或Google文档或Google地图。您可以轻松扩展应用程序以将轨道发送到您自己的服务器应用程序。

不要将每个位置发送到服务器,因为这会花费很多资源。在服务器上使用Java时,它将始终是一个servlet。我建议将REST与其中一个可用库一起使用。