例如,构建API的客户端,如Twitch.
在Dart CLI二进制文件中,我可以使用通用环境变量或Dart定义变量.例如,将两者用作后备:
main() {
String clientId =
// dart -dCLIENT_ID='abc bin/example.dart
// This is considered "compiled-into" the application.
const String.fromEnvironment('CLIENT_ID') ??
// CLIENT_ID='abc' dart bin/example.dart
// This is considered a runtime flag.
Platform.environment['CLIENT_ID'];
// Use clientId.
}
Run Code Online (Sandbox Code Playgroud)
Flutter是否有办法设置其中一个/两个,特别是......
一旦我弄清楚如何:)很高兴帮助一些文档:)
从 Reddit 上的 /r/dartlang 交叉发布:
我看到了 Flutter/Dart Google IO 演示,并决定我想做一个愚蠢的 Android 应用程序。上手很容易,但我找不到任何关于如何做一个简单的锁屏小部件的地方。
基本上我只想要一个定期轮询 JSON API 并在 android 锁屏上显示一些数据的应用程序。目前这可能与 Flutter 相关吗?
免责声明:我是一名基础设施/后端 python/golang 开发人员,从来没有写过任何接近移动应用程序的东西。
例如,我想能够写:
class Dog {
final String name;
Dog(this.name);
bark() => 'Woof woof said $name';
}
Run Code Online (Sandbox Code Playgroud)
但是有#Dog.bark类型定义() => String.
以前这在Dart 1.x中是不可能的,但是我希望类型推断可以节省一天,并且避免必须键入简单的函数,其中返回类型是可推断的(与今天的闭包相同?)
我在AngularDart中有一个课程如下:
abstract class Validator {
Map validate(AbstractControl c);
}
Run Code Online (Sandbox Code Playgroud)
仔细观察,这曾经是(在我们添加强模式支持之前):
abstract class Validator {
validate(AbstractControl c);
}
Run Code Online (Sandbox Code Playgroud)
它在技术上支持返回Future或Map的问题.
我想重构一下并使用FutureOr以下方法正确输入:
abstract class Validator {
FutureOr<T> validate(AbstractControl c);
}
Run Code Online (Sandbox Code Playgroud)
我能is在运行时使用检查吗?(在DDC和dart2js中)
void runValidator(Validator v) {
var result = v.validate(...);
if (result is Future) {
// async...
} else {
// sync...
}
}
Run Code Online (Sandbox Code Playgroud)
我正确地考虑了这个吗?
编辑:如下所述,我的意思是
if (result is Future<T>) {
} else if (result is T) {
}
Run Code Online (Sandbox Code Playgroud)
还有一个问题,就是validate这两个问题typedef …
我在Flutter网站上阅读了特定于平台的插件/渠道的介绍,并浏览了一些简单的插件示例,例如url_launcher:
// Copyright 2017 The Chromium Authors. All rights reserved.
// Use of this source code is governed by a BSD-style license that can be
// found in the LICENSE file.
import 'dart:async';
import 'package:flutter/services.dart';
const _channel = const MethodChannel('plugins.flutter.io/url_launcher');
/// Parses the specified URL string and delegates handling of it to the
/// underlying platform.
///
/// The returned future completes with a [PlatformException] on invalid URLs and
/// schemes which cannot be …Run Code Online (Sandbox Code Playgroud) 尤其是Dart 2以来的一个常见问题是,是否有可能在某些或所有类型上都需要某些或所有通用类型参数-例如,List<int>代替List或MyType<Foo>代替MyType。
并非总是很清楚目的是什么-即这是一个风格问题(您/您的团队喜欢看到类型),防止错误(忽略类型参数似乎会给您/您的团队带来更多错误)还是一个契约问题(您的库需要一个类型参数)。
例如,在上dart-misc,用户写道:
基本上,如果我有这个:
Run Code Online (Sandbox Code Playgroud)abstract class Mixin<T> {}我不具备指定类型:
Run Code Online (Sandbox Code Playgroud)// Works class Cls extends Object with Mixin<int> {} // ...also works class Cls extends Object with Mixin {}有什么办法可以使第二个不允许?