如何從這些節點獲取數據?
在這裏,我有2個父母資產和負債,每個有它自己的孩子(例如:cash_at_bank,股票等),我想從這些孩子在這個有多個數據的獲得數據。
- 首先我用地圖,但現在我不能使用它,因爲我不能肯定有多少孩子在IHAVE或cash_at_bank等cash_in_hand
- 一旦我從每個節點獲取時間我怎麼能格式化爲是可讀的用戶
如何從這些節點獲取數據?
在這裏,我有2個父母資產和負債,每個有它自己的孩子(例如:cash_at_bank,股票等),我想從這些孩子在這個有多個數據的獲得數據。
我首先建議你不要加上「時間:value_here」爲「時間」一個孩子,而是直接加上「時間:value_here」爲「cash_at_bank」的直接子其會讓你的讀操作更簡單:
root/
|___ ASSETS/
| |___ Cash_at_bank
| |___ ID1
| |___ time : 1223724673
| |___ value : 456
| |___ ID2
| |___ time : 1333768287
| |___ value : 789
| ...
所以,如果你想訪問你的Cash_at_bank數據現在,你可以做這樣的:
let cashAtBankRef = Database.database().reference().child("ASSETS").child("Cash_at_bank")
cashAtBankRef.observeSingleEvent(of: .value, with: { (snapshot) in
// Iterate through all the children :
for child in snapshot.children.allObjects as! [DataSnapshot] {
// Get the time and the value for each child :
guard let time = child.childSnapshot(forPath: "time").value as? NSNumber else {
return
}
guard let valueString = child.childSnapshot(forPath: "value").value as? String else {
return
}
// ...Do something with your data here (store it in an array, etc...)
}
})
注:當然,你可能會在完全相同的方式訪問Cash_in_Hand數據,但只是改變了數據庫參考:
let cashInHandRef = Database.database().reference().child("ASSETS").child("Cash_in_Hand")
更新:既然你問我,在這裏如果你會怎麼做它在Java中:
// Add your observer
FirebaseDatabase.getInstance().getReference().child("ASSETS").child("Cash_in_Hand").addListenerForSingleValueEvent(new ValueEventListener() {
@Override
public void onDataChange(DataSnapshot dataSnapshot) {
// Iterate through all the children:
for (DataSnapshot childSnapshot : dataSnapshot.getChildren()) {
// Access your values here
}
}
@Override
public void onCancelled(DatabaseError error) {
}
});
我使用的Android不迅速有沒有什麼辦法你可以使用Android的代碼的幫助,我試圖做你說使用時間不隨時間的孩子什麼,但它不工作,你能幫助我,太多, DatabaseReference newRef = myRef.child(類型).push(); DatabaseReference valRef = newRef.child(「values」); valRef.setValue(值2); DatabaseReference thirRef = newRef.child(「time」); thirRef.setValue(map); –
好吧,我明白了,我會更新我的答案呢:) – Alex
爲(DataSnapshot childSnapshot:dataSnapshot.getChildren()){ //這裏訪問你的價值觀 }它的工作的感謝,但我沒有得到任何數據我怎麼能分配給一個值,看看它是否在工作 –
您是否收到任何錯誤,你能張貼代碼SAM PLE? – aUXcoder
你想獲得什麼特定數據? '時間'的價值? 「價值」的價值? –