flutter - 将数据上传到 Cloud Firestore 的数据库
问题描述
我正在将一些用户数据上传到 firebase 的数据库中,但其中一个变量是背景颜色,它的类型为 Color。
Unhandled Exception: Invalid argument: Instance of 'Color'
我怎样才能上传那个?到目前为止,我只在集合中使用了类型字符串。
这就是我正在使用的:
final Color _backgroundColor;
...
onPressed: () {
_firestore.collection('users').add({
'backgroundColor': _backgroundColor,
})
}
我应该在集合中选择什么类型(对于变量颜色)?还是我应该更改代码中的某些内容?该代码确实有效,因为对于字符串类型的变量,它没有引发异常。
解决方案
Firestore 只能存储此处列出的特定类型的数据。从该文档中可以看出,它无法存储 Flutter 的Color
类型。
因此,您需要定义自己的Color
与 Firestore 支持的类型之间的映射。最常见的是将此类数据存储为字符串或 3 位数字。请参阅如何将 Flutter 颜色转换为字符串并返回颜色,特别是关于字符串转换和数字转换的答案。
推荐阅读
- alamofire - Alamofire ImageDownloader 请求取消,错误代码 -999
- javascript - For..in 只返回第一项 - React js
- excel - 如何将其写入 IF 语句
- docker - Kubernetes 上微服务的最大允许图像大小应该是多少
- xamarin.forms - Master Detail 破坏参数?
- plsql - 我在编写游标/循环时遇到问题。我不确定为什么它不起作用
- sql - 模式计算是从所有数据中提取的,而不是子集
- amazon-web-services - 无法从缓存中提供 aws s3 资源 - 服务工作者
- javascript - Chrome webview标签调用getZoom函数但收到“不是函数”?
- javascript - Vue.js,如何导入和使用JQuery来初始化一个materialize-css轮播