×
超值优惠券
¥50
100可用 有效期2天

全场图书通用(淘书团除外)

关闭
暂无评论
图文详情
  • ISBN:9787302602897
  • 装帧:一般胶版纸
  • 册数:暂无
  • 重量:暂无
  • 开本:其他
  • 页数:544
  • 出版时间:2022-03-01
  • 条形码:9787302602897 ; 978-7-302-60289-7

本书特色

《Flutter2开发实例精解》内容涵盖了100多个短小精悍的实例,以帮助读者学习Flutter,这些实例包含Flutter为重要的特性,进而开发真实的应用程序。在每个实例中,介绍并使用一些有用的工具,包括微件、状态管理、异步编程、连接Web服务、数据持久化、动画生成、Firebase应用、机器学习,以及工作于不同平台(包括桌面平台和Web平台)的响应式应用程序。

内容简介

《Flutter2开发实例精解》详细阐述了与Flutter 2相关的基本解决方案,主要包括Dart编程语言、微件简介、布局和微件树、向应用程序中添加交互性和导航、基本的状态管理、异步编程、基于互联网的数据持久化和通信、基于流的不错状态管理、使用Flutter包、向应用程序中添加动画、使用Firebase、基于Firebase ML Kit的机器学习、发布移动应用程序、Flutter Web和桌面应用程序等内容。此外,本书还提供了相应的示例、代码,以帮助读者进一步理解相关方案的实现过程。 本书适合作为高等院校计算机及相关专业的教材和教学参考书,也可作为相关开发人员的自学用书和参考手册。

目录

第1章 开启Flutter之旅 1
1.1 技术需求 2
1.2 如何使用Git管理Flutter SDK 2
1.3 设置命令行并保存路径变量 3
1.4 使用Flutter Doctor检查配置环境 6
1.5 配置iOS SDK 7
1.6 配置Android SDK 11
1.7 选择IDE/编辑器 16
1.8 选择正确的通道 19
1.9 创建Flutter应用程序 20
1.10 本章小结 28
第2章 Dart编程语言 29
2.1 技术需求 29
2.2 声明变量—var、final和const 30
2.3 字符串和字符串插值 35
2.4 编写函数 40
2.5 利用闭包将函数用作变量 44
2.6 创建类并使用类构造函数的简洁形式 46
2.7 利用集合分组和操控数据 49
2.8 利用高阶函数编写较少的代码 54
2.9 使用级联运算符(..)实现构建器模式 62
2.10 Dart语言中的空安全 65
第3章 微件简介 73
3.1 技术需求 73
3.2 创建不可变的微件 73
3.3 使用Scaffold 79
3.4 使用Container微件 85
3.5 在屏幕上输出样式文本 90
3.6 向应用程序中导入字体和图像 96
第4章 布局和微件树 101
4.1 逐个放置微件 101
4.2 基于Flexible和Expanded微件的成比例间距 108
4.3 利用CustomPaint绘制形状 116
4.4 嵌套的复杂微件树 122
4.5 重构微件树以改进可读性 127
4.6 应用全局主题 133
第5章 向应用程序中添加交互性和导航 141
5.1 向应用程序中添加状态 141
5.2 与按钮交互 147
5.3 生成滚动效果 151
5.4 利用列表构造器处理大型数据集 157
5.5 处理TextField 160
5.6 导航至下一个屏幕 166
5.7 通过名称调用导航路由 168
5.8 在屏幕上显示对话框 171
5.9 显示底部动作条 176
第6章 基本的状态管理 181
6.1 技术需求 181
6.2 模型-视图分离 181
6.3 利用InheritedWidget管理数据层 188
6.4 在多个屏幕间使得应用程序状态可见 192
6.5 设计n层框架(第1部分)—控制器 196
6.6 设计n层框架(第2部分)—存储库 202
6.7 设计n层框架(第3部分)—服务 205
第7章 异步编程 213
7.1 技术需求 213
7.2 使用Future 214
7.3 使用async/await移除回调 220
7.4 完成Future 223
7.5 同时引发多个Future 226
7.6 处理异步代码中的错误 228
7.7 基于StatefulWidget的Future应用 231
7.8 使用FutureBuilder管理Future 234
7.9 将导航路由转换为异步函数 236
7.10 从对话框中获取结果 240
第8章 基于互联网的数据持久化和通信 245
8.1 技术需求 245
8.2 将Dart模型转换为JSON格式 246
8.3 处理与模型不兼容的JSON模式 256
8.4 捕捉常见的JSON错误 262
8.5 简单地利用SharedPreferences保存数据 264
8.6 访问文件系统(第1部分)—path_provider 269
8.7 访问文件系统(第2部分)—与目录协同工作 272
8.8 使用安全存储保存数据 276
8.9 设计HTTP客户端并获取数据 279
8.10 POST数据 285
8.11 PUT数据 292
8.12 DELETE数据 295
第9章 基于流的高级状态管理 299
9.1 技术需求 299
9.2 如何使用Dart流 300
9.3 使用流控制器和接收器 305
9.4 将数据转换注入流中 310
9.5 订阅流事件 313
9.6 支持多重流订阅 317
9.7 使用StreamBuilder创建响应式用户界面 320
9.8 使用BLoC模式 324
第10章 使用Flutter包 331
10.1 技术需求 332
10.2 导入包和依赖项 332
10.3 创建自己的包(第1部分) 335
10.4 创建自己的包(第2部分) 341
10.5 创建自己的包(第3部分) 343
10.6 向谷歌地图中添加应用程序 346
10.7 使用位置服务 351
10.8 向应用程序中添加标记 354
第11章 向应用程序中添加动画 359
11.1 创建基本的容器动画 359
11.2 设计动画(第1部分)—VSync和AnimationController 364
11.3 设计动画(第2部分)—添加多重动画 369
11.4 设计自己的动画(第3部分)—曲线 371
11.5 优化动画 374
11.6 使用Hero动画 376
11.7 使用预置动画转变 381
11.8 使用AnimatedList微件 385
11.9 利用Dismissible微件实现滑动手势 391
11.10 使用Flutter动画包 394
第12章 使用Firebase 399
12.1 配置Firebase应用程序 399
12.2 创建登录表单 404
12.3 添加谷歌Sign-in 413
12.4 集成Firebase Analytics 419
12.5 使用Firebase Cloud Firestore 424
12.6 利用Firebase Cloud Messaging(FCM)发送Push Notifications 430
12.7 将文件存储至云端 434
第13章 基于Firebase ML Kit的机器学习 441
13.1 使用设备的摄像头 441
13.2 从图像中识别文本 450
13.3 读取条形码 454
13.4 图像标记功能 456
13.5 构建面部检测器并检测面部表情 459
13.6 识别语言 463
13.7 使用TensorFlow Lite 467
第14章 发布移动应用程序 473
14.1 技术需求 474
14.2 在App Store Connect上注册iOS应用程序 474
14.3 在Google Play上注册Android应用程序 478
14.4 安装和配置fastlane 480
14.5 生成iOS代码签名许可证书和配置文件 484
14.6 生成Android发布许可证书 486
14.7 自动递增Android版本号 488
14.8 配置应用程序元数据 491
14.9 向应用程序中添加图标 493
14.10 在Google Play Store中发布应用程序的beta版本 495
14.11 使用TestFlight发布iOS应用程序的beta版本 498
14.12 将应用程序发布至应用程序商店中 501
第15章 Flutter Web和桌面应用程序 503
15.1 利用Flutter Web创建响应式应用程序 503
15.2 在macOS上运行应用程序 512
15.3 在Windows上运行应用程序 515
15.4 部署Flutter站点 517
15.5 响应Flutter桌面中的鼠标事件 520
15.6 与桌面菜单交互 524

展开全部

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航