Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/flutter/10.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Dart 在谷歌登录时,如何使用flifter和firestore获取用户显示名的第一个字母?_Dart_Flutter_Google Cloud Firestore - Fatal编程技术网

Dart 在谷歌登录时,如何使用flifter和firestore获取用户显示名的第一个字母?

Dart 在谷歌登录时,如何使用flifter和firestore获取用户显示名的第一个字母?,dart,flutter,google-cloud-firestore,Dart,Flutter,Google Cloud Firestore,以及如何将displayName第一个元素大写? 我如何获得用户displayName的大写首字母,用户刚刚在我的应用程序上注册,并将首字母存储在firestore中 void updateUserData(FirebaseUser user) async { DocumentReference ref = _db.collection('users').document(user.uid); return ref.setData({ 'uid': user.uid, 'email'

以及如何将displayName第一个元素大写?

我如何获得用户displayName的大写首字母,用户刚刚在我的应用程序上注册,并将首字母存储在firestore中

  void updateUserData(FirebaseUser user) async {
DocumentReference ref = _db.collection('users').document(user.uid);
return ref.setData({
  'uid': user.uid,
  'email': user.email,
  'photoURL': user.photoUrl,
  'displayName': user.displayName,
  'lastSeen': DateTime.now()
}, merge: true);
这是我在firestore中存储数据的代码

  void updateUserData(FirebaseUser user) async {
DocumentReference ref = _db.collection('users').document(user.uid);
return ref.setData({
  'uid': user.uid,
  'email': user.email,
  'photoURL': user.photoUrl,
  'displayName': user.displayName,
  'lastSeen': DateTime.now()
}, merge: true);
}

假设displayName=richie,这里是什么

我想在文档中存储一个新的键值对

第一个字母=R


提前感谢

看起来您已经在Firestore数据库中存储了显示名称。我建议不要将第一个字母也存储在数据库中,因为这似乎有点多余,但请按照您的意愿处理它。在Dart中,您可以使用
.toUpperCase()
将字符串转换为全大写。尝试一下:

String firstLetter = user.displayName.substring(0,1).toUpperCase();

你被困在这件事的哪一部分?在我看来,您甚至不需要在这里对Firestore执行任何操作,因为用户的名称由Firebase身份验证提供,而且您应该能够随时获取登录用户的FirebaseUser对象。我想存储用户名称的第一个字母,因此您似乎一直在获取
用户的第一个字母。displayName
?是的,在大写形式中,Dart字符串的文档可能就是您想要开始的地方。