2016-12-23 90 views
1

我想在特定節點上更新Firebase上的日期。更新Firebase上的數據Android

DB結構:

enter image description here

我想作爲

private void updateData() { 
database = FirebaseDatabase.getInstance(); 
myref = database.getReference(); 
myref.child("myDb").child("[email protected]").addListenerForSingleValueEvent(new ValueEventListener() { 
    @Override 
    public void onDataChange(DataSnapshot dataSnapshot) { 

     dataSnapshot.getRef().child("leftSpace").setValue(newValue); 
     dialog.dismiss(); 

    } 
    @Override 
    public void onCancelled(DatabaseError databaseError) { 
     Log.d("User", databaseError.getMessage()); 
    } 
}); 
} 

我想更新的newValue價值leftSpace鍵,newValue字符串是這裏的類型。但它並未更新Firebase中的值。

如果我給這裏

dataSnapshot.getRef().child("leftSpace").setValue(765); 

它更新好。但我想在Firebase上以字符串格式進行更新。

我將所有字符串類型的數據保存在Firebase上。 (我的模式類包含所有類型的字符串)

爲什麼它不更新字符串類型的newvalue

編輯1通過@Rjz Satvara

您推薦的方法是根據myDB

enter image description here

它沒有更新已添加一個新的節點。

回答

4

火力地堡要更新特定的值,你可以使用它...

 try { 
      ref.child("myDb").child("[email protected]").child("leftSpace").setValue("YourDateHere"); 
     } catch (Exception e) { 
       e.printStackTrace(); 
     } 
+0

不工作。它正在創造一個新的節點。請參閱相關的編輯1。 – user6750923

+0

仍然無法正常工作。它在'myDb'節點下添加一個名爲'leftSpace'的新節點。 ('myDb'是我的數據庫名稱)。看我在哪裏。我運行代碼爲'myref.child( 「CarParki」)。子女( 「AWAIS @ gmailcom」)。addListenerForSingleValueEvent(新ValueEventListener(){ @覆蓋 公共無效onDataChange(DataSnapshot dataSnapshot){ 嘗試{ myref.child (「awais @ gmailcom」)。child(「leftSpace」).setValue(「YourDateHere」); } catch(Exception e){ e.printStackTrace(); }' – user6750923

+0

添加上述代碼您的問題將解決 –

1

您可以在同一個孩子分配新的價值,像

Firebase firebase = new Firebase("your database link/myDb"); 
    firebase.child("[email protected]").child("leftSpace").setValue("newValue");