I am facing a problem for 2-3 days I am trying to fix it but I can't fix it. I am continuously getting errors on a Firebase Realtime Database function get() on a code that I have copied from Firebase Realtime Database documentation. Here is my code:
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'
}
>
I am getting error on compiling code that is:
The method get() is undefined for the type DatabaseReference
CodePudding user response:
The get()
method isn't recognized because you're using an old version of the Realtime Database dependency. The get() method is available starting from version 19.6.0.
To be able to use get()
, you need to update the dependency to the latest available version, which is:
implementation 'com.google.firebase:firebase-database:20.1.0'
But I strongly advise you to use the BOM version without specifying the version for each product that you're using:
implementation platform("com.google.firebase:firebase-bom:31.0.2")
implementation "com.google.firebase:firebase-database"
implementation "com.google.firebase:firebase-auth"
implementation "com.google.firebase:firebase-storage"
If you're using Kotlin, here are the corresponding dependencies:
implementation platform("com.google.firebase:firebase-bom:31.0.2")
implementation "com.google.firebase:firebase-database-ktx"
implementation "com.google.firebase:firebase-auth-ktx"
implementation "com.google.firebase:firebase-storage-ktx"