问题
我的想法是使用Flutter创建一些简单的组件,以便可以在我们公司的多个本地iOS和Android项目中使用它们。
例如,考虑一个通用的登录视图。此视图可以在Flutter中编码一次,然后可以包含到同时具有iOS和Android部件(本机)的项目中。因此,此类通用组件可以使用Flutter编写一次,而不是本机iOS和Android组件编写两次。
到目前为止我尝试过的事情
我已按照https://github.com/flutter/flutter/wiki/Add-Flutter-to-existing-apps的步骤进行操作,并且可以正常工作,但是功能似乎受到很大限制。
我的问题是
答案 0 :(得分:1)
“ 功能似乎受限制”是什么意思?
https://flutter.dev/docs/development/add-to-app列出了这些限制:
第3个限制回答了您的第一个问题。如果您正在考虑将简单组件分别拆分为单独的Flutter库,则不会。您需要将所有组件打包到一个Flutter库中,然后让本地应用程序从池中选择。
对于您的第二个问题,您能否更具体地说明“ 没有本地黑客攻击”的含义?您是否有不能/不能使用FlutterViewController的原因?
关于在本机和Flutter之间传递数据的第三个问题将涉及https://flutter.dev/docs/development/platform-integration/platform-channels
从Flutter到本机,这是一个Android示例https://stackoverflow.com/a/49308193/6668797,传递了值“ text”:
truncate(tableTD[i].textContent, 60)
从本地到Flutter,您使用// flutter side, send the data
final String result = await platform.invokeMethod('getBatteryLevel', {"text":text});
// native side, retrieve it
String text = call.argument("text");
将其发送回result.success(batteryLevel);
。