图书目录

目录

基础篇

第1章Flutter简介

1.1什么是Flutter

1.2Flutter的架构

1.3在macOS下安装Flutter

1.4在macOS下安装Visual Studio Code

1.5在Windows下安装Flutter

1.6在Windows下安装Visual Studio Code

1.7Flutter中的Material Design体系

第2章深入理解Flutter基础知识和小部件概念

2.1创建一个Flutter项目

2.2Flutter目录结构及main文件

2.3Flutter中小部件的概念

2.4创建Flutter小部件

2.5小部件中的build方法

2.6添加Scaffold页面

2.7深入学习Dart语法

2.8使用Card小部件和图片

2.9官方文档及使用按钮RaisedButton

2.10创建StatefulWidget小部件

2.11在StatefulWidget中管理数据

2.12在StatefulWidget小部件中添加数据

2.13把小部件拆分到单独的文件中

2.14使用自定义小部件

2.15给StatefulWidget传递参数

2.16深入学习生命周期

2.17深入学习Google的Material Design设计体系

2.18Dart语言特性及位置参数与可选参数

2.19Flutter中解除状态的特性

2.20理解Dart语言中的final和const

2.21总结

第3章调试Flutter应用程序

3.1解决语法错误

3.2运行时错误和运行时日志消息

3.3处理逻辑错误

3.4使用debug断点调试

3.5UI调试及视觉帮助工具

第4章在不同设备上运行Flutter应用程序

4.1将App运行到Android模拟器上

4.2将Flutter应用运行到Android设备上

4.3将App运行到iOS模拟器和设备上

第5章列表ListView小部件和条件过滤

5.1使用ListView创建滚动列表

5.2优化列表加载功能

5.3根据条件渲染列表内容

5.4根据条件渲染内容的替代方案

5.5总结

第6章Flutter页面导航

6.1在App中添加多个页面

6.2给导航页面添加按钮

6.3实现基本导航功能

6.4优化详情页面

6.5通过Push给页面传递数据

6.6通过Pop获取页面返回的数据

6.7给导航页面中的按钮添加单击事件

6.8添加登录页面并切换页面

6.9抽屉式导航

6.10使用Tab标签页导航页面

6.11命名路径

6.12解析导航路径数据

6.13导航页面的整理与优化

6.14使用导航路径生成器

6.15对话框

6.16模态弹出层

6.17总结

第7章处理用户输入

7.1使用文本框TextField并保存用户输入内容

7.2配置文本框TextField

7.3设置文本框TextField样式

7.4保存文本框中内容

7.5优化文本框显示

7.6使用开关Switch小部件

7.7总结

第8章深入学习Flutter小部件

8.1Flutter官网探索小部件

8.2使用不同的小部件完成同一个目标

8.3文本小部件Text和行小部件Row

8.4修饰小部件BoxDecoration

8.5理解Expanded和Flexible

8.6添加背景图像

8.7图标小部件Icon

8.8封装小部件

8.9重构项目代码

8.10创建标准化的小部件

8.11封装小部件的方法

8.12Flutter中响应式设计

8.13使用MediaQuery

8.14ListView中使用MediaQuery

8.15使用GestureDetector添加监听

8.16总结

第9章Form表单

9.1表单文本框TextFormField

9.2Form表单验证

9.3表单Form的高级验证

9.4关闭设备键盘

9.5提交表单数据

9.6把表单数据保存到列表

9.7重用创建资讯页面

9.8表单设置初始值

9.9更新数据

9.10总结

高级篇

第10章优化Flutter应用功能

10.1优化ListTile

10.2通过Dismissible小部件实现滑动删除

10.3监听滑动手势删除数据及总结

第11章状态集中管理Scope Model

11.1优化Flutter状态管理

11.2自定义实体类

11.3创建Scoped Model

11.4与Scoped Model建立联系

11.5使用Scoped Model编辑和删除

11.6收藏功能

11.7使用notifyListeners()方法

11.8过滤收藏的内容

11.9添加用户实体

11.10使用mix特性合并模型

11.11连接模型和共享数据

11.12总结

第12章Flutter与HTTP

12.1后端服务接口

12.2Flutter发送POST请求

12.3使用请求响应结果

12.4从服务器端获取数据

12.5实现加载条

12.6按钮显示加载条

12.7通过HTTP更新数据

12.8通过HTTP删除内容

12.9下拉页面刷新

12.10占位图片

12.11优化Scoped Model

12.12处理HTTP响应错误

12.13使用async和await

12.14总结

第13章权限认证

13.1Flutter中如何使用权限

13.2确认密码文本框

13.3用户注册

13.4处理注册过程中的异常

13.5用户注册加载条

13.6用户登录

13.7访问受保护资源

13.8存储token

13.9自动登录

13.10用户退出

13.11自动退出

13.12自动退出跳转

13.13优化用户登录

13.14添加收藏功能

13.15获取收藏状态

13.16根据条件显示列表和总结

第14章访问相机和图库

14.1选择图片小部件

14.2使用图片选择器UI

14.3使用ImagePicker选择图片

14.4图片预览

14.5上传图片

14.6上传图片到服务器端

14.7编辑上传的图片

14.8总结

第15章Flutter动画效果

15.1浮动按钮

15.2添加动画效果

15.3旋转动画效果

15.4渐变动画效果

15.5滑动动画效果

15.6Flutter中的Hero和Sliver

15.7自定义切换页面动画效果

第16章优化应用

16.1优化自动退出

16.2优化编辑功能和收藏功能

16.3使用analyze命令优化项目

第17章使用平台特有的小部件

17.1根据平台的不同显示不同的小部件

17.2根据不同的平台显示不同的主题

第18章Flutter跨平台交互

18.1Flutter与原生代码交互

18.2编写Android端原生代码并与Flutter交互

18.3编写iOS端原生代码与Flutter交互

第19章发布Flutter应用

19.1设置应用图标

19.2给App添加闪屏

19.3Android打包和发布

19.4iOS打包和发布

第20章总结与回顾