| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 移动开发 -> flutter_boost混合开发框架集成教程 -> 正文阅读 |
|
[移动开发]flutter_boost混合开发框架集成教程 |
背景 随着Flutter的发展,国内越来越多的App开始使用Flutter。为了降低风险,大部分App采用渐进式方式引入Flutter,在App里选几个页面用Flutter来编写,但都碰到了相同的问题,在原生页面和Flutter页面共存的情况下,如何管理路由? 官方没有提供这样的解决方案,而FlutterBoost就是为了解决这个问题而生。 开源方案对比 集成流程 flutter配置 flutter配置 ? 第一步:在pubspec.yaml添加依赖 flutter_boost: ? ? ? ? ?git:url: 'https://github.com/alibaba/flutter_boost.git' ? ? ? ? ? ?ref: 'v3.0-null-safety-preview.18' flutter配置 ? 第三步:在flutter的model的main设置路由 flutter配置 ? 第三步:在flutter的model的main设置路由 ? flutter配置 ? 第四步:在flutter的model的main设置FlutterBoostApp路由配置 ? 安卓配置 ? ? 第一步:Application继承FlutterApplication初始化FlutterBoost? ? 安卓配置 ? ? 第二步:MainActivity继承FlutterBoostActivity初始化flutter首页 iOS配置 ? ? 第一步: 1.首先在自己的创建的iOS工程目录下,执行pod init,之后执行一次pod install 2.打开创建的Podfile文件,添加以下代码 flutter_application_path = '../flutter_module' load File.join(flutter_application_path, '.ios', 'Flutter', 'podhelper.rb') install_all_flutter_pods(flutter_application_path) iOS配置 ? ? 第二步: 添加之后,您的Podfile应该类似下面这样 # Uncomment the next line to define a global platform for your project # platform :ios, '9.0' flutter_application_path = '../flutter_module' load File.join(flutter_application_path, '.ios', 'Flutter', 'podhelper.rb') target 'BoostTestIOS' do ?use_frameworks! ?install_all_flutter_pods(flutter_application_path) end 然后再执行pod install,安装完成 iOS配置 ? ? 第三步: 创建BoostDelegate类, 这里面的内容是完全可以自定义的,BoostDelegate类用于定义pushNativeRoute(flutter跳iOS页面)、pushFlutterRoute(iOS跳flutter页面)和popRoute(退出页面)等方法的实现。 class BoostDelegate: NSObject,FlutterBoostDelegate { ? ? ///您用来push的导航栏 ? ? var navigationController:UINavigationController? ? ? ? ? ///用来存返回flutter侧返回结果的表 ? ? var resultTable:Dictionary<String,([AnyHashable:Any]?)->Void> = [:]; 。。。。。。 } iOS配置 ? ? 第四步: 在AppDelegate的didFinishLaunchingWithOptions方法中进行初始化配置 //注册Flutter调原生的插件及设置 let delegate = BoostDelegate() FlutterBoost.instance().setup(application, delegate: delegate) { engine in ? ? let plugin:FlutterBoostPlugin = FlutterBoostPlugin.getPlugin(engine); ? ? plugin.delegate = delegate ? ? if let message = registrar?.messenger() { ///注册插件 ? ? ? ? FBNativeRouterApiSetup(message, plugin as! FBNativeRouterApi) ?? ?} } ? 使用教程: flutter跳转安卓/iOS原生 ? 安卓原生跳转flutter原生 IOS原生跳转flutter原生 ? ? ? ? ? |
|
移动开发 最新文章 |
Vue3装载axios和element-ui |
android adb cmd |
【xcode】Xcode常用快捷键与技巧 |
Android开发中的线程池使用 |
Java 和 Android 的 Base64 |
Android 测试文字编码格式 |
微信小程序支付 |
安卓权限记录 |
知乎之自动养号 |
【Android Jetpack】DataStore |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/24 15:35:33- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |