Flutter入门与实践
全新正版 极速发货
¥
89.85
7.0折
¥
129
全新
仅1件
作者(美)亚历山德罗·比萨克
出版社清华大学出版社
ISBN9787302557050
出版时间2020-06
装帧平装
开本32开
定价129元
货号1202106969
上书时间2024-06-28
商品详情
- 品相描述:全新
- 商品描述
-
目录
部分 Dart语言简介
章 Dart语言概述 3
1.1 Dart语言 3
1.1.1 Dart语言的发展史 4
1.1.2 Dart语言的工作方式 4
1.1.3 Dart语言的基本语法和工具 5
1.2 Flutter与Dart 8
1.2.1 提升生产力 8
1.2.2 易于学习 9
1.2.3 成熟度 11
1.3 Dart语言的结构 12
1.3.1 Dart运算符 13
1.3.2 数据类型和变量 16
1.3.3 类型推断—动态机制 19
1.3.4 控制流和循环 20
1.3.5 函数 21
1.3.6 数据结构、集合和泛型 24
1.3.7 泛型 24
1.3.8 泛型的使用原因和时机 24
1.3.9 泛型和Dart字面值 25
1.4 Dart中的面向对象编程 26
1.4.1 Dart面向对象特性 26
1.4.2 封装 27
1.4.3 继承 28
1.4.4 抽象 28
1.4.5 多态 28
1.5 本章小结 28
1.6 进一步阅读 29
第2章 Dart中级编程 31
2.1 Dart类和构造方法 31
2.1.1 枚举类型 32
2.1.2 级联符号 33
2.1.3 构造方法 34
2.1.4 字段访问器—get和set 36
2.1.5 静态字段和方法 37
2.1.6 类继承机制 39
2.2 抽象类、接口和混入 40
2.2.1 抽象类 41
2.2.2 接口 42
2.2.3 混入—向类中添加行为 43
2.2.4 可调用的类、很好函数和变量 45
2.3 理解Dart库和包 47
2.3.1 导入机制和库的使用 47
2.3.2 创建Dart库 51
2.3.3 Dart包 58
2.3.4 包结构 59
2.3.5 Stagehand—Dart项目生成器 61
2.3.6 pubspec文件 62
2.3.7 包依赖关系—pub 64
2.4 基于Future和Isolate的异步编程 68
2.4.1 Dart Future 68
2.4.2 Dart Isolate 72
2.5 基于Dart的单元测试 73
2.5.1 Dart test包 74
2.5.2 单元测试 74
2.6 本章小结 76
第3章 Flutter简介 79
3.1 移动应用程序开发框架间的比较 79
3.1.1 Flutter解决的问题 80
3.1.2 现有框架间的差异 80
3.2 Flutter编译(Dart) 85
3.2.1 开发编译 86
3.2.2 发布编译 86
3.2.3 所支持的平台 86
3.3 Flutter渲染机制 86
3.3.1 Web技术 87
3.3.2 框架和OEM微件 88
3.3.3 自身的渲染机制 88
3.4 微件简介 89
3.4.1 可组合性 89
3.4.2 不可变性 90
3.4.3 一切均是微件 90
3.5 Hello Flutter 92
3.5.1 pubspec文件 94
3.5.2 运行生成后的项目 96
3.6 本章小结 99
第2部分 Flutter界面— 一切均为微件
第4章 微件—在Flutter构建布局 103
4.1 无状态/有状态微件 103
4.1.1 无状态微件 103
4.1.2 有状态微件 104
4.1.3 代码中的无状态微件和有状态微件 105
4.1.4 继承的微件 109
4.1.5 微件中的key属性 110
4.2 内建微件 111
4.2.1 基本微件 111
4.2.2 Text微件 111
4.2.3 Image微件 112
4.2.4 材料设计和iOS Cupertino微件 113
4.3 内建布局微件 116
4.3.1 容器 116
4.3.2 样式和定位 117
4.3.3 其他微件(手势、动画和转换) 117
4.4 利用微件创建UI(Friend Favors管理器应用程序) 117
4.4.1 应用程序屏幕 118
4.4.2 应用程序代码 118
4.4.3 应用程序主屏幕 119
4.4.4 请求任务屏幕 127
4.5 创建自定义微件 131
4.6 本章小结 132
第5章 处理用户手势和输入 133
5.1 处理用户手势 133
5.1.1 指针 133
5.1.2 手势 134
5.1.3 Material Design微件中的手势 138
5.2 输入微件 139
5.2.1 FormField和TextField 139
5.2.2 Form微件 141
5.3 验证输入(Form) 143
5.4 自定义输入和FormField 144
5.4.1 创建自定义输入 144
5.4.2 自定义输入微件示例 144
5.5 整合工作 148
5.5.1 任务屏幕 149
5.5.2 任务请求屏幕 154
5.6 本章小结 157
第6章 主题和样式 159
6.1 主题微件 159
6.1.1 Theme微件 159
6.1.2 主题的应用 162
6.1.3 Platform类 164
6.2 Material Design准则 165
6.2.1 MaterialApp微件 166
6.2.2 Scaffold微件 167
6.2.3 自定义主题 168
6.3 iOS Cupertino 171
6.3.1 CupertinoApp 171
6.3.2 Cupertino应用 172
6.4 使用自定义字体 173
6.4.1 将字体导入Flutter项目中 173
6.4.2 在应用程序中重载默认的字体 175
6.5 基于LayoutBuilder和MediaQuery的动态样式 175
6.5.1 LayoutBuilder 176
6.5.2 Medi Query 178
6.5.3 其他响应类 181
6.6 本章小结 182
第7章 路由机制—屏幕间的导航 183
7.1 Navigator微件 183
7.1.1 Navigator 183
7.1.2 Overlay 184
7.1.3 路由 184
7.1.4 MaterialPageRoute和CupertinoPageRoute 185
7.1.5 整合操作 185
7.1.6 WidgetsApp方式 189
7.2 命名路由 190
7.2.1 移至命名路由 190
7.2.2 从Route中检索结果 192
7.3 屏幕过渡 194
7.3.1 PageRouteBuilder 194
7.3.2 自定义过渡转换操作 195
7.4 Hero动画 196
7.4.1 Hero微件 196
7.4.2 实现Hero转换 197
7.5 本章小结 204
第3部分 开发全功能的应用程序
第8章 Firebase插件 207
8.1 Firebase概述 207
8.1.1 设置Firebase 208
8.1.2 将Flutter应用程序连接至Firebase 210
8.2 Firebase身份验证 214
8.2.1 在Firebase中启用身份验证服务 215
8.2.2 身份验证屏幕 217
8.2.3 利用Firebase进行登录 218
8.3 基于Cloud Firestore的NoSQL数据库 222
8.3.1 启用Firebase上的Cloud Firestore 223
8.3.2 Cloud Firestore和Flutter 224
8.3.3 从Firestore中加载帮助任务 225
8.3.4 更新Firebase中的帮助任务 228
8.3.5 在Firebase上保存一项帮助任务 228
8.4 基于Firebase Storage的Cloud Storage 230
8.4.1 Firebase Storage简介 231
8.4.2 添加Flutter存储依赖关系 231
8.4.3 向Firebase上传文件 232
8.5 Firebase AdMob和广告 235
8.5.1 AdMob账户 235
8.5.2 创建一个AdMob账户 235
8.5.3 Flutter中的AdMob 238
8.5.4 在Flutter中显示广告 240
8.6 基于Firebase ML Kit的机器学习 243
8.6.1 向Flutter中添加ML Kit 243
8.6.2 在Flutter中使用标记检测器 243
8.7 本章小结 246
第9章 构建自己的Flutter插件 247
9.1 创建包/插件项目 247
9.1.1 Dart包和Flutter包 247
9.1.2 启动一个Dart包项目 248
9.1.3 Flutter插件包 249
9.2 插件项目结构 250
9.2.1 MethodChannel类 251
9.2.2 实现Android插件 252
9.2.3 实现iOS插件 253
9.2.4 Dart API 254
9.2.5 插件包示例 254
9.2.6 使用插件 255
9.3 向包中添加文档 256
9.3.1 文档文件 256
9.3.2 库文档 257
9.3.3 生成文档 257
9.4 发布包 258
9.5 插件开发中的一些建议 258
9.6 本章小结 259
0章 从Flutter应用程序访问设备功能 261
10.1 从应用程序启动一个URL 261
10.1.1 显示链接 262
10.1.2 打开一个链接 263
10.2 管理应用程序权限 265
10.2.1 管理Flutter上的权限 266
10.2.2 使用permission_handler插件 266
10.3 导入联系人 267
10.3.1 利用contact_picker导入联系人 267
10.3.2 基于permission_handler的联系人权限 270
10.4 集成相机设备 271
10.4.1 利用image_picker拍摄照片 272
10.4.2 基于permission_handler的相机权限 273
10.5 本章小结 275
1章 平台视图和地图集成 277
11.1 显示一幅地图 277
11.1.1 平台视图 277
11.1.2 创建平台视图微件 279
11.1.3 google_maps_flutter插件 284
11.1.4 利用google_maps_flutter显示一幅地图 286
11.2 向地图中添加标记 291
11.2.1 Marker类 291
11.2.2 向GoogleMap微件中添加标记 291
11.3 添加地图交互行为 293
11.3.1 动态添加标记 294
11.3.2 GoogleMapController 295
11.3.3 获取GoogleMapController 295
11.3.4 地图相机与位置间的动画效果 295
11.4 使用Google Places API 296
11.4.1 启用Google Places API 296
11.4.2 google_maps_webservice插件 297
11.4.3 利用google_maps_webservice插件获取地址 297
11.5 本章小结 300
第4部分 复杂应用程序的不错资源
2章 测试、调试和开发 303
12.1 Flutter测试—单元和微件测试 303
12.1.1 微件测试 303
12.1.2 flutter_test包 304
12.1.3 testWidgets()函数 304
12.1.4 微件测试示例 304
12.2 调试Flutter应用程序 306
12.2.1 Observatory工具 306
12.2.2 附加的调试特性 308
12.2.3 DevTools 309
12.3 分析Flutter应用程序 310
12.3.1 Observatory分析器 310
12.3.2 profile模式 311
12.4 Flutter微件树 313
12.5 应用程序开发的准备阶段 314
12.5.1 release模式 315
12.5.2 发布Android应用程序 315
12.5.3 发布iOS应用程序 320
12.6 本章小结 322
3章 改进用户体验 323
13.1 Flutter中的可访问性以及翻译功能 323
13.1.1 Flutter的访问支持 323
13.1.2 Flutter国际化 324
13.1.3 向Flutter应用程序中添加本地化功能 325
13.2 基于平台通道的本地和Flutter间的通信 330
13.2.1 平台通道 331
13.2.2 消息编码解码 333
13.3 创建后台进程 333
13.3.1 Flutter中的compute()函数 334
13.3.2 compute()函数示例 335
13.3.3 后台进程 336
13.3.4 初始化计算 337
13.4 添加Android代码并在后台运行Dart代码 339
13.4.1 HandsOnBackgroundProcessPlugin类 340
13.4.2 BackgroundProcessService类 341
13.5 添加iOS代码并于后台运行Dart代码 345
13.6 本章小结 350
4章 微件图形控制 351
14.1 利用Transform类转换微件 351
14.1.1 Transform微件 351
14.1.2 Matrix4类 352
14.2 转换类型 353
14.2.1 旋转转换 353
14.2.2 缩放转换 354
14.2.3 平移转换 355
14.2.4 组合转换 356
14.3 转换微件 357
14.3.1 旋转微件 357
14.3.2 缩放微件 358
14.3.3 平移微件 359
14.3.4 使用多重转换 359
14.4 使用自定义画笔和画布 360
14.4.1 Canvas类 360
14.4.2 CustomPaint微件 362
14.4.3 CustomPainter对象 363
14.5 示例 364
14.5.1 定义微件 364
14.5.2 定义CustomPainter 365
14.6 射线图的变化版本 368
14.6.1 定义微件 369
14.6.2 定义CustomPainter 370
14.7 本章小结 373
5章 插件的动画效果 375
15.1 动画简介 375
15.1.1 Animation类 375
15.1.2 AnimationController类 376
15.1.3 TickerProvider和Ticker 377
15.1.4 CurvedAnimation类 377
15.1.5 Tween类 378
15.2 使用动画 378
15.2.1 旋转动画 378
15.2.2 缩放动画 382
15.2.3 平移动画 383
15.2.4 多重转换和自定义Tween 385
15.2.5 自定义Tween类 387
15.3 使用AnimatedBuilder 390
15.3.1 AnimatedBuilder类 390
15.3.2 再访动画 390
15.4 使用AnimatedWidget 393
15.4.1 AnimatedWidget类 394
15.4.2 利用AnimatedWidget重新实现动画 394
15.5 本章小结 395
内容摘要
本书详细阐述了与Flutter框架相关的基本解决方案,主要包括Dart语言概述,Dart中级编程,Flutter简介,微件——在Flutter构建布局,处理用户手势和输入,主题和样式,路由机制——屏幕间的导航,Firebase插件,构建自己的Flutter插件,从Flutter应用程序访问设备功能、平台视图和地图集成,测试、调试和开发,改进用户体验,微件图形控制,插件的动画效果等内容。此外,本书还提供了相应的示例、代码,以帮助读者进一步理解相关方案的实现过程。 本书适合作为高等院校计算机及相关专业的教材和教学参考书,也可作为相关开发人员的自学教材和参考手册。
主编推荐
"本书将引领读者探讨Flutter框架并构建精彩的移动应用程序,其中涉及Dart语言的详细内容,以及编写不错应用程序所需的全部Flutter块,从而构建一个功能齐全的应用程序。通过清晰的代码示例,我们将学习如何开始一个小型的Flutter项目、添加微件(widget)、应用样式和主题、与远程服务(如Firebase)连接、获取用户输入内容、添加动画效果以提升用户体验,等等。除此之外,读者还将学习如何应用不错特性、地图集成,与包含本地编程语言的特定平台代码协同工作,并利用个性化的动画效果生成精美的UI。简而言之,本书将通过Flutter框架向读者展示移动开发的未来趋势。
"
— 没有更多了 —
以下为对购买帮助不大的评价