【发布时间】:2018-09-20 00:37:51
【问题描述】:
我在我的 Flutter 应用中实现了 Cloud Firestore,但遇到了这个问题:如果在第一次加载应用时(安装后)没有网络连接,则不会显示任何数据。 我的问题是:如何使 Firestore 中的数据即使在没有互联网连接的情况下也能在首次加载(安装后)时显示?我获取数据的代码是这样的:
class QuestionsListState extends State<QuestionsList> {
@override
Widget build(BuildContext context) {
return new StreamBuilder<QuerySnapshot>(
stream: _questionsCollectionReference
.where("category", isEqualTo: _chosenCategory).orderBy("order").snapshots,
builder: (BuildContext context, AsyncSnapshot<QuerySnapshot> snapshot) {
if (!snapshot.hasData) return const Text('');
final int messageCount = snapshot.data.documents.length;
return new ListView.builder(
itemCount: messageCount,
itemBuilder: (_, int index) {
final DocumentSnapshot document = snapshot.data.documents[index];
return new ListTile(
title: new FlatButton(
onPressed: () {
Navigator.push(context, new MaterialPageRoute(
builder: (BuildContext context) => new AddAnswerDialog(),
fullscreenDialog: true,
));
},
child: new Text(
document['text'],
style: new TextStyle(fontSize: 18.0, color: Colors.blue),
)),
);
},
);
},
);
}
}
【问题讨论】:
标签: dart google-cloud-firestore flutter preload offline-caching