Dart 在谷歌登录时,如何使用flifter和firestore获取用户显示名的第一个字母?
以及如何将displayName第一个元素大写? 我如何获得用户displayName的大写首字母,用户刚刚在我的应用程序上注册,并将首字母存储在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'
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字符串的文档可能就是您想要开始的地方。