如何将FirebaseUser转换为flutter中的字符串?

时间:2019-03-25 13:27:02

标签: flutter firebase-authentication

这是我的有状态类代码:

String id = FirebaseAuth.instance.currentUser().toString();

我的功能:

readLocal() async {
  prefs = await SharedPreferences.getInstance();
  id = prefs.getString('id') ?? '';
  if (id.hashCode <= peerId.hashCode) {
    groupChatId = '$id-$peerId';
  } else {
    groupChatId = '$peerId-$id';
  }
  setState(() {});
}

它在String id中正常工作。

我希望ID与当前用户的UID相同。

1 个答案:

答案 0 :(得分:0)

调用FirebaseAuth.instance.currentUser()返回一个FirebaseUser,它是具有 all 个用户数据的对象。如果您只想使用UID of the user

FirebaseUser user = await FirebaseAuth.instance.currentUser();
String uid = user.uid;

更新:我刚刚运行了它,并为我打印了UID:

void _getUser() async {
  FirebaseUser user = await FirebaseAuth.instance.currentUser();
  print(user.uid);
}

打印的:

  

颤振:P07IXLCrwEahYlDhzO1Iv0SKDat2

注意事项:

  • 为了能够在代码中使用await,该方法必须标记为async