繁体   English   中英

如何获取 FirebaseUser 数据

[英]how to get FirebaseUser data

尝试从 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 字符串。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM