特定のノードでFirebaseの日付を更新したいとします。Firebase Androidのデータを更新する
DB構造:
私はnewValue
の値を持つleftSpace
キーを更新したい
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
はここで文字列のタイプです。しかし、Firebaseの値は更新されません。
私はここに
dataSnapshot.getRef().child("leftSpace").setValue(765);
を与えるとそれがうまく更新されます。しかし、私はFirebaseの文字列形式で更新したいと思っています。
すべての文字列型のFirebaseにデータを保存しました。 (私のパターンクラスにはすべてのタイプ文字列が含まれています)
newvalue
ここで文字列を更新しないのはなぜですか? @Rjz Satvara
次の方法により推奨
としての下に新しいノードを追加しています。あなたはそれを使用することができ、特定の値を更新する Firebaseで
のように、同じ子に新しい値を割り当てることができます。それは新しいノードを作っています。問題の編集1を参照してください。 – user6750923
まだ動作しません。 'myDb'ノードの下に' leftSpace'という名前の新しいノードを追加しています。 ( 'myDb'は私のDB名です)。私がどこにいるか参照してください。私は 'myref.child( "CarParki")として、コードを実行します。子( "awais @ gmailcom")。addListenerForSingleValueEvent(新ValueEventListener(){@Override 公共ボイドOnDataChangeの(DataSnapshot dataSnapshot){ 試し{ myref.child ( "leftSpace"); setValue( "YourDateHere"); } catch(Exception e){ e.printStackTrace(); } ' – user6750923
上記のコードを追加すると問題が解決します –