【问题标题】:What is the Dart equivalent of Java byte[]Java byte[] 的 Dart 等价物是什么
【发布时间】:2018-08-07 13:29:59
【问题描述】:

我正在尝试使用 Flutter,需要为 Android 和 iOS 制作一个插件包,并且已经开始使用 Android。我需要与之通信的 Android Java 代码使用字节数组 (byte[]) 作为其某些方法的输入和返回类型。这在 Dart 中映射到什么?

【问题讨论】:

标签: dart flutter


【解决方案1】:

这是平台通道的标准类型映射:

https://flutter.io/platform-channels/#codec

在 Android 上,byte[] 映射到 Uint8List

【讨论】:

    【解决方案2】:

    Dart 有一个 dart:typed_data 核心库正是为此目的:

    https://api.dartlang.org/stable/1.24.3/dart-typed_data/dart-typed_data-library.html

    我不能 100% 确定这如何映射到 Flutter 插件模型,尽管我怀疑 Flutter 用户或开发人员可以填写我们:)

    【讨论】:

      【解决方案3】:

      你可以像这样使用List<int>

      List<int> data = [102, 111, 114, 116, 121, 45, 116, 119, 111, 0];
      

      Uint8List 像这样:

      // import 'dart:typed_data';
      
      Uint8List data = Uint8List.fromList([102, 111, 114, 116, 121, 45, 116, 119, 111, 0]);
      

      还可以查看ByteBuilderByteDataByteBuffer 了解更多字节操作选项。阅读Working with bytes in Dart了解更多信息。

      【讨论】:

        猜你喜欢
        • 2021-10-18
        • 2014-10-08
        • 2020-07-17
        • 2019-07-17
        • 1970-01-01
        • 1970-01-01
        • 2020-08-16
        • 1970-01-01
        • 2016-04-10
        相关资源
        最近更新 更多