You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Firebase Realtime Database中get()方法编译报错求助

Firebase Realtime Database get()方法未定义报错解决

问题详情

我被这个问题困扰了2-3天,尝试修复却没解决。从Firebase Realtime Database文档复制的代码,调用get()方法时一直报错。

报错代码

private DatabaseReference mDatabase;

// ...
mDatabase = FirebaseDatabase.getInstance().getReference("user app/profile");
//...
mDatabase.child(uid).get().addOnCompleteListener(new OnCompleteListener < DataSnapshot > () {
    @Override
    public void onComplete(@NonNull Task < DataSnapshot > task) {
        if (!task.isSuccessful()) {
            _custom_smart_toast(String.valueOf(task.getException()), setting.getString("color", ""), 10, setting.getString("color", ""));
        } else {
            _custom_smart_toast(String.valueOf(task.getResult().getValue()), setting.getString("color", ""), 10, setting.getString("color", ""));
        }
    }
}

Build.gradle配置

plugins {
    id 'com.android.application'
}

android {
    compileSdkVersion 28

    useLibrary 'org.apache.http.legacy'

    defaultConfig {
        applicationId "com.tsd.html"
        minSdkVersion 21
        targetSdkVersion 28
        versionCode 1
        versionName "1.3"
    }

    buildTypes {
        release {
            minifyEnabled false
            proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
        }
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar'])
    implementation 'androidx.appcompat:appcompat:1.2.0'
    implementation 'com.google.android.material:material:1.4.0'
    implementation 'com.google.firebase:firebase-auth:19.0.0'
    implementation 'com.google.firebase:firebase-database:19.0.0'
    implementation 'com.google.firebase:firebase-storage:19.0.0'
    implementation 'com.github.bumptech.glide:glide:4.12.0'
    implementation 'com.google.code.gson:gson:2.8.7'
    implementation 'com.squareup.okhttp3:okhttp:3.9.1'
}

编译错误信息

The method get() is undefined for the type DatabaseReference
(中文翻译:DatabaseReference类型中未定义get()方法)

解决方法

问题出在Firebase Realtime Database的版本上:get()方法是在版本19.1.0才新增的,而你当前使用的是19.0.0,所以找不到这个方法。

解决步骤:

  • 打开你的app级build.gradle文件
  • 将com.google.firebase:firebase-database的版本从19.0.0升级到19.1.0或更高版本,示例:
    implementation 'com.google.firebase:firebase-database:19.1.0'
    
  • 同步Gradle项目,重新编译即可

另外,为保持版本兼容性,建议同时升级Firebase Auth和Storage的对应版本,示例:

implementation 'com.google.firebase:firebase-auth:19.1.0'
implementation 'com.google.firebase:firebase-storage:19.1.0'

内容的提问来源于stack exchange,提问作者Tech Info

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.13 15:05:36