我又开始学习颤振(前一段时间开始,但停止了)。您可以在下面找到我的代码。如果我在智能手机上运行应用程序,则会出现错误:[核心/无应用程序]未创建Firebase应用程序['DEFAULT'}-调用Firebase.initializeApp()。我阅读了文档,但由于我使用的是最新版本的firebase\u core:^0.5.0、firebase\u auth:^0.18.0 1、cloud\u firestore:^0.14.0 2,因此文档似乎还没有完成,或者我没有得到它。我需要在哪里初始化那个?为什么这还不够:CollectionReference users=FirebaseFirestore。例子集合(“用户”);
时间线。dart(代码主要来自颤振入门):
import 'package:flutter/material.dart';
import 'package:firebase_core/firebase_core.dart';
import 'package:cloud_firestore/cloud_firestore.dart';
import 'package:example/widgets/header.dart';
import 'package:example/widgets/progress.dart';
class Timeline extends StatefulWidget {
@override
_TimelineState createState() => _TimelineState();
}
class _TimelineState extends State<Timeline> {
@override
void initState() {
// getUserById();
super.initState();
}
@override
Widget build(BuildContext context) {
CollectionReference users = FirebaseFirestore.instance.collection('users');
return StreamBuilder<QuerySnapshot>(
stream: users.snapshots(),
builder: (BuildContext context, AsyncSnapshot<QuerySnapshot> snapshot) {
if (snapshot.hasError) {
return Text('Something went wrong');
}
if (snapshot.connectionState == ConnectionState.waiting) {
return Text("Loading");
}
return new ListView(
children: snapshot.data.documents.map((DocumentSnapshot document) {
return new ListTile(
title: new Text(document.data()['username']),
subtitle: new Text(document.data()['posts_count']),
);
}).toList(),
);
},
);
}
}
这是我的main代码。飞奔
import 'package:flutter/material.dart';
import 'package:firebase_core/firebase_core.dart';
import 'pages/home.dart';
void main() {
runApp(MyApp());
}
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return MaterialApp(
title: 'Example',
debugShowCheckedModeBanner: false,
theme: ThemeData(
primarySwatch: Colors.red,
accentColor: Colors.blue,
),
home: Home(),
);
}
}
提前非常感谢!
您可以像这样修改MyApp小部件,使其正常工作。
class MyApp extends StatelessWidget {
// This widget is the root of your application.
@override
Widget build(BuildContext context) {
return MaterialApp(
home: FutureBuilder(
future: Firebase.initializeApp(),
builder: (context, snapshot) {
if (snapshot.connectionState == ConnectionState.done) {
if (snapshot.hasError) {
print(snapshot.error.toString());
return Center(child: Text('Error'));
} else {
// ! RETURN THE SCREEN YOU WANT HERE
return Timeline();
}
},
),
);
}
}
在main.dart中,添加以下内容
dart prettyprint-override">void main() async {
WidgetsFlutterBinding.ensureInitialized(); //add this
await Firebase.initializeApp(); //initialize here
runApp(MyApp());
}
访问新文档以了解有关使用firebase软件包的更多信息
本文向大家介绍svn 更新工作副本,包括了svn 更新工作副本的使用技巧和注意事项,需要的朋友参考一下 示例 您不是唯一从事此项目的人,对吗?这意味着您的同事也正在对项目数据进行修改。为了保持最新状态并获取其他人所做的修改,您应该svn update在工作副本中运行command。因此,您的工作副本将与存储库同步并下载同事所做的更改。 的简写svn update是svn up。 这是svn upd
我在Android开发,切换到API22后,我开始在我的应用程序中有错误。在stackoverflow上搜索,我找到了解决方案,获得了最新版本的appcompat_v7。 我怎么继续?我可以在哪里下载最新版本或在哪里更新它?
我对java还是新手。是否有办法获取已替换的新字符串? 输出: 期望的新输出: 我想得到输出字符串然后将替换为
我想将我的所有软件包更新到最新版本: 谢谢!!
我通过使用map函数迭代来显示我的状态,这是一个数组。此外,我有一个按钮,在点击反转数组。 我认为我想做什么是相当明显的。但这对我不起作用,我不知道为什么。我必须单击两次来完成第一次还原,出现了奇怪的情况,即呈现的数组和Chrome中React开发工具在组件状态中显示的数组不匹配。 我无法解释这种行为。我开始认为这与我从道具中获得阵列有关,但我真的不知道。有什么想法吗?