命名 Flutter 插件 EventChannel
Naming a Flutter Plugin EventChannel
我用
创建了一个新插件
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 插件库。连接插件使用:
@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 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 插件库。连接插件使用:
@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