问题描述
(Flutter -WindowsAPP - Flutter 1.26.0-1.0.pre • channel dev • https://github.com/flutter/flutter.git 框架 • 修订版 63062a6443(12 天前) • 2020-12-13 23:19:13 +0800 引擎 • 修订版 4797b06652 工具 • Dart 2.12.0(构建 2.12.0-141.0.dev) ).
Flutter 继续运行默认的 Counter App ,即使在代码已更改为 StreamBuilder 应用程序之后也是如此。main.dart
中只有一个 lib folder
(构建/测试文件夹中没有额外的“Counter APP”代码)并且 Run-edit configuration
指向此文件。
但是,在删除默认“计数器应用程序”(之前编译)的代码,并将其替换为 Streambuilder 应用程序的代码并保存“main.dart”后,计数器应用程序仍在运行。
尝试重启 Android Studio 以及热重载/热重启,但计数器应用程序仍在运行。
终端
Flutter run -d windows
import 'package:Flutter/material.dart';
void main() => runApp(MyApp());
/// This is the main application widget.
class MyApp extends StatelessWidget {
static const String _title = 'Flutter Code Sample';
@override
Widget build(BuildContext context) {
return MaterialApp(
title: _title,home: MyStatefulWidget(),);
}
}
/// This is the stateful widget that the main application instantiates.
class MyStatefulWidget extends StatefulWidget {
MyStatefulWidget({Key key}) : super(key: key);
@override
_MyStatefulWidgetState createState() => _MyStatefulWidgetState();
}
/// This is the private State class that goes with MyStatefulWidget.
class _MyStatefulWidgetState extends State<MyStatefulWidget> {
Stream<int> _bids = (() async* {
await Future<void>.delayed(Duration(seconds: 1));
yield 1;
await Future<void>.delayed(Duration(seconds: 1));
})();
Widget build(BuildContext context) {
return DefaultTextStyle(
style: Theme.of(context).textTheme.headline2,textAlign: TextAlign.center,child: Container(
alignment: FractionalOffset.center,color: Colors.white,child: StreamBuilder<int>(
stream: _bids,builder: (BuildContext context,AsyncSnapshot<int> snapshot) {
List<Widget> children;
if (snapshot.hasError) {
children = <Widget>[
Icon(
Icons.error_outline,color: Colors.red,size: 60,),Padding(
padding: const EdgeInsets.only(top: 16),child: Text('Error: ${snapshot.error}'),)
];
} else {
switch (snapshot.connectionState) {
case ConnectionState.none:
children = <Widget>[
Icon(
Icons.info,color: Colors.blue,const Padding(
padding: EdgeInsets.only(top: 16),child: Text('Select a lot'),)
];
break;
case ConnectionState.waiting:
children = <Widget>[
SizedBox(
child: const CircularProgressIndicator(),width: 60,height: 60,child: Text('Awaiting bids...'),)
];
break;
case ConnectionState.active:
children = <Widget>[
Icon(
Icons.check_circle_outline,color: Colors.green,Padding(
padding: const EdgeInsets.only(top: 16),child: Text('\$${snapshot.data}'),)
];
break;
case ConnectionState.done:
children = <Widget>[
Icon(
Icons.info,child: Text('\$${snapshot.data} (closed)'),)
];
break;
}
}
return Column(
mainAxisAlignment: MainAxisAlignment.center,crossAxisAlignment: CrossAxisAlignment.center,children: children,);
},);
}
}
编辑-1
即使在 Flutter clean 之后,运行上面的脚本 still runs the default Counter app.
终端
F:\Flutter\Flutter_windows\windows_test_1>Flutter clean
Deleting build... 784ms
Deleting .dart_tool... 9ms
Deleting Generated.xcconfig... 1ms
Deleting Flutter_export_environment.sh... 0ms
Deleting ephemeral... 22ms
Deleting .Flutter-plugins-dependencies... 2ms
Deleting .Flutter-plugins... 0ms
F:\Flutter\Flutter_windows\windows_test_1>Flutter run -d windows
Running "Flutter pub get" in windows_test_1... 433ms
Launching lib\main.dart on Windows in debug mode...
Building Windows application...
Syncing files to device Windows... 104ms
解决方法
这个 Flutter Windows 应用程序是第一次创建(安装了所需的依赖项)。
创建一个全新的项目解决了这个问题。