Flutter项目实战

Flutter框架发布至今已近两年,Flutter SDK从2018年12月到2019年底,从1.0到1.12,陆陆续续发布了过10个版本。框架优化,系统上的兼容,API的完善等,让Flutter在众多混合开发框架中显得更加出类拔萃。下面介绍一下,参与到Flutter实战,需要哪些准备。(下面有关内容是基于从Android应用基础开发)

一、确定环境、开发工具

Windows7/Windows10/Mac
8g以上内存、i7处理器
Android Studio3.2+(推荐)、VsCode
Android SDK 19+
Flutter SDK版本v1.9.1+hotfix.6及以上
Dart SDK版本v2.4.0及以上

一、环境搭建

第一步是开发工具下载,按照开发工具版本,一般不存在什么问题;第二步是Flutter SDK、Dart SDK下载;第三方开发工具安装插件级系统环境变量的配置。推荐一个参考环境搭建(包含了Windows和Mac环境)。环境搭建一般存在的问题:下载失败、镜像无法映射、系统环境配置错、版本不一致、Android Studio下缺少Android SDK等。

二、Dart语言基础

如果不了解Dart语言,有过其他编程语言经验(尤其是Java和JavaScript)的话会非常容易上手Dart。当然,如果是iOS开发者,也不用担心,Dart中也有一些与Swift比较相似的特性。但是,由于是不同的角色参与开发和维护项目,Dart基础部分仍需花些时间学习,参与者彼此之间相互学习,有助于提高开发项目的质量和效率。推荐:Dart基础篇深入了解Dart

三、Flutter基础

● 基础、进阶学习(学习、复习指南
● 根据APP常有功能,需要掌握到的一些Flutter知识点:
 1、Flutter Widget的生命周期(例bottomNavigationBar切换页面,页面状态;page可见/不可见时的状态);
 2、Flutter 系统权限申请(permission_handler),其他:webview、notification、player、keyboard;
 3、Flutter 数据存储(sqflite、shared_preferences);
 4、Flutter 全局Loading(自定义加载圈);
 5、APP检查更新、下载;
 6、Flutter页面关闭,如栈中有ABCDEF页面,F页面操作按钮,需显示C,即需要关闭DEF页面(需要使用命名路由)
 7、返回不退出app, android_intent
 8、待续

四、原生开发基础(这里以Android为例)

这里涉及的知识点较多,结合flutter项目,需要掌握的一些点主要有:
● flutter项目创建,Android Studio->File->New->New Flutter Project->默认选Flutter Application->输入项目名称、SDK地址、存储地址->Edit 包名(严格按照规范命名)->完成
● 打开Flutter中Android项目,File->Open->找到flutter项目下的android->选择打开;
● 顶部build,可以选择Clean Project/Rebuild Project,重新编译Android项目(环境中存在多个版本的gradle的时候,有时Clean Project/Rebuild Project依然会报错,这个时候选择File->Invalidate Caches/Restart...);
● android项目下src文件夹下build.gradle文件,包含项目库的依赖、app的属性的声明、打包配置等;
● main目录下的AndroidManifest.xml,权限、key、Android组件的声明;
● MainActivity继承自FlutterActivity,应用入口,初始化工作;
双向交互
Activity的几个生命周期
abiFilters的理解(查看Flutter框架支持的abi:Flutter项目下->build\app\intermediates\transforms\mergeJniLibs\debug\0\lib)

五、调试、打包

● Log输出,在相应代码处输入日志,结合自定义LogUtil(日志输入总开关);
● 断点调试,有两种方式

image.png

 1、在代码行数字旁双击(有红点),选择顶部按钮(Attach Debugger to Android Process),选择运行环境(手机),选择包名,ok,便可以断点调试;
 2、在代码行数字旁双击(有红点),选择顶部按钮(debug),app便会已断点方式重新安装运行
(Android项目可以使用两种方式,我的Flutter插件只支持选择2)
● debug/release打包,底部选择Terminal,输入flutter build apk,边进入打包,输出目标在项目下build\app\outputs\apk,有debug和release包
● 签名,apk签名有多种方式,这里不展开细讲
打包、签名参考

六、心理准备

遇坑是不可避免的事情,甚至遇到些超出解决能力范围的问题,平静心态迎接,通过百度、讨论、改变解决方案等方式处理每一个worring/error。

七、Nice DemoNice Article

学习和掌握了项目实战的知识点后,如果要让项目更好的维护和拓展,扔需学习他人优秀的技巧,最后运用到真实场景中,成为自身的技能。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 194,088评论 5 459
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 81,715评论 2 371
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 141,361评论 0 319
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 52,099评论 1 263
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 60,987评论 4 355
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 46,063评论 1 272
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 36,486评论 3 381
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 35,175评论 0 253
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 39,440评论 1 290
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 34,518评论 2 309
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 36,305评论 1 326
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 32,190评论 3 312
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 37,550评论 3 298
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 28,880评论 0 17
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 30,152评论 1 250
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 41,451评论 2 341
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 40,637评论 2 335

推荐阅读更多精彩内容