命名 Flutter 插件 EventChannel
Posted
技术标签:
【中文标题】命名 Flutter 插件 EventChannel【英文标题】:Naming a Flutter Plugin 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
?
【问题讨论】:
【参考方案1】:如有疑问,请查看颤振插件仓库。连接插件使用:
@visibleForTesting
static const MethodChannel methodChannel = MethodChannel(
'plugins.flutter.io/connectivity',
);
@visibleForTesting
static const EventChannel eventChannel = EventChannel(
'plugins.flutter.io/connectivity_status',
);
所以,当然是良好实践的一个例子。所以,也许com.rollingfields/alfalfa
和com.rollingfields/alfalfa_events
【讨论】:
谢谢你,理查德! (他们没有使用标准的反向域名约定来命名空间是多么奇怪。)以上是关于命名 Flutter 插件 EventChannel的主要内容,如果未能解决你的问题,请参考以下文章