第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

我如何最好地使用 flutters MethodChannel.invokeMenthod

我如何最好地使用 flutters MethodChannel.invokeMenthod

慕田峪4524236 2023-03-02 15:11:13
我有一個 flutter 項目(插件),它也使用一些本機 java 代碼。為了在 dart 和 java 之間進行通信,我使用MethodChannel.invokeMethod. 這在 dart for java 中非常有效,我可以在 java 中提取命名參數(shù)call.argument("name")。然而,另一種方法讓我有點頭疼,因為我需要通過我的方法調(diào)用將可變數(shù)量的參數(shù)傳遞給 dart,但 invokeMethod 僅將“”作為參數(shù)Object。我已經(jīng)看到它只適用于單個參數(shù),如字符串或 int,但我似乎找不到為多個參數(shù)實現(xiàn)它的好方法。我本以為有某種列表對象類型可以作為 invokeMethod 的參數(shù)傳遞,但我無法在任何地方找到它。你們中的任何人都可以提示如何最好地做到這一點嗎?
查看完整描述

1 回答

?
喵喵時光機

TA貢獻1846條經(jīng)驗 獲得超7個贊

您必須將 aMap<String, dynamic>作為單個對象傳遞。(請注意,每個動態(tài)必須是允許的數(shù)據(jù)類型之一。)這在 Java 端顯示為HashMap. 在 Java 端有有用的 getter 函數(shù)來訪問哈希映射成員。



  static void foo(String bar, bool baz) {

    _channel.invokeMethod('foo', <String, dynamic>{

      'bar': bar,

      'baz': baz,

    });

  }

爪哇


  String bar = call.argument("bar"); // .argument returns the correct type

  boolean baz = call.argument("baz"); // for the assignment

將此答案用于完整大綱,您可以實現(xiàn)相反的方向,例如:


爪哇


  static void charlie(String alice, boolean bob) {

    HashMap<String, Object> arguments = new HashMap<>();

    arguments.put("alice", alice);

    arguments.put("bob", bob);

    channel.invokeMethod("charlie", arguments);

  }


    String alice = methodCall.arguments['alice'];

    bool bob = methodCall.arguments['bob'];


查看完整回答
反對 回復(fù) 2023-03-02
  • 1 回答
  • 0 關(guān)注
  • 112 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號