【发布时间】:2018-09-17 17:40:42
【问题描述】:
我正在开发一个 Android 应用程序。我想要父“支持”的第一个孩子(第一个 UID)并将其存储在字符串变量中。如何从列表中获取第一个 UID 的值? 我尝试了一种方法。但它不起作用。
@Override
public void onDataChange(DataSnapshot dataSnapshot1) {
if (dataSnapshot1.exists()) {
String futureUID = "";
for(DataSnapshot futureUIDdatasnapshot:dataSnapshot1.getChildren() ){
futureUID = futureUIDdatasnapshot.getKey();
break;
}
/*Getting the first UID from the list of UID's in queue in 'future'*/
futureUID = dataSnapshot1.getChildren().iterator().next().getKey();
/*Moving a card from 'future' to 'serving'*/
societyServiceUIDReference.child(FIREBASE_CHILD_SERVING).child(futureUID).setValue(FIREBASE_ACCEPTED);
/*Removing the UID from 'future' after it is placed in 'serving'*/
societyServiceUIDReference.child(FIREBASE_CHILD_FUTURE).child(futureUID).removeValue();
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
}
注意:“futureUID”是我想要的 UID
【问题讨论】:
-
你有没有试过任何代码,如果是的话然后发布它
-
已更新代码
-
这个逻辑永远不会稳定。例如,如果有人添加另一个用户支持会发生什么?考虑到数据总是在变化和变异,最好这样想“我如何构建我的数据来实现这样那样”
标签: android firebase firebase-realtime-database