图书目录

目    录

第 I 部分  Flutter编程基础

第1章  Flutter入门  3

1.1  Flutter简介  4

1.2  理解Widget生命周期事件  5

1.2.1  StatelessWidget生命周期  5

1.2.2  StatefulWidget生命周期  6

1.3  理解Widget树和Element树  8

1.3.1  StatelessWidget和Element树  9

1.3.2  StatefulWidget和Element树  10

1.4  安装Flutter SDK  13

1.4.1  在macOS上进行安装  13

1.4.2  在Windows上进行安装  15

1.4.3  在Linux上进行安装  17

1.5  配置Android Studio编辑器  19

1.6  本章小结  20

1.7  本章知识点回顾  20

第2章  创建一个Hello World应用  23

2.1  设置项目  23

2.2  使用热重载  27

2.3  使用主题将应用样式化  30

2.3.1  使用全局应用主题  30

2.3.2  将主题用于应用的局部  32

2.4  理解StatelessWidget和StatefulWidget  34

2.5  使用外部包  36

2.5.1  搜索包  36

2.5.2  使用包  37

2.6  本章小结  38

2.7  本章知识点回顾  38

第3章  学习Dart基础知识  39

3.1  为何使用Dart?  39

3.2  代码注释  40

3.3  运行main()入口点  41

3.4  变量引用  41

3.5  变量声明  42

3.5.1  数字  43

3.5.2  String  43

3.5.3  Boolean  43

3.5.4  List  44

3.5.5  Map  44

3.5.6  Runes  45

3.6  使用运算符  45

3.7  使用流程语句  47

3.7.1  if和else  47

3.7.2  三元运算符  48

3.7.3  for循环  48

3.7.4  while和do-while  49

3.7.5  while和break  50

3.7.6  continue  50

3.7.7  switch和case  51

3.8  使用函数  52

3.9  导入包  53

3.10  使用类  54

3.10.1  类继承  57

3.10.2  类混合  57

3.11  实现异步编程  58

3.12  本章小结  59

3.13  本章知识点回顾  60

第4章  创建一个初学者项目模板  61

4.1  创建和组织文件夹与文件  61

4.2  结构化Widget  64

4.3  本章小结  69

4.4  本章知识点回顾  70

第5章  理解Widget树  71

5.1  Widget介绍  71

5.2  构建完整的Widget树  73

5.3  构建浅层Widget树  80

5.3.1  使用常量进行重构  80

5.3.2  使用方法进行重构  81

5.3.3  使用Widget类进行重构  87

5.4  本章小结  95

5.5  本章知识点回顾  95

第 II 部分  充当媒介的Flutter:具象化一个应用

第6章  使用常用Widget  99

6.1  使用基础Widget  99

6.1.1  SafeArea  103

6.1.2  Container  104

6.1.3  Text  108

6.1.4  RichText  109

6.1.5  Column  111

6.1.6  Row  112

6.1.7  Button  117

6.2  使用图片和图标  129

6.2.1  AssetBundle  129

6.2.2  Image  129

6.2.3  Icon  131

6.3  使用装饰  134

6.4  使用Form Widget验证文本框  139

6.5  检查设备方向  143

6.6  本章小结  150

6.7  本章知识点回顾  150

第7章  为应用添加动画效果  151

7.1  使用AnimatedContainer  151

7.2  使用AnimatedCrossFade  155

7.3  使用AnimatedOpacity  160

7.4  使用AnimationController  164

7.5  本章小结  175

7.6  本章知识点回顾  176

第8章  创建应用的导航  177

8.1  使用Navigator  178

8.2  使用Hero(飞行)动画  189

8.3  使用BottomNavigationBar  194

8.4  使用BottomAppBar  201

8.5  使用TabBar和TabBarView  205

8.6  使用Drawer和ListView  211

8.7  本章小结  221

8.8  本章知识点回顾  222

第9章  创建滚动列表和效果  223

9.1  使用Card  223

9.2  使用ListView和ListTile  225

9.3  使用GridView  232

9.3.1  使用GridView.count  234

9.3.2  使用GridView.extent  235

9.3.3  使用GridView.builder  236

9.4  使用Stack  240

9.5  使用Sliver(薄片)自定义CustomScrollView  247

9.6  本章小结  256

9.7  本章知识点回顾  256

第10章  构建布局  257

10.1  布局的概要视图  257

10.1.1  天气区域布局  259

10.1.2  标签布局  259

10.1.3  页脚图片布局  260

10.1.4  最终布局  260

10.2  创建布局  261

10.3  本章小结  269

10.4  本章知识点回顾  269

第11章  应用交互性  271

11.1  设置GestureDetector:基本处理  271

11.2  实现Draggable和DragTarget Widget  278

11.3  使用GestureDetector检测移动和缩放  282

11.4  使用InkWell和InkResponse手势  293

11.5  使用Dismissible Widget  299

11.6  本章小结  306

11.7  本章知识点回顾  307

第12章  编写平台原生代码  309

12.1  理解平台通道  309

12.2  实现客户端平台通道应用  310

12.3  实现iOS主机端平台通道  315

12.4  实现Android主机端平台通道  319

12.5  本章小结  323

12.6  本章知识点回顾  324

第 III 部分  创建可用于生产环境的应用

第13章  使用本地持久化保存数据  327

13.1  理解JSON格式  328

13.2  使用数据库类来写入、读取和序列化JSON  330

13.3  格式化日期  331

13.4  对日期列表进行排序  332

13.5  使用FutureBuilder检索数据  333

13.6  构建日记应用  335

13.6.1  添加日记数据库类  339

13.6.2  添加日记条目页  345

13.6.3  完成日记主页面  362

13.7  本章小结  377

13.8  本章知识点回顾  378

第14章  添加Firebase和Firestore后端  381

14.1  Firebase和Cloud Firestore是什么?  382

14.1.1  对Cloud Firestore进行结构化和数据建模  383

14.1.2  查看Firebase身份验证能力  385

14.1.3  查看Cloud Firestore安全规则  387

14.2  配置Firebase项目  388

14.3  添加一个Cloud Firestore数据库并实现安全规则  395

14.4  构建客户端日记应用  398

14.4.1  将身份验证和Cloud Firestore包添加到客户端应用  399

14.4.2  为客户端应用添加基础布局  405

14.4.3  为客户端应用添加类  409

14.5  本章小结  412

14.6  本章知识点回顾  413

第15章  为Firestore客户端应用添加状态管理  415

15.1  实现状态管理  416

15.1.1  实现一个抽象类  417

15.1.2  实现InheritedWidget  419

15.1.3  实现模型类  420

15.1.4  实现服务类  421

15.1.5  实现BLoC模式  422

15.1.6  实现StreamController、Stream、Sink和StreamBuilder  423

15.2  构建状态管理  425

15.2.1  添加Journal模型类  427

15.2.2  添加服务类  428

15.2.3  添加Validators类  435

15.2.4  添加BLoC模式  436

15.3  本章小结  455

15.4  本章知识点回顾  455

第16章  为Firestore客户端应用页面添加BLoC  457

16.1  添加登录页  458

16.2  修改主页面  464

16.3  修改主页  468

16.4  添加编辑日记页面  476

16.5  本章小结  489

16.6  本章知识点回顾  490