我正在使用Android Studio作为我的IDE开发Flutter应用程序.
我正在尝试编写测试并检查代码覆盖率,但我无法弄清楚如何在IDE或任何其他应用程序中查看数据.
通过运行flutter test --coverage
A覆盖率报告似乎生成一个文件/coverage/Icov.info
该文件看起来像这样:
SF:lib\data\Customer.g.dart
DA:9,2
DA:10,2
DA:11,2
DA:12,2
DA:13,2
DA:20,0
DA:21,0
DA:22,0
DA:23,0
DA:24,0
....
Run Code Online (Sandbox Code Playgroud)
查看该文件,它似乎有一个包含逐行覆盖数据的项目文件列表.有没有办法在Android Studio中查看此信息?
我是Flutter的新手,在了解状态如何运作时遇到了问题。
我在应用程序中将一个页面设置为StatefulWidget,然后在该页面的状态内,一个主要组件是一个单独的StatefulWidget。
内部小部件显示一个问题,并允许用户输入答案。
然后,我想做的是在同一页面上显示下一个答案。
输入答案后,我的内部小部件回调将返回页面状态。
我试图用另一个副本替换内部小部件,但是状态未重置。那是一个新的状态不会被创建,并且initState()不会再被调用。
我是否应该使用特定的调用或方法来实现这一目标?
编辑:例如,如果我有以下内容
import 'package:flutter/material.dart';
void main() => runApp(new MyApp());
class MyApp extends StatelessWidget {
@override
Widget build(BuildContext context) {
return new MaterialApp(
title: 'Flutter Demo',
theme: new ThemeData(
primarySwatch: Colors.blue,
),
home: new MyHomePage(title: 'Flutter Demo Home Page'),
);
}
}
class MyHomePage extends StatefulWidget {
MyHomePage({Key key, this.title}) : super(key: key);
final String title;
@override
_MyHomePageState createState() => new _MyHomePageState();
}
class _MyHomePageState extends State<MyHomePage> {
@override
void initState(){
changeContent();
}
Widget innerWidget; …Run Code Online (Sandbox Code Playgroud) 我添加了一个本地通知,所以当我的应用程序在打开时进行推送时,仍然会有弹出窗口和声音.它在Android上工作正常,但在iOS上本地通知根本没有出现.
推送通知在两个平台上都运行良好.
这是我应该触发通知的推送回调中的代码(如果应用程序处于打开状态):
if(Display.getInstance().getCurrent() != null) {
LocalNotification n = new LocalNotification();
n.setId(value);
n.setAlertBody(value);
n.setAlertTitle({app name});
n.setBadgeNumber(1);
Display.getInstance().scheduleLocalNotification(n, System.currentTimeMillis() + 1000, LocalNotification.REPEAT_NONE);
}
Run Code Online (Sandbox Code Playgroud) 我正在为 Dart 和 Flutter 开发一个插件,并且我已经开始使用一套测试,因为它是从 Java 实现移植的。
我看到的问题是我可以运行所有测试,但我无法运行单个测试文件或调试它。
我使用了 Android Studio 项目生成器并选择了“Flutter Package”
我相信问题在于 android studio 没有将测试识别为 flutter 测试并且没有包含所需的导入。
测试代码如下所示;
import 'package:flutter_test/flutter_test.dart';
void main() {
test('Test Name', () {
///Test cases in here
});
}
Run Code Online (Sandbox Code Playgroud)
我在尝试运行或调试单个测试时看到的错误是;
file:///E:/flutter/packages/flutter_test/lib/src/accessibility.dart:8:8: Error: Not found: 'dart:ui'
import 'dart:ui' as ui;
^
file:///E:/flutter/packages/flutter_test/lib/src/binding.dart:8:8: Error: Not found: 'dart:ui'
import 'dart:ui' as ui;
^
file:///E:/flutter/packages/flutter_test/lib/src/matchers.dart:8:8: Error: Not found: 'dart:ui'
import 'dart:ui' as ui;
^
file:///E:/flutter/packages/flutter_test/lib/src/matchers.dart:9:8: Error: Not found: 'dart:ui'
import 'dart:ui';
^
file:///E:/flutter/packages/flutter_test/lib/src/test_pointer.dart:12:1: Error: Not found: 'dart:ui'
export …Run Code Online (Sandbox Code Playgroud) 我对 Flutter 还很陌生,以前从未使用过 Firebase,所以如果有明显的解决方案,我深表歉意。
我正在开发一个 Flutter 应用程序,它涉及记录表单提交并将它们提交到一个中心位置。
Firebase Storage 似乎很合适,因为据我了解,该应用程序可以将文件上传到云存储桶,然后可以通过 Firebase 控制台访问它们。如果我错了纠正我。
所以我为 Flutter 找到了这个模块;
https://pub.dartlang.org/packages/firebase_storage
我使用示例代码作为基础。
一次在我调用的代码的开头;
final FirebaseApp app = await FirebaseApp.configure(
name: 'test',
options: new FirebaseOptions(
googleAppID: Platform.isIOS
? '{ios app id}'
: '{android app ID}',
gcmSenderID: '{project number code}',
apiKey: '{web api key from the firebase console}',
projectID: '{project ID}',
),
);
storage = new FirebaseStorage(
app: app, storageBucket: '{address to data bucket}');
Run Code Online (Sandbox Code Playgroud)
然后上传我试过的文件;
final StorageReference ref =
storage.ref().child('uploads').child(filename);
final StorageUploadTask uploadTask = ref.putFile(
file,
new …Run Code Online (Sandbox Code Playgroud) flutter ×4
android ×1
codenameone ×1
dart ×1
firebase ×1
ios ×1
java ×1
state ×1
testing ×1
unit-testing ×1