我正在构建密码管理器,并且试图通过在Map中显示数据来保存Firestore读取。想法是要有一个文档(针对每个密码类别),并将密码存储为地图。在此处查看示例屏幕截图:
这个想法是用户单击每个密码(地图),然后应用程序使用索引将它们带到相关密码。然后,我希望将每个地图中的数据分别排序,以便它们可以存在于自己的Text小部件中。但是我还没有看到在Flutter中显示地图数据的可能性。
我从这里尝试了一些示例,但无法显示地图中的数据-https://github.com/fireship-io/flutter-base/blob/master/lib/main.dart
任何建议将不胜感激。
new StreamBuilder(
stream: Firestore.instance
.collection('users')
.document(userDocSTRING.toString())
.collection(userPassSTRING.toString())
.snapshots(),
builder: (context, snapshot) {
if (snapshot.connectionState == ConnectionState.waiting) {
// If no data is present, display a waiting indicator to the user
// If Null, red screen displays
return Center(child: CircularProgressIndicator());
} else {
// Debug print for Ryan
// print(snapshot.data[0].data.toString());
return new ListView.builder(
itemCount: snapshot.data.documents.length,
itemBuilder: (context, index) {
DocumentSnapshot documentSnapshot =
snapshot.data.documents[index];
return ListTile(
leading: Container(
child: IconButton(
icon: Icon(Icons.content_copy),
color: lightCardCOLOR,
title: Text(documentSnapshot['Name']
从上面的代码中可以看到,从文档中获取字段很容易,但是我不希望每个密码都拥有自己的文档。我希望文档中包含多个对应于密码的地图。所以documentSnapshot['Name']
我想成为地图的名称或值
答案 0 :(得分:0)
我建议您尝试“保存在Firestore上的读取内容”使您更难以建模和显示数据。由于文档的最大大小为1MB,因此它也不会缩放。考虑将每个密码存储在不同的文档中,以使其更容易。文档读取并不是真的很昂贵,Firebase SDK会在本地缓存它们,以避免查询时产生读取费用。