Android-如何在firebase中向退出的唯一密钥添加新数据?
我想为“pibref.push().getkey”中名为“unique key”的子节点添加新数据。当我尝试先登录时,它工作得非常好。 , 但如果我重新启动应用程序,会出现如下错误: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
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;