Firebase用户数据存储问题

时间:2017-11-14 07:07:20

标签: java android firebase firebase-authentication sharedpreferences

我正在使用Firebase身份验证,在编码时我意识到如果用户成功登录,我可以使用User user = FirebaseAuth.getInstance().getCurrentUser;在应用程序中的任何活动中获取用户数据,但我很困惑,我是否可以存储用户数据在用户登录后的sharedPreferences中,或者我可以使用User user = FirebaseAuth.getInstance().getCurrentUser;方式在我想要的任何活动中获取用户数据。那么哪种方法更适合使用firebase用户数据。如果您有任何其他方法需要建议,那么随时欢迎您。提前谢谢。

3 个答案:

答案 0 :(得分:1)

使用FirebaseAuth.getInstance()。getCurrentUser()将用户数据限制为用户ID或电子邮件地址等登录信息。 如果它足以让你使用它,那没关系。

为了获取保存到共享首选项的数据,您可以定义PreferencesUtils类。 该类是单例或具有静态成员。 如果是这样,我想你可以在任何地方召集这些成员。

我希望它有所帮助..如果您有任何问题,请告诉我。

答案 1 :(得分:1)

始终使用firebase用户实例,因为它会为您提供更新的用户实例。如果要在sharedPreferences中保存用户数据,则应在更新用户数据时始终在sharedPreferences中保存用户详细信息。

答案 2 :(得分:0)

我会使用AuthStateListener来监听对已通过身份验证的用户的可能更改,并根据该侦听器将更改保留在该用户对象可能发生更改时。当您知道只有在对侦听器回调的响应时它才会发生变化时,可能不值得持续ping currentUser进行更改。