Android 将ProviderData中的FirebaseAuth UserInfo组合成一个综合用户

Android 将ProviderData中的FirebaseAuth UserInfo组合成一个综合用户,android,firebase-authentication,google-signin,Android,Firebase Authentication,Google Signin,通过Google登录并记录从FirebaseAuth用户获取的数据后,Firebase让您绘制用户帐户信息的方式如下: 要获取从链接到用户的登录提供程序检索到的配置文件信息,请使用getProviderData方法 当我记录从每个配置文件中提取的信息时,我会得到以下两个不完整的数据集: 06-08 12:48:12.851 14400-14400/com.example.app D/MainActivity: providerId: firebase, uid: 1***************

通过Google登录并记录从FirebaseAuth用户获取的数据后,Firebase让您绘制用户帐户信息的方式如下:

要获取从链接到用户的登录提供程序检索到的配置文件信息,请使用getProviderData方法

当我记录从每个
配置文件中提取的信息时,我会得到以下两个不完整的数据集:

06-08 12:48:12.851 14400-14400/com.example.app D/MainActivity: providerId: firebase, uid: 1***************2, name: null, email: d**********y@gmail.com, url: null
06-08 12:48:12.851 14400-14400/com.example.app D/MainActivity: providerId: google.com, uid: 1************5, name: D*******y, email: null, url: https://lh4.googleusercontent.com/.../photo.jpg

是否有一种标准方法来组合用户信息并将其存储为更易访问的数据集?FirebaseAuth(至少在本例中)似乎不是在运行时检索用户信息的最简洁的方法

没有其他方法可以为当前用户获取providerData。我假设您更喜欢通过某个键(如providerId)查找数据,而不是遍历该列表。您始终可以使用您喜欢的结构(如键/值映射)在实时数据库中复制此数据

06-08 12:48:12.851 14400-14400/com.example.app D/MainActivity: providerId: firebase, uid: 1***************2, name: null, email: d**********y@gmail.com, url: null
06-08 12:48:12.851 14400-14400/com.example.app D/MainActivity: providerId: google.com, uid: 1************5, name: D*******y, email: null, url: https://lh4.googleusercontent.com/.../photo.jpg