【Flutter】开发 Flutter 包和插件 ( Flutter 包和插件简介 | 创建 Flutter 插件 | 创建 Dart 包 )(一)

简介: 【Flutter】开发 Flutter 包和插件 ( Flutter 包和插件简介 | 创建 Flutter 插件 | 创建 Dart 包 )(一)

文章目录

一、Flutter 包和插件简介

二、创建 Flutter 插件

1、Android Studio 中可视化创建

2、命令行创建

三、创建 Dart 包

1、Android Studio 中可视化创建

2、命令行创建





一、Flutter 包和插件简介


" Flutter 包 " 包含 pubspec.yaml 和 lib 代码目录 ;


pubspec.yaml 配置文件 : 配置各种依赖 , 资源等 ;

lib 目录 : 是 Dart 代码所在目录 ;


Flutter 包的类型 :


Dart 包 : 仅涉及 Dart 代码 , 将 Dart 代码封装一下 , 实现特定功能 , 如解析 JSON 字符串等 , 不涉及到与 Native 应用的交互 ;

插件包 : 是专用的 Dart 包 , 包含 Dart API , 针对 Android 的 Java / Kotlin , 或 针对 iOS 的 Objective-C / Swift 的实现 , 如之前使用的拍照插件包 , 在 Android 平台使用了 Android 相机的代码 , 在 iOS 中调用了 iOS 相机相关功能 ;





二、创建 Flutter 插件



1、Android Studio 中可视化创建


可视化方式创建 " Flutter 包或插件 " :


前提 : Android Studio 中 安装了 Flutter 和 Dart 插件 , 这也是开发 Flutter 的前提 ; 菜单栏选择 " Flie / Settings … " 弹出的如下对话框中 , 选择 " Plugin " 选项 , 如下就是安装了 Flutter 和 Dart 插件 ;

image.png



在 菜单栏 选择 " File / New / New Flutter Project… " 选项 ;

image.png



在弹出的如下对话框中 , 选择 " Flutter Plugin " 就是创建 Flutter 插件 , 这里选择创建 Flutter 插件 ;


( 如果选择 " Flutter Package " , 就是创建 Flutter 包 )


image.png


输入 Flutter 插件名称 , 然后点击 " Finish " 完成创建 ;


image.png


插件包创建完毕 :


image.png


插件包目录结构介绍 :


lib : Dart 代码目录 , 在默认生成的 flutter_plugin.dart 代码中 , 使用了 MethodChannel 与 Android / iOS 本地应用进行通信 ;

pubspec.yaml : 配置了依赖 , 以及相关说明 ;

android : 存放插件中 Android 部分代码 ; android\src\main\kotlin\com\example\flutter_plugin 目录中的 FlutterPlugin.kt 就是 Android 对应的插件 ; Android 开发者可以开发 android 目录下的代码 , 开发 Android 平台的对应功能 ;

ios : 存放插件中 iOS 部分代码 ; ios\Classes 目录中的 FlutterPlugin.m 就是 iOS 中对应的插件 ; iOS 开发者可以开发 iOS 目录下的代码 , 开发 iOS 平台的对应功能 ;


Flutter 与本地应用通信参考 【Flutter】Flutter 混合开发 ( Flutter 与 Native 通信 | 完整代码示例 ) 代码 ;



2、命令行创建


执行如下命令 , 创建 组织名为 com.example , 名称是 flutter_plugin 的 Flutter 插件包 ;


flutter create --org com.example --template=plugin flutter_plugin


--org 设置组织名 , 即 Android 中的包名 ;

--template 设置当前创建的工程类型 , plugin 表示 Flutter 插件包 ;

flutter_plugin 表示插件包的名称 ;

image.png



D:\flutter>flutter create --org com.example --template=plugin flutter_plugin
Creating project flutter_plugin...
  flutter_plugin\.gitignore (created)
  flutter_plugin\.idea\libraries\Dart_SDK.xml (created)
  flutter_plugin\.idea\modules.xml (created)
  flutter_plugin\.idea\runConfigurations\example_lib_main_dart.xml (created)
  flutter_plugin\.idea\workspace.xml (created)
  flutter_plugin\.metadata (created)
  flutter_plugin\CHANGELOG.md (created)
  flutter_plugin\lib\flutter_plugin.dart (created)
  flutter_plugin\LICENSE (created)
  flutter_plugin\flutter_plugin.iml (created)
  flutter_plugin\pubspec.yaml (created)
  flutter_plugin\README.md (created)
  flutter_plugin\test\flutter_plugin_test.dart (created)
Running "flutter pub get" in flutter_plugin...                     721ms
  flutter_plugin\example\.gitignore (created)
  flutter_plugin\example\.idea\libraries\Dart_SDK.xml (created)
  flutter_plugin\example\.idea\libraries\KotlinJavaRuntime.xml (created)
  flutter_plugin\example\.idea\modules.xml (created)
  flutter_plugin\example\.idea\runConfigurations\main_dart.xml (created)
  flutter_plugin\example\.idea\workspace.xml (created)
  flutter_plugin\example\.metadata (created)
  flutter_plugin\example\lib\main.dart (created)
  flutter_plugin\example\flutter_plugin_example.iml (created)
  flutter_plugin\example\pubspec.yaml (created)
  flutter_plugin\example\README.md (created)
  flutter_plugin\example\test\widget_test.dart (created)
Running "flutter pub get" in example...                            758ms
Wrote 25 files.
All done!
Your plugin code is in flutter_plugin\lib\flutter_plugin.dart.
You example app code is in flutter_plugin\example\lib\main.dart.
You've created a plugin project that doesn't yet support any platforms.
To add platforms, run `flutter create -t plugin --platforms <platforms> .` under flutter_plugin.
For more information, see https://flutter.dev/go/plugin-platforms.
D:\flutter>


目录
相关文章
|
9天前
|
传感器 前端开发 Android开发
在 Flutter 开发中,插件开发与集成至关重要,它能扩展应用功能,满足复杂业务需求
在 Flutter 开发中,插件开发与集成至关重要,它能扩展应用功能,满足复杂业务需求。本文深入探讨了插件开发的基本概念、流程、集成方法、常见类型及开发实例,如相机插件的开发步骤,同时强调了版本兼容性、性能优化等注意事项,并展望了插件开发的未来趋势。
23 2
|
1月前
|
Dart
flutter dart mixin 姿势
flutter dart mixin 姿势
|
2月前
|
Dart 开发者 Windows
flutter:dart的学习
本文介绍了Dart语言的下载方法及基本使用,包括在Windows系统上和VSCode中的安装步骤,并展示了如何运行Dart代码。此外,还详细说明了Dart的基础语法、构造函数、泛型以及库的使用方法。文中通过示例代码解释了闭包、运算符等概念,并介绍了Dart的新特性如非空断言操作符和延迟初始化变量。最后,提供了添加第三方库依赖的方法。
31 12
|
2月前
|
开发者
鸿蒙Flutter实战:07-混合开发
鸿蒙Flutter混合开发支持两种模式:1) 基于har包,便于主项目开发者无需关心Flutter细节,但不支持热重载;2) 基于源码依赖,利于代码维护与热重载,需配置Flutter环境。项目结构包括AppScope、flutter_module等目录,适用于不同开发需求。
83 3
|
27天前
|
传感器 开发框架 物联网
鸿蒙next选择 Flutter 开发跨平台应用的原因
鸿蒙(HarmonyOS)是华为推出的一款旨在实现多设备无缝连接的操作系统。为了实现这一目标,鸿蒙选择了 Flutter 作为主要的跨平台应用开发框架。Flutter 的跨平台能力、高性能、丰富的生态支持和与鸿蒙系统的良好兼容性,使其成为理想的选择。通过 Flutter,开发者可以高效地构建和部署多平台应用,推动鸿蒙生态的快速发展。
176 0
|
29天前
|
Dart 安全 UED
Flutter&鸿蒙next中的表单封装:提升开发效率与用户体验
在移动应用开发中,表单是用户与应用交互的重要界面。本文介绍了如何在Flutter中封装表单,以提升开发效率和用户体验。通过代码复用、集中管理和一致性的优势,封装表单组件可以简化开发流程。文章详细讲解了Flutter表单的基础、封装方法和表单验证技巧,帮助开发者构建健壮且用户友好的应用。
66 0
|
2月前
|
编解码 Dart API
鸿蒙Flutter实战:06-使用ArkTs开发Flutter鸿蒙插件
本文介绍了如何开发一个 Flutter 鸿蒙插件,实现 Flutter 与鸿蒙的混合开发及双端消息通信。通过定义 `MethodChannel` 实现 Flutter 侧的 token 存取方法,并在鸿蒙侧编写 `EntryAbility` 和 `ForestPlugin`,使用鸿蒙的首选项 API 完成数据的读写操作。文章还提供了注意事项和参考资料,帮助开发者更好地理解和实现这一过程。
75 0
|
2月前
|
Dart Android开发
鸿蒙Flutter实战:03-鸿蒙Flutter开发中集成Webview
本文介绍了在OpenHarmony平台上集成WebView的两种方法:一是使用第三方库`flutter_inappwebview`,通过配置pubspec.lock文件实现;二是编写原生ArkTS代码,自定义PlatformView,涉及创建入口能力、注册视图工厂、处理方法调用及页面构建等步骤。
61 0
|
Dart Android开发
flutter开发中的几个小技巧
我的tabBar有一个StatelessWidget小部件,其中包含2个statefulWidgets。事实是,当单击管理器以查看我的所有选项卡时(默认情况下在我的第一个选项卡上登陆),tab1小部件生成器一直被调用。
153 0
|
Android开发
flutter开发小技巧
flutter - URL出现在网站名称的位置 从Android Studio运行时:
163 0