gpt4 book ai didi

java - 如何获取Firebase用户数据

转载 作者:行者123 更新时间:2023-12-02 08:57:11 26 4
gpt4 key购买 nike

尝试从 Firebase 读取数据,但收到此错误:

E/AndroidRuntime: FATAL EXCEPTION: main
Process: com.example.sozluk, PID: 5798
java.lang.RuntimeException: java.lang.InstantiationException: Can't instantiate abstract class com.google.firebase.auth.FirebaseUser

我的代码:

for (DataSnapshot postSnapshot : dataSnapshot.getChildren()) {

Word2 word= new Word2();
word.setMean(postSnapshot.child("mean").getValue(String.class)) ;
word.setName(postSnapshot.child("name").getValue(String.class));
word.setControlled(postSnapshot.child("controlled").getValue(Boolean.class));
word.setAdded_by(postSnapshot.child("added_by").getValue(FirebaseUser.class));
word.setKey(postSnapshot.child("key").getValue(String.class));
words.add(word);
}

最佳答案

这行代码导致了问题:

word.setAdded_by(postSnapshot.child("added_by").getValue(FirebaseUser.class));

Firebase SDK 无法反序列化 FirebaseUser 类型的对象,因为正如错误消息所述,它是一个抽象类。这意味着它可以使用反射来创建,这就是实时数据库 SDK 必须在此处执行的操作。

这里没有简单的解决方法。由于它是一个抽象类,我建议不要在任何类中直接使用 FirebaseUser。您可能应该只存储用户的 UID 字符串。

关于java - 如何获取Firebase用户数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60421877/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com