如何根据 android 中的用户位置从 Firebase 数据库中检索数据?

Posted

技术标签:

【中文标题】如何根据 android 中的用户位置从 Firebase 数据库中检索数据?【英文标题】:How to retrieve data from Firebase database based on user location in android? 【发布时间】:2019-07-24 18:41:25 【问题描述】:

我想开发一个安卓应用程序,如果用户进入一个特定区域,该区域的 id 将被传递到 Firebase 数据库,并检索一些值(一对字符串和图像)并显示在 android 应用程序中.我见过谷歌的 Geofence API 用于识别用户是否进入某个区域,如果进入,就会触发通知。就我而言,我不想发送通知,而是从 Firebase 检索特定的数据集并将其显示在应用程序上。

是否可以使用 Google 的 Geofence API,如果可以,如何实现?一些教程或视频链接将非常感激。除了 Geofence API 之外,还有其他选项可以满足我的需求吗?

【问题讨论】:

【参考方案1】:

我不确定是否有任何替代解决方案,但您正在描述一个完美的用例 谷歌的地理围栏 API。以下示例https://developer.android.com/training/location/geofencing.html#java 将向您展示如何:

首先,使用 Geofence.Builder 创建地理围栏,为地理围栏设置所需的半径、持续时间和过渡类型。例如,填充列表对象

...

以下 sn-p 使用 GeofencingRequest 类及其嵌套的 GeofencingRequestBuilder 类来指定要监控的地理围栏并设置相关地理围栏事件的触发方式:

...

定义地理围栏转换的意图

我不会从官方文档中进一步复制/粘贴示例,但是一旦您完成了基本设置,您就可以像往常一样联系 Firebase。

如果您遇到困难,请提供一些代码来显示您的进度,您一定会得到一些更具体的帮助。

【讨论】:

谢谢@AntonyG 我会马上开始的。我只有一个问题。我的家庭活动是 MainActivity.class。我希望此代码出现在此活动中。因此,一旦从 firebase 检索到数据,是否可以在 mainactivty 布局本身中显示该数据,而无需使用意图将其发送到另一个活动??

以上是关于如何根据 android 中的用户位置从 Firebase 数据库中检索数据?的主要内容,如果未能解决你的问题,请参考以下文章

Android如何根据选择器意图中的用户操作请求权限

如何从 Google Maps android 中的当前位置不断检测附近的标记位置?

如何从 fire-base 检索数据到新活动中单击 RecyclerView

从IP地址获取地理位置[重复]

如何忽略 android 中的 irelevent gps 位置更新?

android如何从当前用户位置找到朝向目的地的角度(0-> 360)