首页 > 解决方案 > FireBase onDataChange 未启动

问题描述

我正在尝试从 Android (Java) 中的 FireBase 数据库中获取特定数据

问题是,onDataChange 永远不会启动。

Class ShowExercisesDetail.java

GestionEjercicios.getExerciseById(id);

这里我调用另一个类的方法。

import android.content.Context;

import androidx.annotation.NonNull;


import com.google.firebase.database.DataSnapshot;
import com.google.firebase.database.DatabaseError;
import com.google.firebase.database.DatabaseReference;
import com.google.firebase.database.FirebaseDatabase;
import com.google.firebase.database.ValueEventListener;


import java.util.ArrayList;
import java.util.List;

public class GestionEjercicios {

    public static void readData(DatabaseReference ref, final OnGetDataListener listener) {
        listener.onStart();
        ref.addListenerForSingleValueEvent(new ValueEventListener() {
            @Override
            public void onDataChange(DataSnapshot dataSnapshot) {
                listener.onSuccess(dataSnapshot);
            }

            @Override
            public void onCancelled(DatabaseError databaseError) {
                listener.onFailure();
            }
        });

    }

    public static List<Exercise> EJERCICIOS = new ArrayList<Exercise>();
    public static List<Exercise>SINGLEEXERCISE = new ArrayList<Exercise>();

    boolean f = false;


    public static void getExerciseById(String id) {

        DatabaseReference reff;
        reff = FirebaseDatabase.getInstance().getReference().child("Exercises");
        readData(reff, new OnGetDataListener() {
            @Override
            public void onSuccess(DataSnapshot dataSnapshot) {
                System.out.println("test");
            }

            @Override
            public void onStart() {
                System.out.println("test");

            }

            @Override
            public void onFailure() {
                System.out.println("test");

            }
        });

这是那个方法,它没有进入的问题。

我怎样才能解决这个问题?

我尝试了很多东西,但没有一个进入那个 OnChange,还有其他方法吗?

编辑目前已达到 GetExerciseById 上的 OnStart 方法。

标签: javaandroidfirebase

解决方案


推荐阅读