安卓GPS定位发送到数据库时有延迟

5
我已经制作了一个Android应用程序,该程序将GPS坐标发送到PHP脚本(每秒钟一次),然后将它们发送到数据库进行存储,然后Javascript程序会每秒拉取这些坐标并在地图上显示它们,并使用标记和折线跟踪用户。
然而,我遇到了应用程序可靠性的问题。我在房间里测试它时,能够正常接收位置更新,但今天在课堂上,手机无法发送坐标。我走到外面立刻就有信号,我的坐标被发送并且被PHP脚本接收。对于这个问题,我能做些什么吗?或者当我在大型建筑物内部时,我总是会遇到这样的问题吗?我用的是2.2.3版本,如果这有帮助的话。
另一个问题是按钮按下和PHP脚本接收到坐标之间的时间延迟。在记录到数据库前,需要大约20-30秒。我向另一个表发送一些其他数据,它几乎瞬间到达数据库。这是因为坐标必须通过许多程序,还是因为手机必须运行更复杂的进程来获取坐标所致?我能做些什么来减少这个延迟时间吗?
1个回答

1

你应该在客户端(app)和服务器端(php)上调试你的代码。 为每个更新“事务”创建一个唯一的ID,并在两侧打印它:

* 在app中 - 你可以将设备连接到计算机上,使用eclipse和add debug-printings。如果你想离开电脑,你需要在你的安卓应用程序上打印日志文件

* 在服务器端,你可以使用microtime()并打印相关的ID和请求接收时间。


有什么方法可以加快速度吗?使用PHP只需要添加几行代码即可将坐标添加到数据库中。GPS获取位置可能需要一段时间吗? - mkyong
根据我的经验,GPS 定位可能需要 2-3 秒到 15-20 秒的时间(当然也有可能超时)。但是,如果你想找到问题的源头,就必须得下些功夫,而不是凭空猜测 ;) - Nir Alfasi

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接