【发布时间】:2017-01-14 00:28:47
【问题描述】:
我在 android studio 中使用 Firebase,我想做一个注册和登录项目。我可以将数据保存到 Firebase,但我无法检索数据。
在每个示例中,它都是实时的——比如,我们首先设置了一个监听器并保存数据——但我的只是存储和稍后检索。
有没有办法只检索数据? (我希望你能理解:()
public void onLogIn(View v){
reference2 = fbData.getReference(loginId.getText().toString());
reference2.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
String gotPw = dataSnapshot.getValue(String.class);
if(gotPw == loginPw.getText().toString()){
Log.d("TEST","DONE");
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
Log.d("TEST","ERROR");
}
});
}
这段代码甚至没有调用 onDataChange 方法。
【问题讨论】:
-
从 Firebase 数据库中检索数据是通过附加一个监听器来完成的。如果您的
onDataChange()和onCancelled()都没有被调用,很可能是您没有连接到网络。 -
我不知道您是否已经通过其他方式检查过是否调用了 onDataChange,但是查看上面的代码,我不会依赖点击“DONE”日志。您正在比较字符串,您应该使用 .equals() 方法来比较字符串,而不是 ==。 stackoverflow.com/a/767379/5251523
标签: android firebase firebase-realtime-database