目录
第1章移动应用开发技术1
1.1概述1
1.1.1原生开发技术1
1.1.2跨平台开发技术1
1.2Flutter基本架构与特性5
1.2.1基本架构5
1.2.2特性6
1.3Flutter开发环境搭建7
1.3.1搭建Windows系统下的开发环境7
1.3.2搭建Mac OS系统下的开发环境14
第2章Flutter项目结构21
2.1项目结构21
2.1.1第一个Flutter项目21
2.1.2目录结构24
2.2工程架构25
2.2.1工程项目主要文件25
2.2.2Flutter项目调试29
第3章Dart程序设计基础31
3.1Dart语言概述31
3.1.1发展31
3.1.2特点31
3.2基本语法32
3.2.1变量和常量32
3.2.2数据类型35
3.2.3运算符43
3.2.4控制流程46
3.2.5注释50
3.3函数51
3.3.1函数的声明51
3.3.2函数的使用51
3.3.3匿名函数、箭头函数及闭包54
3.4异常55
3.4.1异常的定义55
3.4.2异常的使用56
第4章Dart面向对象程序设计58
4.1类58
4.1.1面向对象的基本特征58
4.1.2类的定义和使用59
4.1.3构造方法60
4.1.4存储器和访问器62
4.2类的继承63
4.2.1继承的定义63
4.2.2父类方法的覆写64
4.2.3继承中的多态65
4.2.4构造方法的调用66
4.3抽象类67
4.3.1抽象类的定义67
4.3.2接口69
4.3.3混入69
第5章Dart高级编程71
5.1泛型71
5.1.1泛型的定义71
5.1.2泛型的使用72
5.2异步75
5.2.1Future75
5.2.2async和await77
5.2.3Stream78
第6章基本组件80
6.1概述80
6.1.1MaterialApp80
6.1.2Scaffold88
6.1.3Widget97
6.2登录界面的设计与实现99
6.2.1Text组件99
6.2.2TextField组件102
6.2.3按钮组件113
6.2.4案例: 登录界面的实现117
6.3注册界面的设计与实现122
6.3.1复选框组件122
6.3.2日期和时间组件126
6.3.3RichText组件131
6.3.4案例: 注册界面的实现133
6.4图片浏览器的设计与实现138
6.4.1单选按钮组件138
6.4.2Image组件141
6.4.3CircleAvatar组件144
6.4.4裁剪组件146
6.4.5Slider组件147
6.4.6案例: 图片浏览器的实现148
第7章布局组件153
7.1概述153
7.1.1单孩子布局组件153
7.1.2多孩子布局组件157
7.2仿今日头条关注页面的设计与实现163
7.2.1开关组件163
7.2.2SingleChildScrollView组件165
7.2.3案例: 关注页面的实现168
7.3仿今日头条展示页面的设计与实现173
7.3.1ListTile组件173
7.3.2ListView组件175
7.3.3RefreshIndicator组件179
7.3.4视频播放插件181
7.3.5页面间传递数据185
7.3.6案例: 展示页面的实现187
第8章数据存储与访问195
8.1概述195
8.1.1keyvalue存储访问机制195
8.1.2File存储访问机制195
8.1.3数据库存储访问机制196
8.1.4网络数据存储访问机制196
8.2睡眠质量测试系统的设计与实现196
8.2.1进度指示组件196
8.2.2shared_preferences插件199
8.2.3案例: 睡眠质量测试系统的实现202
8.3随手拍的设计与实现211
8.3.1对话框组件211
8.3.2BottomSheet组件216
8.3.3Card组件218
8.3.4ExpansionPanel组件219
8.3.5path_provider插件221
8.3.6案例: 随手拍的实现226
8.4实验室安全测试平台的设计与实现238
8.4.1GridView组件239
8.4.2顶部导航标签组件243
8.4.3sqflite插件245
8.4.4实验室安全测试平台的实现251
8.5天气预报系统的设计与实现260
8.5.1表单组件260
8.5.2flutter_webview_plugin插件263
8.5.3http网络请求266
8.5.4HttpClient267
8.5.5原生http请求库270
8.5.6第三方dio请求库273
8.5.7案例: 天气预报系统的实现274
参考文献285