Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/224.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Android 如何使用颤振功能小部件库生成代码?_Android_Flutter_Android Widget - Fatal编程技术网

Android 如何使用颤振功能小部件库生成代码?

Android 如何使用颤振功能小部件库生成代码?,android,flutter,android-widget,Android,Flutter,Android Widget,根据文档,如果设置正确,我可以使用这个库编写功能性小部件,该库在单独的[filename].g.dart中生成样板代码,我所要做的就是添加part'[filename].g.dart'到文件,并使用flatter pub run build\u runner watch运行代码生成器 所以我写了一个简单的“计数器”应用程序来测试它 导入“包:flift/foundation.dart”; 进口“包装:颤振/材料.省道”; 进口“包装:颤振钩/颤振钩.省道”; 导入“package:functio

根据文档,如果设置正确,我可以使用这个库编写功能性小部件,该库在单独的
[filename].g.dart
中生成样板代码,我所要做的就是添加
part'[filename].g.dart'到文件,并使用
flatter pub run build\u runner watch运行代码生成器

所以我写了一个简单的“计数器”应用程序来测试它

导入“包:flift/foundation.dart”;
进口“包装:颤振/材料.省道”;
进口“包装:颤振钩/颤振钩.省道”;
导入“package:functional_widget_annotation/functional_widget_annotation.dart”;
“主要g.省道”部分;
void main(){
runApp(MyApp());
}
@轻击
Widget myApp(){
返回材料PP(
标题:“颤振演示”,
路线:{
“/”:(上下文)=>MyHomePage(标题:“Rutas lmL”)
},
主题:主题数据(
主样本:颜色。浅绿色,
),
);
}
@hwidget
小部件myHomePage({String title}){
最终计数状态=使用状态(0);
void increment()=>countState.value++;
无效减量()=>countState.value--;
返回脚手架(
appBar:appBar(
标题:文本(标题),
),
正文:专栏(
mainAxisAlignment:mainAxisAlignment.center,
crossAxisAlignment:crossAxisAlignment.stretch,
儿童:[
Text('Presionaste${countState.value}veces',textAlign:textAlign.center,),
TextButton.icon(按下时:递增,标签:Text('Incrementar'),icon:icon(Icons.add)),
Text按钮。图标(按下:递减,标签:文本('Decrementtar'),图标:图标(图标。垂直对齐\底部))
],
),
);
}
但生成器正在输出错误:

[INFO] ------------------------------------------------------------------------

[INFO] Starting Build

[INFO] Updating asset graph...
[INFO] Updating asset graph completed, took 1ms

[INFO] Running build...
[SEVERE] functional_widget:functional_widget on lib/main.dart:

Invalid prototype. The function must be synchronous, top level, and return a Widget
package:testapp/main.dart:13:8
   ╷
13 │ Widget myApp(){
   │        ^^^^^
   ╵
[INFO] Running build completed, took 121ms

[INFO] Caching finalized dependency graph...
[INFO] Caching finalized dependency graph completed, took 35ms

[SEVERE] Failed after 158ms
我阅读了所有关于它的文档,我认为我的代码没有问题,但如果你们中的任何人能告诉我我做错了什么,我会非常感激

传统信息 pubspec.yml

名称:testapp
描述:一个新的颤振项目。
#以下行可防止将包意外发布到
#pub.dev使用“pub publish”。这是私人软件包的首选。
发布到:“无”#如果要发布到pub.dev,请删除此行
#下面定义了应用程序的版本和内部版本号。
#版本号是由点分隔的三个数字,如1.2.43
#后跟可选的内部版本号,以+分隔。
#版本和制造商编号都可能在颤振中被覆盖
#通过分别指定--build name和--build number来生成。
#在Android中,版本名用作版本名,而版本号用作版本代码。
#更多关于Android版本控制的信息,请访问https://developer.android.com/studio/publish/versioning
#在iOS中,生成名称用作CbundleShortVersionString,而生成编号用作CbundLeverVersion。
#阅读有关iOS版本控制的更多信息,请访问
# https://developer.apple.com/library/archive/documentation/General/Reference/InfoPlistKeyReference/Articles/CoreFoundationKeys.html
版本:1.0.0+1
环境:
sdk:“>=2.7.0
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable, 2.0.4, on Microsoft Windows [Versión 10.0.21313.1000], locale es-CL)
[✓] Android toolchain - develop for Android devices (Android SDK version 30.0.3)
[✓] Chrome - develop for the web
[✓] Android Studio (version 4.1.0)
[✓] IntelliJ IDEA Ultimate Edition (version 2019.3)
[✓] VS Code (version 1.55.1)
[✓] Connected device (3 available)

• No issues found!