首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >颤振中途停止实时数据库项目(火基)的录入

颤振中途停止实时数据库项目(火基)的录入
EN

Stack Overflow用户
提问于 2021-06-25 08:01:26
回答 1查看 32关注 0票数 0

我想让我的颤振应用程序读取firebase中的实时数据库项,但是我的控制台开始打印条目,突然停在中间(有30多个条目要打印)。下面是我的省道文件和控制台上的输出:

代码语言:javascript
复制
// single_page.dart

import 'package:flutter/cupertino.dart';
import 'package:flutter/material.dart';
import 'package:firebase_database/firebase_database.dart';


class SinglePageApp extends StatefulWidget {
  const SinglePageApp({Key? key}) : super(key: key);

  @override
  _SinglePageAppState createState() => _SinglePageAppState();
}

class _SinglePageAppState extends State<SinglePageApp> {

  DatabaseReference _databaseReference = FirebaseDatabase.instance.reference();
  
  void printResults() {
    _databaseReference.once().then((DataSnapshot snapshot) {
      print('Data : ${snapshot.value}');
    });
  }

  @override
  Widget build(BuildContext context) {
      printResults();
      return Container();
  }
}
代码语言:javascript
复制
// main.dart
import 'package:flutter/material.dart';
import 'package:firebase_core/firebase_core.dart';
import './single_page.dart';

void main() async {
  WidgetsFlutterBinding.ensureInitialized(); // modified
  await Firebase.initializeApp();
  runApp(MyApp());
}

class MyApp extends StatelessWidget {
  const MyApp({Key? key}) : super(key: key);

  @override
  Widget build(BuildContext context) {
    return MaterialApp(
      debugShowCheckedModeBanner: false,
      home: SinglePageApp(),
    );
  }
}
代码语言:javascript
复制
Performing hot reload...
Syncing files to device sdk gphone x86...
Reloaded 0 libraries in 131ms.
I/chatty  (11266): uid=10154(com.example.firebasetest) 1.ui identical 1 line
I/flutter (11266): Data : {global: 1624522599522, readings: {-Mcx9YIBFKDmt2SG3zgs: {Temperature: 21, Humidity: 38}, -Mcx6NY-dij-Hrpzlxx5: {Temperature: 22, Humidity: 39}, -Mcx7RVECF5_Phy-HW4u: {Temperature: 22, Humidity: 38}, -Mcx5fF5e5Sv8qt7RwnN: {Temperature: 22, Humidity: 39}, -Mcx612cV63T02_kU2k1: {Temperature: 22, Humidity: 39}, -Mcx8-SsUNEXKDr9JwX8: {Temperature: 22, Humidity: 38}, -Mcx8TvgbNRO_Im5BEIv: {Temperature: 22, Humidity: 38}, -Mcx6yF5lxBhJwI_oR0n: {Temperature: 22, Humidity: 38}, -Mcx94EY0H7PhHsaihfd: {Temperature: 22, Humidity: 38}, -Mcx6jFx5A8RpiwslDyN: {Temperature: 22, Humidity: 39}, -Mcx8aOzK88q4x_HBeFw: {Temperature: 22, Humidity: 38}, -Mcx6VFGyad1i8KO1hLG: {Temperature: 22, Humidity: 39}, -Mcx7swFLs5QG1lM2nrA: {Temperature: 22, Humidity: 39}, -McxA0fRceADOuDCDX5I: {Temperature: 21, Humidity: 38}, -Mcx5RF48_PaUjkxVvgH: {Temperature: 22, Humidity: 39}, -Mcx7CTfM2Q0mTCxykCj: {Temperature: 22, Humidity: 39}, -Mcx6G1t_8m9gU1VI7Vf: {Temperature: 22, Humidity: 39}, -Mcx6bj61JAi_vWL25Hl: {Temperature: 22, Humidi
EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2021-06-25 13:16:42

使用

代码语言:javascript
复制
debugPrint('Data : ${snapshot.value}')

而不是

代码语言:javascript
复制
print('Data :${snapshot.value}');

printResults方法中。

以下是https://flutter.dev/docs/testing/code-debugging#logging的解释

--如果你同时输出太多,那么Android有时会丢弃一些日志行。为了避免这种情况,可以使用debugPrint(),这是Flutter的基础库。这是一个环绕打印的包装器,它将输出控制到一个避免被安卓内核丢弃的水平。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/68127546

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档