扫二维码与项目经理沟通
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流
之前开发了一个纯Flutter的项目,结果接到个新的需求需要使用Flutter单独开一个模块集成到原有的android项目中
成都创新互联专业为企业提供忠县网站建设、忠县做网站、忠县网站设计、忠县网站制作等企业网站建设、网页设计与制作、忠县企业网站模板建站服务,10年忠县做网站经验,不只是建网站,更提供有价值的思路和整体网络服务。
下面分享一下如何集成现有的项目和如何继承以及碰到的问题
1.首先第一步 修改gradle
因为 Flutter 当前仅支持为 x86_64,armeabi-v7a 和 arm64-v8a 构建预编(AOT)的库 所以我们需要修改gradle的文件限制 APK 中支持的架构,从而避免 libflutter.so找不到引起的崩溃
2.新建一个FlutterModel的工程
2.使用aar文件 因为所有工程统一使用jenkins打包所以我们放在本地肯定是不合适的
说以我们需要 打包aar并上传服务器
上传完成后在android中引用
在开发中遇到的问题
1.关于android和Ios中的跳转传参问题
这个问题在android端还是比较方便的 但是的在Ios端并不怎么好实现
最终决定使用flutter_boost来完成android和Ios与Flutter的通信操作
flutter_boost github地址:
集成文档:
集成文档给出了 但是没有android的 尴尬
下满分享下android的集成
(1)在flutter的 pubspec.yaml工程中添加
(2)修改android工程
使用本地工程的时候需要在工程共添加
使用aar的时候不需要添加
(3)在android工程中添加对应的条状路由配置
(4)在使用默认的flutter_boost启动界面的时候可能碰到状态栏丢失的情况
所以最好集成BoostFlutterActivity写一个新的activity方便处理状态栏和activity进出动画
(5)跳转并传参
//params 传多个参数可以使用json的形式
2.在flutter中的网络框架使用的dio结果在ios的弹出loading的时候出现卡顿现象
解决方式:1.服务换证书 (但是后台太忙暂时没有支持的人员)
2.ios使用原生的loading解决
3.在使用dio的时候出现ios部分手机 网络请求缓慢问题
解决方法:请求的时候使用http 2.0协议
插件地址:
入门参考: flutter 入门及实战
推荐一个网站: 在线json转model 。
如果碰到报错,可能是关键字错误。另外,实际应用中要处理null,否则赋值到组件中会报错。
使用:cached_network_image
如果是空url,就不要访问了,直接使用Image.asset。
列表访问太多的空url,控制台不停的报异常,情况差的时候内存溢出了。
在赋值给Widget,一定要处理好null,否则直接报错。
Inspect Widget:view可能溢出
我写了一本 《Flutter实战》 推荐给大家。
在线阅读地址:
更多内容请移步 《Flutter实战》 。
我们在微信上24小时期待你的声音
解答本文疑问/技术咨询/运营咨询/技术建议/互联网交流