我想知道在联邦插件上实现平台特定功能的最佳方式是什么,以及如何从主应用程序调用它。
例如,让我们看看这个联邦插件代码:
abstract class FlutterGetPlatformStringPlatform extends PlatformInterface {
...
Future<String> getPlatformString() {
throw UnimplementedError();
}
...
}
abstract class AndroidGetPlatformString extends FlutterGetPlatformStringPlatform {
...
@override
Future<String> getPlatformString() {
// Some native method
}
...
}
abstract class WebGetPlatformString extends FlutterGetPlatformStringPlatform {
...
@override
Future<String> getPlatformString() {
// Some native method
}
String specificNativeVariable = SpecificNativeVariable();
void specificNativeFunction() {
// More stuff
}
...
}
所以这里的问题是在我的应用程序上,我在我的pubspec上导入插件。yaml
然后在代码导入'包上:颤振_平台_字符串_接口/颤振_平台_字符串_接口。飞镖
。那么,我如何只能调用web
specificNativeFunction
,或者如何才能只设置webSpecificNativeVariable
?
我应该导入
flatter\u platform\u string\u web
,还是必须实例化平台接口?
有几种方法可以做到这一点:
flutter_platform_string_web
。in_app_purchase
插件中演示的模式,插件客户端导入flutter_platform_string_web
。这样做的好处是客户端不需要导入整个平台实现,因此不太可能认为应该直接调用其他平台实现方法(这几乎总是一个坏主意)。在为Android实现平台特定的代码时,我遇到了以下错误。 [ERROR: flutter/lib/ui/ui_dart_state.cc(186)]未处理的异常:缺少插件异常(在通道plugins.flutter.io/path_provider上没有找到方法getTemporaryDirectory的实现)
我不确定这是否是合适的堆栈交换站点,但我认为它比我能想到的其他站点更适合这里。无论如何,我为一个移动应用程序开发团队工作,我们正在考虑使用Flutter来开发我们未来的移动应用程序,因为它减少了为iOS和Android开发时所需的工作量(我们只是一个小团队)。 我通读了一些关于Flutter的信息,并检查了可用的软件包和Dart /Flutter Pub,还有一些软件包尚未可用于我们用于Andro
我想建立库伯尼特斯联盟。当我运行以下命令时,我得到一个错误: 正在为联合系统组件创建命名空间联合系统。。。服务器错误(禁止):名称空间被禁止:用户“客户端”无法在群集作用域中创建名称空间:未知用户“客户端”。 kubefed和kubectl的版本为1.8.8:
我有一些依赖于项目,我有一些依赖于
凭据对话框(Google表单)已成功打开,但在我填写凭据后,出现了此错误。我按照此处的说明进行了操作。创建了一个Firebase项目,从Google API控制台启用了Google Drive API(这就是我现在需要的)。 引发异常的代码: 这是堆栈跟踪: google_sign_in插件的版本是4.0.0。 这是颤振多克托 -v 的输出: 任何帮助将不胜感激。谢谢!