Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/227.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
Android-如何在firebase中向退出的唯一密钥添加新数据?_Android_Firebase_Firebase Realtime Database - Fatal编程技术网

Android-如何在firebase中向退出的唯一密钥添加新数据?

Android-如何在firebase中向退出的唯一密钥添加新数据?,android,firebase,firebase-realtime-database,Android,Firebase,Firebase Realtime Database,我想为“pibref.push().getkey”中名为“unique key”的子节点添加新数据。当我尝试先登录时,它工作得非常好。 , 但如果我重新启动应用程序,会出现如下错误: 07-05 11:14:46.341 11765-11765/com.rintan.geistr.pib W/System.err: java.lang.NullPointerException: Attempt to invoke virtual method 'com.google.firebase.datab

我想为“pibref.push().getkey”中名为“unique key”的子节点添加新数据。当我尝试先登录时,它工作得非常好。 , 但如果我重新启动应用程序,会出现如下错误:

07-05 11:14:46.341 11765-11765/com.rintan.geistr.pib W/System.err: java.lang.NullPointerException: Attempt to invoke virtual method 'com.google.firebase.database.DatabaseReference com.google.firebase.database.DatabaseReference.child(java.lang.String)' on a null object reference
07-05 11:14:46.346 11765-11765/com.rintan.geistr.pib W/System.err:     at com.rintan.geistr.pib.transfer.vdigital(transfer.java:161)

transfer.java

DatabaseReference UserKey = SignInActivity.userkey();
pibref_userkirim = UserKey.child("User_Transaksi");   //this is line 161
usr_tf = pibref_userkirim.child("Transfer");
usr_tf.child(stremailterima).setValue(transkirim);

请帮帮我。。。这是我的学期专题:“(

在onComplete listenre的重写方法中,请执行以下操作:

User user=new User();
user.setFirstName(firstname);
user.setLastname(lastname);

  mDatabase.child("UserNode").child(auth.getCurrentUser().getUid()).setValue(user, new DatabaseReference.CompletionListener() {
  @Override
   public void onComplete(DatabaseError databaseError, DatabaseReference databaseReference) {
      if(databaseError==null)
          {
              Log.e("final value", "Data is saved successfully");
          }
                 }
                   });
在顶部声明这一行:

 private DatabaseReference mDatabase;

希望它有帮助

设置
Users
属性在代码中非常冗长。为什么不使用
Users=pibref.push();
作为
push()呢
返回数据库引用?您在哪里显示数据。您可以与我们共享相同的代码吗?@samthecodingman:我尝试过,但它要求我将用户转换为字符串而不是数据库引用,并将返回空数据库reference@AlexMamo:您是指用于显示数据的界面吗?我没有显示我的数据yet@EstrelaSteign:Bu这毫无意义。
用户是什么类型的
?它是
字符串
还是
数据库引用
?您的代码是不明确的,因为
pibref.child('someString')
将返回一个
数据库引用
。如果您使用
String key=pibref.push().getKey();
获取新密钥的id,然后立即使用
Users=pibref.child(key);
,然后
Users=pibref.push()
就可以了。此外,
new SignInActivity()。
 private DatabaseReference mDatabase;