我是 android studio 和 firebase 的新手。我正在嘗試將人員串列保存到這樣的火力基地。想法是登錄用戶應該能夠保存有關某些人的資訊。
String userId = user.getCurrentUser().getUid();
databaseReference.child("users").child(userId).child("savedPersons").child("name").setValue(nameTxt);
databaseReference.child("users").child(userId).child("savedPersons").child("surname").setValue(surnameTxt);
databaseReference.child("users").child(userId).child("savedPersons").child("gender").setValue(genderTxt);
databaseReference.child("users").child(userId).child("savedPersons").child("ageTxt").setValue(ageTxt);
當我保存另一個人但我不知道如何保存所有人時,它會洗掉以前保存的人,這并不令我感到驚訝。我的firebase中有這個,但我需要多個保存的用戶。我該怎么做 ? Firebase 螢屏截圖
uj5u.com熱心網友回復:
如果要將多個人保存在資料庫的串列中,則需要呼叫 push:
String userId = user.getCurrentUser().getUid();
DatabaseReference newRef = databaseReference.child("users").child(userId).child("savedPersons").push(); // ??
newRef.child("name").setValue(nameTxt);
newRef.child("surname").setValue(surnameTxt);
newRef.child("gender").setValue(genderTxt);
newRef.child("ageTxt").setValue(ageTxt);
savedPersons這將在您每次呼叫時創建一個新的子節點push()。要了解這方面的更多資訊,請參閱 Firebase 檔案中關于將資料附加到串列中。
請注意,呼叫setValue每個屬性是浪費的,并且可能會導致意外的行為。我建議將所有值放在地圖中,然后通過一次呼叫將它們全部添加到setValue:
Map<String, Object> values = new Map<>();
values.put("name", nameTxt);
values.put("surname", surnameTxt);
values.put("gender", genderTxt);
values.put("ageTxt", ageTxt);
newRef.setValue(values);
轉載請註明出處,本文鏈接:https://www.uj5u.com/net/489323.html
標籤:爪哇 安卓 火力基地 firebase-实时数据库
