Android Firebase如何通过ID检索一条记录?

时间:2017-05-07 13:13:46

标签: android firebase firebase-realtime-database

以下是我的部分Firebase数据

my_first_app
  my_msg
    -KjX-kovDZiCB5yuiwt6:"test msg1"
    -KjX-yZWKfkhZmAqzHRQ:"test msg2"

在我的Android应用中,如何使用-KjX-yZWKfkhZmAqzHRQ的ID检索值“test msg2”?

1 个答案:

答案 0 :(得分:3)

只要您的Firebase数据库规则允许对“my_msg / -KjX-yZWKfkhZmAqzHRQ”路径进行读取访问,这应该对您有用。

FirebaseDatabase database = FirebaseDatabase.getInstance();
DatabaseReference myRef = database.getReference("my_msg/-KjX-yZWKfkhZmAqzHRQ");
myRef.addValueEventListener(new ValueEventListener() {
    @Override
    public void onDataChange(DataSnapshot dataSnapshot) {
        String value = (String) dataSnapshot.getValue();
        // value now contains "test msg2"
        //TextView tv = (TextView) findViewById(R.id.myTextView);
        //tv.setText(value);
    }

    @Override
    public void onCancelled(DatabaseError databaseError) {

    }
});

如果您只需要访问一次检索“test msg 2”的值而不是侦听更改,则可以使用myRef.addListenerForSingleValueEvent()代替myRef.addValueEventListener()作为stated here