Java 如何检索推送id值
在这段代码中,我需要将firebase数据库中的数据保存为(注册数据1、UID、推送id) 在这段代码中,我需要检索recyclerview中的数据Java 如何检索推送id值,java,firebase,firebase-realtime-database,Java,Firebase,Firebase Realtime Database,在这段代码中,我需要将firebase数据库中的数据保存为(注册数据1、UID、推送id) 在这段代码中,我需要检索recyclerview中的数据 databaseReference = FirebaseDatabase.getInstance().getReference().child("Registration Data1"); mDBListener = databaseReference.addValueEventListener(new ValueEventLi
databaseReference = FirebaseDatabase.getInstance().getReference().child("Registration Data1");
mDBListener = databaseReference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for (DataSnapshot teacherSnapshot : dataSnapshot.getChildren()) {
Data DB = teacherSnapshot.getValue(Data.class);
DB.setKey(teacherSnapshot.getKey());
mTeachers.add(DB);
}
mAdapter.notifyDataSetChanged();
mProgressBar.setVisibility(View.GONE);
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
Toast.makeText(Public.this, databaseError.getMessage(), Toast.LENGTH_SHORT).show();
mProgressBar.setVisibility(View.INVISIBLE);
}
});
问题是如何在没有make.child(UID)的情况下检索push id下的数据?t我乍一看代码很好。当你运行你共享的代码时,哪一行没有达到你期望的效果?当我运行应用程序时,我填充数据并点击“保存”按钮,它将数据保存在firebase中,如下代码:databaseReference=FirebaseDatabase.getInstance().getReference().child(“注册数据1”).child(uid).push();但当我点击“检索”按钮时,它不会检索任何数据。。。这似乎出乎你的意料。
dataSnapshot.getChildren()
上的循环是这里的关键,但我觉得这很好。如果在(DataSnapshot teacherSnapshot:DataSnapshot.getChildren())的和Data DB=teacherSnapshot.getValue(Data.class)上放置断点代码>,然后在调试器中运行,是否到达其中一个/两个?
databaseReference = FirebaseDatabase.getInstance().getReference().child("Registration Data1");
mDBListener = databaseReference.addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull DataSnapshot dataSnapshot) {
for (DataSnapshot teacherSnapshot : dataSnapshot.getChildren()) {
Data DB = teacherSnapshot.getValue(Data.class);
DB.setKey(teacherSnapshot.getKey());
mTeachers.add(DB);
}
mAdapter.notifyDataSetChanged();
mProgressBar.setVisibility(View.GONE);
}
@Override
public void onCancelled(@NonNull DatabaseError databaseError) {
Toast.makeText(Public.this, databaseError.getMessage(), Toast.LENGTH_SHORT).show();
mProgressBar.setVisibility(View.INVISIBLE);
}
});