База данных Firebase не работает на эмуляторе AndroidAndroid

Форум для тех, кто программирует под Android
Anonymous
База данных Firebase не работает на эмуляторе Android

Сообщение Anonymous »

Мое приложение проверяет, находятся ли определенные данные в базе данных Firebase Realtime, с помощью addListenerForSingleValueEvent, добавленного в ссылку на базу данных. Эмулятор, в котором я начал проект, работает нормально и отлично извлекает данные, но когда я меняю эмулятор (скажем, я переключаюсь на PIXEL 3XL), прослушиватель не работает. В другом вопросе о stackoverflow я видел, что у кого-то была такая же проблема, и база данных извлекла данные, но через долгое время. кто-нибудь знает, почему это произошло? Должен ли я продолжать разработку с помощью эмулятора по умолчанию и не беспокоиться о том, что база данных реального времени не работает на другом эмуляторе? Можете ли вы объяснить, почему это происходит?
Я использую это в манифесте:
......
Gradle
buildscript {
repositories {
google()
jcenter()
}
dependencies {
classpath "com.android.tools.build:gradle:4.0.1"
classpath 'com.google.gms:google-services:4.3.3'

// NOTE: Do not place your application dependencies here; they belong
// in the individual module build.gradle files
}
}

allprojects {
repositories {
google()
jcenter()
}
}

task clean(type: Delete) {
delete rootProject.buildDir
}

gradle(Модуль)
apply plugin: 'com.google.gms.google-services'

android {
compileSdkVersion 30
buildToolsVersion "30.0.1"

defaultConfig {
applicationId "..."
minSdkVersion 28
targetSdkVersion 30
versionCode 1
versionName "1.0"

testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"
}

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.1.0'
implementation 'androidx.constraintlayout:constraintlayout:1.1.3'
implementation 'com.google.firebase:firebase-database:19.3.1'
testImplementation 'junit:junit:4.12'
androidTestImplementation 'androidx.test.ext:junit:1.1.1'
androidTestImplementation 'androidx.test.espresso:espresso-core:3.2.0'

}

Редактирование 1:
Добавлен код (он работает на эмуляторе по умолчанию, пикселе 3, но не на другом). Журналы предназначены только для того, чтобы увидеть, делает ли код то, что он делает. должен.
DatabaseReference database, newRef;

protected void onCreate(Bundle savedInstanceState) {
(...)
database = FirebaseDatabase.getInstance().getReference();
newRef = database.child(option).child(strSelectedYear).child(strSelectedMonth).child(strSelectedDay);
newRef.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for (DataSnapshot d: dataSnapshot.getChildren()) {
hours.remove(d.getKey());
Log.i("hAI FRAAA", d.getKey());

}
String msg = "";
for (int j = 0;j

Подробнее здесь: https://stackoverflow.com/questions/632 ... d-emulator

Вернуться в «Android»