【问题标题】:Naming a Flutter Plugin EventChannel命名 Flutter 插件 EventChannel
【发布时间】:2019-09-23 16:24:15
【问题描述】:

我用

创建了一个新插件
flutter create --template plugin alfalfa

生成包含lib/alfalfa.dart

import 'dart:async';

import 'package:flutter/services.dart';

class Alfalfa {
  static const MethodChannel _channel =
      const MethodChannel('alfalfa');

  //...
}

我想添加一个EventChannel,以便 Java 和 Objective-C 代码可以回调 Dart 代码。我不知道EventChannel应该叫什么名字。

final EventChannel _eventChannel =
    const EventChannel("com.rollingfields.alfalfa/events");

final EventChannel _eventChannel =
    const EventChannel("alfalfa/events");

还是别的什么?有约定吗?

如果EventChannel 的更好选择是包含反向域的名称,我是否应该将生成的MethodChannel 重命名为com.rollingfields.alfalfa

【问题讨论】:

    标签: flutter flutter-plugin flutter-platform-channel


    【解决方案1】:

    如有疑问,请查看颤振插件仓库。连接插件使用:

      @visibleForTesting
      static const MethodChannel methodChannel = MethodChannel(
        'plugins.flutter.io/connectivity',
      );
    
      @visibleForTesting
      static const EventChannel eventChannel = EventChannel(
        'plugins.flutter.io/connectivity_status',
      );
    

    所以,当然是良好实践的一个例子。所以,也许com.rollingfields/alfalfacom.rollingfields/alfalfa_events

    【讨论】:

    • 谢谢你,理查德! (他们没有使用标准的反向域名约定来命名空间是多么奇怪。)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-21
    • 2020-05-20
    • 1970-01-01
    • 2020-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多