可以在项目下的External Libraries下的Flutter Plugins/flutter_bugly0.2.5/android/src.main/AndroidManifest.xml配置下的meta-data 里添加tools:replace="android:resource"
成都创新互联公司-专业网站定制、快速模板网站建设、高性价比北关网站开发、企业建站全套包干低至880元,成熟完善的模板库,直接使用。一站式北关网站制作公司更省心,省钱,快速模板网站建设找我们,业务覆盖北关地区。费用合理售后完善,十余年实体公司更值得信赖。
如果太复杂建议你咨询客服。
flutter是桌面应用程序。
1、使用flutter桌面应用,必须使用master通道,在命令窗口执行以下命令:
flutter channel master
flutter upgrade
2、安装visual studio后,执行flutter doctor命令
3、在visual studio installer中选择对应版本号进行安装:
4、再次执行flutter doctor命令
5、配置执行目标平台
flutter config --enable-windows-desktop
6、命令行切换到flutter-desktop-embedding\example目录下,执行flutter run命令
7、通过visual studio打开目录flutter-desktop-embedding\example\windows下的Runner.sln文件对项目进行打包。
生成的exe可执行文件在目录flutter-desktop-embedding\example\build\windows\x64\Release下
Dart的 IO 库包含了文件读写的相关类,它属于 Dart 语法标准的一部分,所以通过 Dart IO 库,无论是 Dart VM 下的脚本还是 Flutter,都是通过 Dart IO 库来操作文件的,不过和 Dart VM 相比,Flutter 有一个重要差异是文件系统路径不同,这是因为Dart VM 是运行在 PC 或服务器操作系统下,而 Flutter 是运行在移动操作系统中,他们的文件系统会有一些差异。
Android 和 iOS 的应用存储目录不同, PathProvider 插件提供了一种平台透明的方式来访问设备文件系统上的常用位置。该类当前支持访问两个文件系统位置:
File代表一个整体的文件,他有三个构造函数,分别是:
文件读取本身有两种形式,一种是文本,一种是二进制。
2.2.1 读取文本内容
如果是文本文件,File提供了readAsString、readAsLines、readAsStringSync、readAsLinesSync方法,读取文本内容
readAsString 一次性读取所有文本
readAsLines 一行行的读取文本
结果返回的是一个List,list中表示文件每行的内容
readAsStringSync、readAsLinesSync同步读取文本
2.2.2 读取二进制内容
如果文件是二进制,那么可以使用readAsBytes或者同步的方法readAsBytesSync:
dart中表示二进制有一个专门的类型叫做Uint8List,他实际上表示的是一个int的List。
上面提到的读取方式,都是一次性读取整个文件,缺点就是如果文件太大的话,可能造成内存空间的压力。
所以File为我们提供了另外一种读取文件的方法,流的形式来读取文件.
示例
dart提供了open和openSync两个方法来进行随机文件读写:
写入和文件读取一样,可以一次性写入或者获得一个写入句柄,然后再写入。
一次性写入的方法有四种,分别对应字符串和二进制
句柄形式可以调用openWrite方法,返回一个IOSink对象,然后通过这个对象进行写入:
默认情况下写入是会覆盖整个文件的,但是可以通过下面的方式来更改写入模式:
虽然dart中所有的异常都是运行时异常,但是和java一样,要想手动处理文件读写中的异常,则可以使用try,catch:
我们还是以计数器为例,实现在应用退出重启后可以恢复点击次数。 这里,我们使用文件来保存数据:
1.引入PathProvider插件;在pubspec.yaml文件中添加如下声明:
执行 flutter pub get
2.实现如下
参考: