Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Firebase Android上更新数据_Android_Firebase_Firebase Realtime Database - Fatal编程技术网

在Firebase Android上更新数据

在Firebase Android上更新数据,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,我想在特定节点上更新Firebase上的日期 数据库结构: 我正试着成为 private void updateData() { database = FirebaseDatabase.getInstance(); myref = database.getReference(); myref.child("myDb").child("awais@gmailcom").addListenerForSingleValueEvent(new ValueEven

我想在特定节点上更新Firebase上的日期

数据库结构:

我正试着成为

private void updateData() {
database = FirebaseDatabase.getInstance();
myref = database.getReference();
myref.child("myDb").child("awais@gmailcom").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上保存了所有字符串类型的数据。(我的模式类包含所有类型字符串)

为什么不在这里更新string类型的
newvalue

编辑1由@Rjz Satvara建议

您的方法是在
myDB
as下添加一个新节点


它没有更新已经存在的值。

Firebase中要更新特定值,您可以使用它

ref.child("myDb").child("awais@gmailcom").child("leftSpace").setValue("YourDateHere");
或者您可以使用“/”移动到子级,如下所示:

ref.child("myDb/awais@gmailcom/leftSpace").setValue("YourDateHere");

可以在同一个子对象中指定新值,如

  Firebase firebase = new Firebase("your database link/myDb");
    firebase.child("awais@gmail.com").child("leftSpace").setValue("newValue");

根据Firebase官方文档,您可以通过这种方式更新父节点的特定节点

以这种方式使用setValue()将覆盖指定位置的数据,包括任何子节点。但是,您仍然可以在不重写整个对象的情况下更新子对象。如果要允许用户更新其配置文件,可以按如下方式更新用户名:

注意!表_NAME表示要更新其子节点的父节点


不工作。它正在创建一个新节点。请参阅相关的编辑1。仍不工作。它正在
myDb
节点下添加一个名为
leftSpace
的新节点。(
myDb
是我的数据库名)。看看我在哪里。我以
myref.child(“停车场”).child(“awais@gmailcom“”.addListenerForSingleValueEvent(新值EventListener(){@Override public void onDataChange(DataSnapshot DataSnapshot){try{myref.child('awais@gmailcom“”.child(“leftSpace”).setValue(“YourDateHere”)}catch(例外e){e.printStackTrace();}
yup..祝贺并感谢..愉快地共享,继续学习并享受您可以将整个路径作为一个字符串传递。因此,这段较短的代码实现了相同的功能:
ref.child(“myDb”)/awais@gmailcom/leftSpace“).setValue(“YourDateHere”);
    FirebaseDatabase  database = FirebaseDatabase.getInstance();
    DatabaseReference mDatabaseRef = database.getReference();

    mDatabaseRef.child("TABLE_NAME").child("orderStatus").setValue(2);