通过id从Firebase检索数据

时间:2017-08-19 15:50:47

标签: java android

我是firebase的新手 - 我试图通过id获取数据。

我不知道为什么,由于某种原因,它会让我失效。

代码分为两类。

第一个是firebaseHandler - 它将请求发送到firebase服务器,第二个是调用firebaseHandler的片段。

这是我的代码:

//FirebaseHandler

    interface IGetStudentCallback{
    void onComplete(Student student);
    void onCancel();
}

public void getStudent(String stId,final IGetStudentCallback callback){
    FirebaseDatabase database = FirebaseDatabase.getInstance();
    DatabaseReference myRef = database.getReference(STUDENTS);
    myRef.child(stId).addListenerForSingleValueEvent(new ValueEventListener() {
        @Override
        public void onDataChange(DataSnapshot dataSnapshot) {
            Student student = dataSnapshot.getValue(Student.class);
            callback.onComplete(student);
        }

        @Override
        public void onCancelled(DatabaseError databaseError) {
            callback.onCancel();
        }
    });
}

// Fragment
    Model.instance.getStudent(getArguments().getString("STUDENT_ID"), new Model.IGetStudentCallback() {
            @Override
            public void onComplete(Student student) {
                currStudnet = student;
            }

            @Override
            public void onCancel() {

            }
        });

Database structure

当我进入调试模式时,我看到" OnDataChange"不会跑。

0 个答案:

没有答案