0

Firebase認証を使用していますが、コーディング中にUser user = FirebaseAuth.getInstance().getCurrentUser;を使用すると、ユーザーが正常にログインした場合にアプリケーションからユーザーデータをフェッチすることができますが、ユーザーを格納できるかどうかはわかりませんユーザーのログイン後にsharedPreferences内のデータを使用するか、User user = FirebaseAuth.getInstance().getCurrentUser;の方法を使用して任意のアクティビティでユーザーデータを取得することができます。だから、どの方法がfirebaseユーザデータを使うのが望ましいですか。そして、あなたが提案しなければならない他の方法があれば、いつでも歓迎します。前もって感謝します。Firebaseユーザーデータストレージの問題

答えて

1

ユーザーデータは、FirebaseAuth.getInstance()。getCurrentUser()を使用して、ユーザーIDや電子メールアドレスなどのログイン情報に制限されています。 それを使用すれば十分ですが、それは問題ありません。

sharedpreferencesに保存したデータを取得するには、PreferencesUtilsクラスを定義できます。 クラスはシングルトンであり、静的メンバーを持っています。 もしそうなら、私はこのメンバーをどこにでも呼び出すことができると思います。

私はそれが助けてくれることを願っています..ご不明な点がございましたら、お知らせください。

+0

返信ありがとうございます@ShineMan返信用ですが、FirebaseUserオブジェクトを使用してユーザーデータを取得することもできますので、クラスを作成する必要はなく、ユーザーデータに関するセキュリティ上の問題もなく、userName、userImageおよびユーザーID。 –

+0

はい、もしそうなら、最も良いことはFirebaseAuth.getInstance()。getCurrentUser()を私の意見で使用することです。 – ShineMan

+0

ありがとうございました。ユーザーデータの格納に関するすべての混乱を解消しました。 –

0

AuthStateListenerを使用して、認証されたユーザーの可能な変更をリッスンし、そのリスナーに応じて変更があった場合にのみそのユーザーオブジェクトの変更を保持します。リスナーコールバックへの応答時にのみ変更できることがわかっている場合は、currentUserに変更を継続的にpingする価値はありません。

1

更新されたユーザーインスタンスを提供するため、常にfirebaseユーザーインスタンスを使用します。 sharedPreferencesにユーザーデータを保存する場合は、ユーザーデータを更新するときに常にsharedPreferencesにユーザーの詳細を保存する必要があります。

関連する問題