我很困惑為什么這不起作用,我已經嘗試了很多除錯,但我不知道為什么這不起作用
FirebaseDatabase.getInstance().getReference().child("users").child("name").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull @NotNull DataSnapshot dataSnapshot) {
if (dataSnapshot.exists()) {
Log.d("dataSnapshot", "exists");
for (DataSnapshot snapshot1 : dataSnapshot.getChildren()) {
Log.d("inside snapshot", "snapshot not null");
String name = snapshot1.getValue().toString();
Log.d("user created", "snapshot not null");
try {
Log.d("name", name);
Log.d("decrypt", aes.Decrypt(name));
} catch (UnsupportedEncodingException e) {
Toast.makeText(EnterName.this, "Exception", Toast.LENGTH_LONG);
e.printStackTrace();
}
Toast.makeText(EnterName.this, "logged", Toast.LENGTH_LONG);
}
}
else
{
Toast.makeText(EnterName.this,"doesnt exist", Toast.LENGTH_SHORT);
}
}
我得到了 dataSnapshot 存在但之后什么都沒有的日志。Firebase 資料是

任何人有任何想法?謝謝你。
uj5u.com熱心網友回復:
您只是在聽users/name屬性,這意味著您將獲得包含鍵name和字串值的快照"check"。字串值沒有任何子值,因此dataSnapshot.getChildren()回傳一個空串列。
要列印快照的值:
FirebaseDatabase.getInstance().getReference().child("users").child("name").addValueEventListener(new ValueEventListener() {
@Override
public void onDataChange(@NonNull @NotNull DataSnapshot dataSnapshot) {
if (dataSnapshot.exists()) {
Log.d("dataSnapshot", dataSnapshot.getValue(String.class));
}
...
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/400051.html
