我创建了这样的新项目:
mFirebaseDatabase.getReference(Api.CREDITS).child(String.valueOf(item.getId())).setValue(item);
但是当我创建一个新项目时,我需要设置他的ID ...如何确定Firebase列表中项目的最后ID?
答案 0 :(得分:1)
最简单的方法很可能:
var latest = ref.child("credits").orderByKey().limitToLast(1);
latest.addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
for (DataSnapshot childSnapshot: dataSnapshot.getChildren()) {
String latestKey = childSnapshot.getKey();
}
}
@Override
public void onCancelled(DatabaseError databaseError) {
Log.w(TAG, "onCancelled", databaseError.toException());
}
})
但这会导致以下问题:
这是Firebase建议不要使用此类连续数字ID并使用推送ID的众多原因之一。
阅读documentation on dealing with lists和此博文:https://firebase.googleblog.com/2014/04/best-practices-arrays-in-firebase.html