android - 移动应用程序之间的无缝 GPS 位置数据传输
问题描述
我知道我们可以将第一个移动 GPS 数据存储在数据库中并从第二个设备中检索。但是每一步都这样做似乎效率不高。
- 有没有更好的方法来无缝传输这些数据?
- 另外,请建议存储这些数据以获取路线历史的最佳方式。
谢谢
解决方案
因此,将数据存储在基于云 NOSQL 文档的数据库中,例如 Firebase 的 Cloud Firestore 或类似数据库(也请查看 MongoDB 的产品)。NOSQL 数据库旨在非常有效地接受数据。
此外,计划在传输数据之前将数据本地缓存一段时间。也许每一分钟都值得?每10分钟的价值?只要您的需要可以接受,就延迟。
计划支持将数据传输到云的重试机制,因为移动设备经常无法访问网络。
Cloud Firebase 的客户端 SDK 只需几行代码即可处理上述所有内容,并且可以非常轻松地在云中设置免费帐户。我相信 MongoDB 很快也会在客户端使用 Realm 做同样的事情。(我目前在我的应用程序中同时使用 Cloud Firestore 和 Realm db)。
iOS 和 Android 均支持上述所有 SDK,您也可以在云功能中处理 GPS 数据……甚至将数据发送到 Google Data Studio 并进行绘图。
至于如何最好地存储数据然后剔除路线历史,我想这取决于您的“路线历史”的需求是什么。至少,我会存储(原始位置修复的)时间戳、纬度、经度和水平精度。我还将包括云接收数据时的服务器时间戳,因为它可能是几天后......这可以帮助您的路线历史记录,以便您了解是否稍后为更早的时间戳注入数据。
考虑以块的形式发送数据(一组缓存的 GPS 读数),而不是将其合并到云中的现有表中。这样应该会更快。您以后可以随时将数据从 NOSQL 数据库通过管道传输到 SQL 数据库以对其进行组织和过滤。(例如 Cloud Firestore -> Bucket -> BigQuery -> Data Studio)
如果您想进一步讨论上述任何内容,请参阅我的个人资料以了解如何在 Slack 上与我联系。
推荐阅读
- typescript - 使用反应应用打字稿
- javascript - 从代码中删除警报会强制它进入无限循环
- python - 在熊猫中将字符串转换为数字
- snowflake-cloud-data-platform - 雪花 jdbc 参数为所有数据类型返回 VARCHAR
- javascript - 如何为 html 属性应用 json 内容
- java - 如何在下载公共存储目录中导出文本文件?
- android - Android泄漏金丝雀 - 泄漏空活动
- php - 标签/括号关闭后的原子自动缩进
- python - ImportError:DLL 加载失败:找不到指定的模块 - PyCharm
- c# - 使用接口获取列名时如何使用表达式动态构建LINQ查询?