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

Using GeoFire with Firebase on Android, but can't find the DatabaseReference Class

我正在尝试连接到我的 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 实例