简体   繁体   English

Flutter 即使在代码更改后仍然运行默认的“计数器应用程序”(Windows 应用程序)

[英]Flutter keeps running default “Counter App” even after Code change(Windows App)

(Flutter -WindowsAPP - Flutter 1.26.0-1.0.pre • channel dev • https://github.com/flutter/flutter.git Framework • revision 63062a6443 (12 days ago) • 2020-12-13 23:19:13 +0800 Engine • revision 4797b06652 Tools • Dart 2.12.0 (build 2.12.0-141.0.dev) ). (Flutter -WindowsAPP - Flutter 1.26.0-1.0.pre • channel dev • https://github.com/flutter/flutter.git Framework • revision 63062a6443 (12 days ago) • 2020-12-13 23:19:13 +0800 引擎 • 修订版 4797b06652 工具 • Dart 2.12.0(内部版本 2.12.0-141.0.dev))。

Flutter keeps running the default Counter App, even after Code has been change to a StreamBuilder App. Flutter 继续运行默认的计数器应用程序,即使代码已更改为 StreamBuilder 应用程序。
There is only one main.dart in lib folder (no additional "Counter APP" code in build/test folders) and the Run-edit configuration points to this file. lib folder中只有一个main.dart (构建/测试文件夹中没有额外的“Counter APP”代码), Run-edit configuration指向该文件。

However,after deleting the code for the default "Counter App"(compiled before ), and replacing it with the code for a Streambuilder app and SAVING 'main.dart', the Counter App STILL RUN's.但是,在删除默认“计数器应用程序”的代码(之前编译)并将其替换为 Streambuilder 应用程序的代码并保存“main.dart”之后,计数器应用程序仍然运行。

Tried restarting Android Studio along with hot reload/hot restart but still the Counter App runs.尝试重新启动 Android Studio 以及热重载/热重启,但计数器应用程序仍然运行。

IMAGE图片在此处输入图像描述

TERMINAL终端

flutter run -d windows

CODE代码

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,
                      size: 60,
                    ),
                    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,
                    ),
                    const Padding(
                      padding: EdgeInsets.only(top: 16),
                      child: Text('Awaiting bids...'),
                    )
                  ];
                  break;
                case ConnectionState.active:
                  children = <Widget>[
                    Icon(
                      Icons.check_circle_outline,
                      color: Colors.green,
                      size: 60,
                    ),
                    Padding(
                      padding: const EdgeInsets.only(top: 16),
                      child: Text('\$${snapshot.data}'),
                    )
                  ];
                  break;
                case ConnectionState.done:
                  children = <Widget>[
                    Icon(
                      Icons.info,
                      color: Colors.blue,
                      size: 60,
                    ),
                    Padding(
                      padding: const EdgeInsets.only(top: 16),
                      child: Text('\$${snapshot.data} (closed)'),
                    )
                  ];
                  break;
              }
            }

            return Column(
              mainAxisAlignment: MainAxisAlignment.center,
              crossAxisAlignment: CrossAxisAlignment.center,
              children: children,
            );
          },
        ),
      ),
    );
  }
}

EDIT-1编辑-1

Even after flutter clean, running the above script still runs the default Counter app.即使在 flutter clean 之后,运行上述脚本still runs the default Counter app.

TERMINAL终端

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

This Flutter Windows App was created for the very first time (with installation of the required dependencies).首次创建此 Flutter Windows 应用程序(安装所需的依赖项)。

Creating a completely New Project solved the issue.创建一个全新的项目解决了这个问题。

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM