Vin*_*ano 3 java android firebase firebase-realtime-database
当我调试此代码时,在databaseUser中dataSnapshot在数据库中具有User的值,但是在object中user1,未添加,则全部为null。而且我不明白,因为在对象事件中正常接收值。
databaseEvent.child(getKeyEvent()).addListenerForSingleValueEvent(
new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
final Event event = dataSnapshot.getValue(Event.class);
user = FirebaseAuth.getInstance().getCurrentUser();
if(user != null) {
databaseUser.orderByChild("userEmail").equalTo(user.getEmail()).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
if (dataSnapshot.exists()) {
//User already exists
User user1 = dataSnapshot.getValue(User.class);
}
}
});
Run Code Online (Sandbox Code Playgroud)
我的数据库用户,目前仅用于测试:
public class User {
String userId;
String userEmail;
Boolean userHasInterest;
String eventId;
public String getUserId() {
return userId;
}
public String getUserEmail() {
return userEmail;
}
public Boolean getUserHasInterest() {
return userHasInterest;
}
public String getEventId() {
return eventId;
}
public User(String userId, String eventId, String userEmail, Boolean userHasInterest) {
this.userId = userId;
this.userEmail = userEmail;
this.userHasInterest = userHasInterest;
this.eventId = eventId;
}
Run Code Online (Sandbox Code Playgroud)
和方法,只是选择另一个活动的事件的关键:
public String getKeyEvent(){
Intent intent = getIntent();
Bundle bundle = intent.getExtras();
String key = bundle.getString("Evento");
return key;
}
Run Code Online (Sandbox Code Playgroud)
当您对Firebase数据库执行查询时,可能会有多个结果。通过附加a,ValueListener您可以在一个快照中获得这些结果,因此快照包含这些结果的列表。即使只有一个结果,快照也将包含一个结果的列表。
您的代码未考虑此“结果列表”。通过遍历DataSnapshot.getChildren():
databaseUser.orderByChild("userEmail").equalTo(user.getEmail()).addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot userSnapshot: dataSnapshot.getChildren()) {
User user1 = userSnapshot.getValue(User.class);
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
9214 次 |
| 最近记录: |