Android Studio dataSnapshot 存在但未打印任何内容 Firebase
Android Studio dataSnapshot exists but nothing is getting printed Firebase
我很困惑为什么这不起作用,我尝试了很多次调试,但我不知道为什么它不起作用
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 数据是
有人知道吗?谢谢。
您正在收听的只是 users/name
属性,这意味着您将获得包含键 name
和字符串值 "check"
的快照。字符串值没有任何子项,因此 dataSnapshot.getChildren()
returns 一个空列表。
要打印快照的值:
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));
}
...
我很困惑为什么这不起作用,我尝试了很多次调试,但我不知道为什么它不起作用
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 数据是
有人知道吗?谢谢。
您正在收听的只是 users/name
属性,这意味着您将获得包含键 name
和字符串值 "check"
的快照。字符串值没有任何子项,因此 dataSnapshot.getChildren()
returns 一个空列表。
要打印快照的值:
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));
}
...