簡體   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