Java 为什么Firebase数据库getUid不';不行?

Java 为什么Firebase数据库getUid不';不行?,java,android,firebase-realtime-database,Java,Android,Firebase Realtime Database,最初,我编写了一个代码将值存储在Firebase实时数据库中 mDbRef = mDatabase.getReference().child("Users"); mDbRef.child("name").setValue(rname); mDbRef.child("email").setValue(remail); 子值存储在“Users”子对象的Uid下 然后我把代码改成 String name = userName.getText().toString(); mDbRef = mDatab

最初,我编写了一个代码将值存储在Firebase实时数据库中

mDbRef = mDatabase.getReference().child("Users");
mDbRef.child("name").setValue(rname);
mDbRef.child("email").setValue(remail);
子值存储在“Users”子对象的Uid下

然后我把代码改成

String name = userName.getText().toString();
mDbRef = mDatabase.getReference().child("Users").child(name);
mDbRef.child("name").setValue(rname);
mDbRef.child("email").setValue(remail);
现在,子值以其名称存储在“Users”child中

现在我有两个问题

  • 如果我用不同的子级值添加相同的名称,则不接受。如何纠正
  • 我编写了以下代码以在开始活动之前检查用户

  • 当孩子处于Uid状态时,新的Intent活动运行良好。当它被更改为“name”而不是Uid时,intent活动不会启动。但如果我在关闭应用程序后重新启动它,它将直接进入“家庭活动”。应该采取什么措施来纠正这个问题?

    我可以提出如下建议:

    String key = mDatabase.child("users").push().getKey();
    // key is generated by Firebase and is unique
    mDbRef = mDatabase.getReference().child("users").child(key);
    mDbRef.child("name").setValue(rname);
    mDbRef.child("email").setValue(remail);
    
    并检查


    很乐意帮忙

    “它不被接受”是什么意思?1。-如果我用不同的子项值添加相同的名称,它就不被接受。怎么纠正呢?--如果添加的名称与要替换当前值的名称相同,则使用“name”作为键,而不是替换,我希望使用不同的子子值添加相同的名称。应该怎么做?如果我添加push(),那么它将添加到Uid的现有“name”子项下。
    String key = mDatabase.child("users").push().getKey();
    // key is generated by Firebase and is unique
    mDbRef = mDatabase.getReference().child("users").child(key);
    mDbRef.child("name").setValue(rname);
    mDbRef.child("email").setValue(remail);