java - 未来java的参数
问题描述
有没有办法Future<String>
通过通道向 Java 发送参数?我有这个代码:
Future<String> returnName(String dbName) async {
return await platform.invokeMethod("getBatteryLevel");
}
我想将参数 dbName 发送到 java。可能吗?感谢帮助!
解决方案
如果可能的话,您可以在官方文档(https://flutter.dev/docs/development/platform-integration/platform-channels)中找到更多详细信息,现在我给您举个例子:
飞镖类
static const platform = const MethodChannel('channel/example');
Future<void> returnName(String dbName) async {
return await platform.invokeMethod("sendDBName", <String, dynamic>{'data': dbName});
}
因此,您正在发送一个值为 dbName 的对象。
Java 类
private static final String CHANNEL = "channel/example";
@Override
public void configureFlutterEngine(@NonNull FlutterEngine flutterEngine) {
GeneratedPluginRegistrant.registerWith(flutterEngine);
new MethodChannel(flutterEngine.getDartExecutor().getBinaryMessenger(), CHANNEL)
.setMethodCallHandler((call, result) -> {
if (call.method.equals("sendDBName")) {
String dbName = call.argument("data");
}
}
}
在这里,您正在接收从 Dart 发送的对象。
推荐阅读
- python - 如何修复 TypeError:元音()缺少所需的位置参数:'filehandle'?
- javascript - 如何使 JSON 响应数据全局化:)
- python - 在mac环境下操作PyInstaller可执行文件时,无法引用Excel工作表
- c# - 碰撞不适用于 Unity 2D 中的标签
- c - 具有字符串顺序的二叉搜索树
- python - 如何更改 Pillow python 中的线条方向?
- sql - 查询按几列分组
- module - 将 `require(file)` 中的值加载到局部变量中
- reactjs - 使用后退按钮时 Nextjs 应用程序中的 React-spring 错误
- javascript - 如何在javascript中使用嵌套对象序列化对象?