flutter - 为什么这个 Flutter Web 应用每次运行时都会打开一个 dart 文件?
问题描述
当我将main()
inmain.dart
更改为package的async
功能时,这一切都发生了。sqflite
当我运行应用程序时,Chrome 会打开以进行调试,但会显示一个全白的空白屏幕,并且在 Visual Studio 代码中,名为web_entrypoint.dart
opens 的文件会显示此行:
这是 main.dart 中的 main():
//These are the imports you should consider
import 'package:flutter/material.dart';
import 'dart:async';
import 'package:path/path.dart';
import 'package:sqflite/sqflite.dart';
void main() async {
final GlobalKey<NavigatorState> navigatorKey =
new GlobalKey<NavigatorState>();
// This part was added later
final database = openDatabase(
join(await getDatabasesPath(), 'mDb.db'),
onCreate: (db, version) {
return db.execute(
"CREATE TABLE musteri(ad TEXT, telefon INTEGER, sigorta TEXT, dosya TEXT, eksper TEXT, hasar TEXT, adres TEXT , ilkGelis DATETIME, km INTEGER, marka TEXT, model TEXT, motor TEXT, plaka TEXT, renk TEXT, sase TEXT, tc PRIMARY KEY INTEGER, sonGelis DATETIME, tahTeslim DATETIME )",
);
},
version: 1,
);
runApp(MaterialApp(
title: 'Title',
initialRoute: '/',
routes: {
'/': (context) => SignIn(),
'/home': (context) => Menu(),
'/verify': (context) => EmailVerification(),
'/yenikayit': (context) => Kayit("New Record"),
},
navigatorKey: navigatorKey,
));
}
pubspec.yaml 没有错。我认为这与平台规范有关,但无法弄清楚原因。我也没有收到错误消息。runApp
在此之前,我只有NavigatorKey
在我的main()
功能中,并且它运行良好。
解决方案
sqflite不支持网络。不仅包装中缺少标签,它甚至直接这样说:
其他平台支持:
- [...]
- 不支持网络。
因此,无论导致您的确切问题是什么,您都无法以这种方式使用数据库。很有可能,你看到的就是这个结果。
推荐阅读
- mysql - 使用 where 条件显示表格
- java - Android - 仅在 oppo 设备中获取 InflateException
- python - 为什么while循环比for循环花费更长的时间?
- javascript - 如何在传单地图上显示热图
- android - PrintManager.print() 并更改了 attachBaseContext 中的语言环境
- java - 尝试检索从 Google 登录下载的位图时出现 Skia 错误
- ios - 为什么 UITableViewCell 的 cellForRowAt 方法没有调用?
- javascript - NodeJs 基于 CSV 输入创建动态 mySql 表
- hyperledger-fabric - Hyperledger Fabric 中的背书策略
- html - 有没有办法阻止 Outlook 打破填充