程序包是一个命名空间, 其中包含一组相似类型的类, 接口和子程序包。我们可以认为包类似于计算机上的不同文件夹, 其中我们可以将电影保存在一个文件夹中, 将图像保存在另一个文件夹中, 将软件保存在另一个文件夹中, 等等。在Flutter中, Dart通过一个包来组织和共享一组功能。 Flutter始终支持共享软件包, 这是其他开发人员为Flutter and Dart生态系统贡献的。这些软件包使我们能够构建应用程序, 而不必从头开始开发所有内容。
该包的一般结构如下所示(将演示包假定为mycustom_package):
lib / src / *:它包含私有Dart代码文件。
lib / mydemo_package.dart:这是Dart主代码文件。我们可以将其导入到应用程序中, 如下所示:
import 'package:mycustom_package/mycustom_package.dart'
我们还可以按照以下语法将任何其他代码文件导出到主代码文件中:
Export src/my_code.dart
lib / *:这是一个目录, 其中包含程序包中的公共代码。我们可以按以下方式访问此代码:
import 'package:mydemo_package/sub_folder/custom_file.dart'
pubspec.yaml:这是项目的配置文件, 在处理Flutter项目期间将使用很多。该文件包含:
- 项目常规设置, 例如项目的名称, 描述和版本。
- 项目依赖项。
- 项目资产(例如图片)。
包装类型
根据功能, 我们可以将包分为两种类型:
- 飞镖包
- 插件包
Dart程序包:这是一个通用程序包, 它以dart语言编写, 例如path程序包。该软件包可以在Web或移动平台这两种环境中使用。它还包含某些Flutter特定功能, 因此依赖Flutter框架, 例如fluro软件包。
插件程序包:这是一个专用的Dart程序包, 包括以Dart代码编写的API, 并且取决于Flutter框架。可以将其与针对特定平台的特定平台实现相结合, 例如Android(使用Java或Kotlin)和iOS(使用Objective C或Swift)。该软件包的示例是电池和图像选择器插件软件包。
开发Flutter软件包或插件
开发Flutter插件或程序包类似于创建Dart应用程序或Dart程序包。但是, 它有一些例外, 表示插件始终使用特定于平台(例如Android或iOS)的系统API来获取所需的功能。现在, 让我们逐步了解如何在Flutter中开发软件包。
步骤1:首先, 打开Android Studio, 然后点击文件菜单->选择新的Flutter项目。屏幕上将出现一个对话框。
步骤2:在此对话框中, 你需要选择一个New Flutter Project选项, 如下图所示, 然后单击Next。
步骤3:在下一个对话框中, 输入包的所有详细信息, 例如项目名称, 项目位置和项目描述。填写所有详细信息后, 单击完成。
步骤4:最后, 创建你的项目。现在, 打开flutter_custom_package.dart文件, 并删除在创建项目时创建的默认代码。然后插入以下代码。此代码段创建一个警报框包。
library flutter_custom_package;
import 'package:flutter/material.dart';
class CustomPackageAlertBox {
static Future showCustomAlertBox({
@required BuildContext context, @required Widget willDisplayWidget, }) {
assert(context != null, "If context is null!!");
assert(willDisplayWidget != null, "If willDisplayWidget is null!!");
return showDialog(
context: context, builder: (context) {
return AlertDialog(
shape: RoundedRectangleBorder(
borderRadius: BorderRadius.all(Radius.circular(20)), ), content: Column(
mainAxisSize: MainAxisSize.min, children: <Widget>[
willDisplayWidget, MaterialButton(
color: Colors.white70, child: Text('Close Alert'), onPressed: () {
Navigator.of(context).pop();
}, )
], ), elevation: 12, );
});
}
}
现在, 你需要测试新创建的程序包。要测试包, 请创建一个新项目。在此项目中, 首先, 在依赖项部分中打开pubspec.yaml文件和以下代码。
dependencies:
flutter:
sdk: flutter
flutter_custom_package:
path: ../
当你在pubspec.yaml文件中添加自定义程序包时, Android Studio会提醒你更新此文件。要更新文件, 请单击“获取依赖项”, 并确保在文件更新过程中已建立Internet连接。 Android Studio会自动从互联网获取软件包并为你的应用程序进行配置。现在, 你可以使用此程序包了。你可以将包导入到dart文件中, 如下所示:
import 'package: flutter_custom_package/flutter_custom_package.dart';
如何发布程序包
成功实现包后, 可以将其发布在pub.dev上, 以便任何人都可以在项目中轻松使用它。
发布软件包之前, 请确保pubspec.yaml, README.md和CHANGELOG.md文件的内容完整且正确。
接下来, 在终端窗口中运行以下命令以分析软件包的每个阶段。
$ flutter pub publish --dry-run
最后, 你需要运行以下命令来发布程序包。
$ flutter pub publish
评论前必须登录!
注册