本书结合企业级业务场景与案例,通过大量代码的演示和讲解,从小项目到一个相对完整的课程项目,逐步讲解如何使用Flutter框架进行跨平台移动开发。为了便于读者理解,书中的每章都配有讲解视频,适合作为Flutter初学者的入门图书。
第1章Flutter框架学习(14min)
1.1Flutter官方网址
1.2Flutter其他学习网址
1.3在线运行Dart和Flutter程序
1.4常用的学习方法
第2章Flutter开发环境搭建(17min)
2.1国内网络环境的配置
2.2Git软件的安装
2.3Java软件的安装和开发环境的配置
2.4Flutter软件的安装和开发环境的配置
2.5集成开发环境的安装和开发环境的配置
2.5.1Android Studio的下载和安装
2.5.2VS Code的下载和安装
2.6手机设备的配置
2.7使用Flutter Doctor命令测试运行环境
第3章Flutter运行环境介绍(12min)
3.1界面的介绍
3.2创建Flutter工程
3.3VS Code中Flutter编辑技巧
3.3.1组件提示功能
3.3.2在Flutter工程中插入和提取组件
3.3.3自动导入包
3.3.4快捷键的使用
3.4Flutter项目的分析与调试
3.4.1Flutter项目分析
3.4.2程序的调试
3.4.3断言表达式
第4章Dart语言介绍(43min)
4.1在VS Code中运行Dart语言
4.2Dart语言基础知识
4.2.1日期和时间类的用法
4.2.2符号!、?和??的用法
4.2.3final和const使用区别
4.2.4dynamic 和var的区别
4.2.5late的用法
4.2.6List初始化、添加元素、取值
4.2.7...的用法
4.2.8List循环输出、匿名函数、箭头函数
4.2.9List.generate的用法
4.2.10Set的用法
4.2.11Map的用法
4.2.12fold的用法
4.3面向对象编程
4.3.1类的定义
4.3.2类的执行
4.3.3类的继承
4.3.4默认参数、可选参数、位置参数
4.3.5混入Mixins
4.3.6..的用法
4.3.7异常Exception
4.4异步操作
4.4.1什么是异步
4.4.2Future异步的实现
4.4.3Streams流操作
第5章Flutter框架基本组件的使用(51min)
5.1Flutter架构组成
5.2MaterialApp Flutter材质应用
5.3Scaffold脚手架
5.4标题栏的显示
5.5Container容器组件
5.6文本Text组件
5.7图标Icon组件
5.8图片Image组件
5.8.1网络图片的显示
5.8.2显示本地图片
5.8.3加载图片过程中,显示进度条信息
5.9Flutter按钮类型
5.9.1TextButton文本按钮
5.9.2OutlinedButton强调按钮
5.9.3ElevatedButton有阴影的按钮
5.9.4IconButton图标按钮
5.9.5FloatingActionButton浮动按钮
第6章理解Flutter组件(15min)
6.1无状态组件类StatelessWidget
6.2有状态组件StateWidget
6.3有状态组件状态类的生命周期
6.4ToggleButtons切换按钮
6.5状态类中的生命周期变化
第7章Flutter样式(57min)
7.1Text文本样式修饰
7.2Container容器修饰类的用法
7.2.1形状修饰ShapeDecoration
7.2.2盒子修饰BoxDecoration
7.3字体的应用
7.4主题的使用
7.5国际化
第8章Flutter布局(58min)
8.1Padding内边距的用法
8.2Margin外边距的用法
8.3Align对齐方式的用法
8.4Center居中组件的用法
8.5Expanded扩展组件的使用
8.6Flexible的使用
8.7Flex的使用
8.8Row行组件的使用
8.9Column列组件的使用
8.10Spacer组件的使用
8.11SingleChildScrollView
8.12屏幕尺寸的获取
8.13屏幕的适配flutter_screenUtil
8.14布局的基本原则
8.15布局中组件视图的使用
第9章仿银行App首页布局实例(50min)
9.1第三方插件的使用
9.2屏幕设计尺寸
9.3标题栏的设计
9.4屏幕内容的滚动显示
9.5按钮功能实现
9.6新闻头条
9.7轮播图的显示
9.8子标题的实现
9.9特色专区
9.10手机充值和网点服务
9.11品牌专区
第10章手势识别和对话框(41min)
10.1Listener监听组件
10.2MouseRegion鼠标区域组件
10.3GestureDetector手势识别组件
10.4Draggable和DragTarget拖曳组件
10.5InkWell和InkResponse响应组件
10.6Dialog对话框的使用
10.6.1Dialog对话框基本用法
10.6.2AlertDialog
10.6.3SimpleDialog
10.7SnackBar底部信息提示框
第11章跳转、路由(37min)
11.1Navigator类的使用
11.1.1页面的跳转和返回
11.1.2从一个页面返回数据
11.1.3将数据传递到新的页面
11.2使用命名路由
11.3onGenerateRoute的用法
11.4路由的更高级用法
11.5第三方路由导航插件Fluro
第12章JSON和Dio数据处理(17min)
12.1JSON数据格式及解析
12.2将JSON解析为Dart对象
12.3通过Dio请求数据
第13章表单和验证(60min)
13.1TextFormField文本框的使用
13.1.1文本框的实现
13.1.2得到文本框的值
13.1.3带有验证功能的表单
13.2和服务器端的交互——注册功能的实现
13.3表单中的异步处理
13.4日期和时间组件
13.5下拉列表、复选框、单选按钮
13.5.1下拉列表Dropdown
13.5.2复选框CheckBox
13.5.3单选按钮Radio
13.6开关组件Switch
13.7Slider滑块的使用
13.8单选或复选组件的使用
第14章Flutter高级控件的使用(128min)
14.1Card卡片组件
14.2PageView组件
14.3Stack组件
14.4ListView组件
14.4.1ListView()的使用
14.4.2ListView.separated()的使用
14.4.3Dismissible可以滑动删除某一项
14.5Drawer抽屉组件
14.6GridView网格视图组件
14.6.1固定数量平铺的网格视图
14.6.2大量网格视图的显示
14.7TabBar选项卡式布局
14.7.1选项卡在上面的布局
14.7.2选项卡在底部的布局
14.7.3图片的左右滑动效果
14.8CustomScrollView自定义滚动视图
14.9可滚动组件滚动控制及监听
14.9.1滚动控制器ScrollController
14.9.2滚动通知和监听
第15章Flutter动画(32min)
15.1隐式动画
15.1.1AnimatedContainer 对容器的属性进行动画显示
15.1.2TweenAnimationBuilder的使用
15.2显式动画
15.2.1AlignTransition显式动画
15.2.2AnimatedBuilder的用法
15.2.3显式动画和隐式动画的区别
15.3组件动画Hero
15.4TweenSequence的用法
15.5页面间跳转实现动画效果
15.6自定义绘图及动画
15.6.1自定义绘图
15.6.2实现自定义绘图的动画效果
15.6.3动画的视图调试
15.7第三方动画实现方式
第16章数据存储与访问(28min)
16.1shared_preferences插件的使用
16.2文件读写
16.3SqLite的使用
16.3.1SQL语法及常用的用法
16.3.2使用第三方插件sqlflite创建记事本
第17章Flutter状态管理(25min)
17.1为什么要使用状态管理
17.2什么是状态
17.3使用InheritedWidget实现数据共享
17.4使用InheritedModel实现局部刷新
17.5使用Provider管理状态
17.5.1Provider的基本使用
17.5.2Provider读取方式
17.5.3ChangeNotifierProvider监听值的变化
17.5.4通过FutureProvider异步加载数据
17.5.5使用StreamProvider得到时间流
第18章心情驿站系统框架的搭建(51min)
18.1系统结构
18.2工程结构图
18.3公共组件
18.4第三方插件
18.5程序的入口类main.dart
18.6跳转到启动页面
18.7网络连接的实现
18.8注册功能的实现
18.9主页面底部选项卡的实现
18.10选项卡文本点滴的实现
18.11选项卡中图片美景的实现
18.12选项卡“我的”的实现
18.12.1“我的”主程序界面的实现
18.12.2关于功能的实现
18.12.3主题的修改
18.12.4我的收藏功能实现
18.12.5个人设置功能的实现
18.13修改应用程序图标
附录A
A.1Postman的使用
A.2后台服务器JSON数据
参考文献