【发布时间】:2019-06-19 07:09:07
【问题描述】:
我想创建一个可以从 Flutter 调用的基于 Java 的 SDK,Flutter 端需要通过提供回调来插入 SDK,以便在处理的不同阶段执行,理想情况下是这样的:
Future<Result> = doPayment(
amount: 100.00,
currency: 'USD',
onPasscodeEntry: () => _renderInputBox(),
onValidation: () => _doValidation()
);
处理本身需要一些时间等等,所以Future<PaymentResult> 模式是有意义的,应用程序应该对处理的某些点做出反应,所以传入回调是有意义的。
问题:
如何将函数传递给 Java 代码? As far as I can tell all the Java-passable method arguments in Flutter are serializable-ish objects
(不太重要/可选)如何返回 POJO 并在 Dart 中处理它?从the specs 判断,我应该(在Java 中)将结果编码为
ArrayList/HashMap或JSON字符串,然后在Dart 中创建等效的构造函数以接收List/Map?这似乎有点笨拙,所以我问是否有更简单的方法,最好不维护同一对象的 Java 和 Dart 变体
【问题讨论】: