java - 在 Android 上将 GeoFire 与 Firebase 结合使用,但找不到 DatabaseReference 类

标签 java android firebase firebase-realtime-database geofire

我正在尝试连接到我的 Firebase 帐户并使用特定位置进行查询,以查看其中是否有任何 GeoFire 位置。为此,我正在使用官方教程,但无法创建 Geofire 对象。教程内容如下:

A GeoFire object is used to read and write geo location data to your Firebase database and to create queries. To create a new GeoFire instance you need to attach it to a Firebase database reference.

DatabaseReference ref = FirebaseDatabase.getInstance().getReference("path/to/geofire");
GeoFire geoFire = new GeoFire(ref);

按照本教程,我遇到了 Android Studio 无法解析 DatabaseReference 符号的问题。

如果我尝试传递 Firebase 对象本身:

Firebase mLocs = new Firebase("https://example.firebaseio.com/Locations");
GeoFire geoFire = new GeoFire(mLocs);

我收到一条错误消息

com.google.firebase.database.DatabaseReference cannot be converted to com.firebase.client.Firebase

我的 Firebase 对象已正确实例化并声明了其上下文。

Firebase.setAndroidContext(this);

知道可能出了什么问题吗?

最佳答案

本教程使用旧版 Firebase SDK。

关注this guide了解如何设置新的 Firebase SDK,然后添加实时数据库功能。

因此,您将在 build.gradle 文件中添加这些依赖项

compile 'com.google.firebase:firebase-core:9.4.0'
compile 'com.google.firebase:firebase-database:9.4.0'

然后,您可以使用 GeoFire for Android github page 中的指南创建 GeoFire 实例。

关于java - 在 Android 上将 GeoFire 与 Firebase 结合使用,但找不到 DatabaseReference 类,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39174283/

相关文章:

java - 如何使用 setExact 设置重复闹钟以及如何取消重复闹钟?

java - 为什么 Java 的 Iterator 不是 Iterable?

java - 是否有 EGLImage 的 java 版本可以有效地从 OpenGL 读取像素?

angularjs - 将base64字符串传递给AngularJS中的对象属性

firebase - 在一次读取计数中仅获取来自 Cloud Firestore 的集合 ID

java - 如何通过引用它的子节点从 firebase 中删除一个节点?

java - 存储可修改数组的各种方式的效率

android - 如何从 Android 中的 DialogFragment 获取结果?

android - 无法在印度的 Android Pay 应用程序中添加美国卡

java - 是否可以为 war 文件提供安全性?