我正在尝试显示我为其创建了 Crud 文件的 Firebase Firestore 中的数据。
我在 body.dart 文件中尝试了不同的东西,但我不断收到循环进度条和一些错误。
Accessing hidden method Lsun/misc/Unsafe;
多次
这是body.dart
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:flutter/material.dart';
import 'package:masterpass/Screens/Passwords/components/password_list.dart';
import 'package:masterpass/Services/crud.dart';
class Body extends StatefulWidget {
@override
_BodyState createState() => _BodyState();
}
class _BodyState extends State<Body> {
CrudMethods crudMethods = new CrudMethods();
QuerySnapshot passSnapshot;
@override
void initState() {
super.initState();
crudMethods.getData().then((result) {
passSnapshot = result;
});
}
@override
Widget build(BuildContext context) {
return PasswordList(passSnapshot: passSnapshot);
}
}
密码列表.dart
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:flutter/material.dart';
import 'package:masterpass/Screens/Passwords/components/password_tile.dart';
class PasswordList extends StatelessWidget {
const PasswordList({
Key key,
@required this.passSnapshot,
}) : super(key: key);
final QuerySnapshot<Object> passSnapshot;
@override
Widget build(BuildContext context) {
return Container(
child: passSnapshot != null
? Column(
children: [
ListView.builder(
itemCount: passSnapshot.docs.length,
shrinkWrap: true,
itemBuilder: (context, index) {
return PasswordTile(
username: passSnapshot.docs[index].get('username'),
website: passSnapshot.docs[index].get('url'),
);
},
)
],
)
: Container(
child: CircularProgressIndicator(),
),
);
}
}
这是 crud.dart
import 'package:cloud_firestore/cloud_firestore.dart';
class CrudMethods {
Future<void> addData(passwordData) async {
FirebaseFirestore.instance
.collection("passwords")
.add(passwordData)
.catchError((e) {
print(e);
});
}
getData() async {
return await FirebaseFirestore.instance.collection("passwords").get();
}
}
为了更好地理解代码:GitHub Repo
答案 0 :(得分:0)