书籍详情
Flutter开发实例解析

作者:王睿 著
出版社:机械工业出版社
出版时间:2021-07-01
ISBN:9787111683032
定价:¥119.00
购买这本书可以去
内容简介
Flutter作为一种新兴的跨端开发技术,其语言和框架都是全新的,并且知识体系比较庞大,学习起来有一定的难度。对于初学者来说,*迫切的愿望就是能够快速上手,将理论知识转化为实际经验,并在不断的实践中扩充完善知识体系。本书旨在帮助Flutter初学者实现这一愿望。《Flutter开发实例解析》突出实战的特点,通过精心选取的大量实例项目,手把手带领读者完成多个Flutter实际应用开发。按照循序渐进的顺序对这些项目进行介绍,从*初的简单番茄计时器、拟物时钟,到后续的笔记应用、Todo应用、技术头条应用,逐步带领读者开发出具备地图、定位、网络、数据库、状态管理等功能的复杂应用,*终使读者能够掌握Flutter的中高级开发能力。《Flutter开发实例解析》适合不同层次的移动端开发工程师、前端开发工程师,以及希望快速入门Flutter 移动端开发的读者阅读学习。
作者简介
王睿(网名Maxiee),Android开发工程师,现就职于某一线互联网公司。曾负责参与多款商业项目移动端的研发,有丰富的移动端开发经验。过去3年主要研究移动跨端领域,对 React Native、Flutter 等跨端方案均有深入研究,并在商业项目中实现大规模落地。同时也作为核心作者推出自研跨端方案 Hummer,目前已开源,并在业界得到广泛应用。
目录
前 言
第1章 Flutter基础知识 / 1
1.1 移动跨端开发技术 / 2
1.1.1 移动端应用开发的一般流程 / 2
1.1.2 原生开发与跨端开发 / 4
1.1.3 移动跨端开发技术的发展历程 / 6
1.1.4 跨端技术难点 / 7
1.2 Flutter技术 / 9
1.2.1 Flutter技术简介 / 9
1.2.2 Flutter整体架构 / 12
1.2.3 Flutter与同类方案对比 / 14
1.3 如何安装Flutter SDK / 15
1.4 配置Flutter开发环境 / 19
1.4.1 使用Android Studio进行Flutter开发 / 19
1.4.2 使用Visual Studio Code进行Flutter开发 / 21
1.4.3 使用在线环境进行Flutter开发 / 23
1.5 创建个Flutter应用Hello World / 24
1.5.1 如何创建Flutter工程 / 24
1.5.2 配置Android 模拟器与真机运行 / 26
1.5.3 配置iOS模拟器与真机运行 / 28
第2章 Dart和Flutter核心概念——零基础开发番茄钟计时器 / 30
2.1 番茄钟计时器开发要点 / 31
2.2 Dart语言快速上手 / 31
2.3 什么是Flutter组件化 / 32
2.3.1 什么是组件化思想 / 33
2.3.2 无状态组件StatelessWidget / 33
2.3.3 有状态组件StatefulWidget / 35
2.3.4 组件的生命周期 / 35
2.3.5 Material和Cupertino组件库 / 38
2.4 初识Flutter工程 / 39
2.4.1 Flutter工程结构特点 / 39
2.4.2 App组件——应用架构的基石 / 40
2.4.3 Scaffold 组件——页面的骨架 / 41
2.5 开发番茄钟 / 42
2.5.1 使用Center组件进行居中显示 / 43
2.5.2 Text文本展示组件 / 44
2.5.3 添加Timer 定时器 / 45
2.5.4 为按钮添加单击事件控制番茄钟开始 / 46
2.6 番茄钟知识扩展 / 48
第3章 自定义视图和动画——开发精美的拟物时钟 / 50
3.1 拟物时钟开发要点 / 51
3.1.1 使用Container 定制组件展示效果 / 51
3.1.2 使用CustomPaint 创建Flutter自定义视图 / 57
3.1.3 Flutter动画入门与拟物时钟的开发流程 / 59
3.2 基于Canvas和CustomPaint 绘制表盘 / 68
3.2.1 使用Container 绘制外表盘 / 68
3.2.2 使用Container 绘制内表盘 / 70
3.2.3 使用CustomPaint 绘制表盘刻度 / 72
3.3 基于CustomPaint 绘制指针 / 74
3.3.1 使用CustomPaint 绘制时针与分针 / 74
3.3.2 使用rotate Transform偏转指针 / 77
3.3.3 使用CustomPaint 绘制秒针 / 79
3.3.4 使用CustomPaint 绘制中心装饰物 / 80
3.4 让时针动起来 / 82
3.4.1 使用DataTime获取时间信息 / 82
3.4.2 通过Timer定时器实现时间自动刷新 / 84
3.4.3 通过RotationTransition实现指针转动动画 / 84
3.5 拟物时钟知识拓展 / 86
第4章 地图+传感器——开发轨迹计步器 / 88
4.1 轨迹计步器开发要点 / 89
4.1.1 通过Flutter包管理导入扩展包 / 90
4.1.2 Flutter Channel原生通信机制介绍 / 92
4.1.3 Column、Row横纵向布局组件介绍 / 97
4.1.4 轨迹计步器开发流程 / 101
4.2 创建轨迹计步器首页 / 101
4.2.1 创建轨迹计步器项目结构 / 101
4.2.2 创建仪表面板组件 / 102
4.3 基于Pedometer库实现计步功能 / 108
4.3.1 Pedometer计步器库介绍 / 108
4.3.2 通过Flutter Stream监听步数 / 109
4.3.3 实现轨迹计步器的计步功能 / 110
4.4 基于geolocator库实现定位功能 / 111
4.4.1 geolocator定位库介绍 / 112
4.4.2 实现轨迹计步器的定位功能 / 112
4.4.3 保存轨迹计步器的定位轨迹历史 / 114
4.5 基于flutter_map库实现地图功能 / 115
4.5.1 flutter_map地图库介绍 / 115
4.5.2 使用FlutterMap组件创建地图 / 115
4.5.3 通过MarkerLayerOptions 展示当前位置 / 117
4.5.4 通过PolylineLayerOptions 绘制行进轨迹 / 118
4.6 轨迹计步器知识拓展 / 119
第5章 Socket网络通信——开发属于自己的“微信”聊天工具 / 121
5.1 聊天工具开发要点 / 122
5.1.1 Dart Socket网络通信框架 / 122
5.1.2 Flutter图片资源管理 / 124
5.1.3 使用ListView展示长列表数据 / 125
5.1.4 通过Navigator 进行页面跳转 / 127
5.1.5 聊天工具开发流程 / 130
5.2 创建首页设置页面 / 131
5.2.1 搭建聊天工具Flutter工程 / 131
5.2.2 基于NetworkInterface展示本机IP地址 / 133
5.2.3 使用TextField实现Server设置项 / 135
5.2.4 使用TextField实现Client设置项 / 138
5.3 建立Socket通信 / 140
5.3.1 创建消息Model并进行JSON序列化 / 140
5
第1章 Flutter基础知识 / 1
1.1 移动跨端开发技术 / 2
1.1.1 移动端应用开发的一般流程 / 2
1.1.2 原生开发与跨端开发 / 4
1.1.3 移动跨端开发技术的发展历程 / 6
1.1.4 跨端技术难点 / 7
1.2 Flutter技术 / 9
1.2.1 Flutter技术简介 / 9
1.2.2 Flutter整体架构 / 12
1.2.3 Flutter与同类方案对比 / 14
1.3 如何安装Flutter SDK / 15
1.4 配置Flutter开发环境 / 19
1.4.1 使用Android Studio进行Flutter开发 / 19
1.4.2 使用Visual Studio Code进行Flutter开发 / 21
1.4.3 使用在线环境进行Flutter开发 / 23
1.5 创建个Flutter应用Hello World / 24
1.5.1 如何创建Flutter工程 / 24
1.5.2 配置Android 模拟器与真机运行 / 26
1.5.3 配置iOS模拟器与真机运行 / 28
第2章 Dart和Flutter核心概念——零基础开发番茄钟计时器 / 30
2.1 番茄钟计时器开发要点 / 31
2.2 Dart语言快速上手 / 31
2.3 什么是Flutter组件化 / 32
2.3.1 什么是组件化思想 / 33
2.3.2 无状态组件StatelessWidget / 33
2.3.3 有状态组件StatefulWidget / 35
2.3.4 组件的生命周期 / 35
2.3.5 Material和Cupertino组件库 / 38
2.4 初识Flutter工程 / 39
2.4.1 Flutter工程结构特点 / 39
2.4.2 App组件——应用架构的基石 / 40
2.4.3 Scaffold 组件——页面的骨架 / 41
2.5 开发番茄钟 / 42
2.5.1 使用Center组件进行居中显示 / 43
2.5.2 Text文本展示组件 / 44
2.5.3 添加Timer 定时器 / 45
2.5.4 为按钮添加单击事件控制番茄钟开始 / 46
2.6 番茄钟知识扩展 / 48
第3章 自定义视图和动画——开发精美的拟物时钟 / 50
3.1 拟物时钟开发要点 / 51
3.1.1 使用Container 定制组件展示效果 / 51
3.1.2 使用CustomPaint 创建Flutter自定义视图 / 57
3.1.3 Flutter动画入门与拟物时钟的开发流程 / 59
3.2 基于Canvas和CustomPaint 绘制表盘 / 68
3.2.1 使用Container 绘制外表盘 / 68
3.2.2 使用Container 绘制内表盘 / 70
3.2.3 使用CustomPaint 绘制表盘刻度 / 72
3.3 基于CustomPaint 绘制指针 / 74
3.3.1 使用CustomPaint 绘制时针与分针 / 74
3.3.2 使用rotate Transform偏转指针 / 77
3.3.3 使用CustomPaint 绘制秒针 / 79
3.3.4 使用CustomPaint 绘制中心装饰物 / 80
3.4 让时针动起来 / 82
3.4.1 使用DataTime获取时间信息 / 82
3.4.2 通过Timer定时器实现时间自动刷新 / 84
3.4.3 通过RotationTransition实现指针转动动画 / 84
3.5 拟物时钟知识拓展 / 86
第4章 地图+传感器——开发轨迹计步器 / 88
4.1 轨迹计步器开发要点 / 89
4.1.1 通过Flutter包管理导入扩展包 / 90
4.1.2 Flutter Channel原生通信机制介绍 / 92
4.1.3 Column、Row横纵向布局组件介绍 / 97
4.1.4 轨迹计步器开发流程 / 101
4.2 创建轨迹计步器首页 / 101
4.2.1 创建轨迹计步器项目结构 / 101
4.2.2 创建仪表面板组件 / 102
4.3 基于Pedometer库实现计步功能 / 108
4.3.1 Pedometer计步器库介绍 / 108
4.3.2 通过Flutter Stream监听步数 / 109
4.3.3 实现轨迹计步器的计步功能 / 110
4.4 基于geolocator库实现定位功能 / 111
4.4.1 geolocator定位库介绍 / 112
4.4.2 实现轨迹计步器的定位功能 / 112
4.4.3 保存轨迹计步器的定位轨迹历史 / 114
4.5 基于flutter_map库实现地图功能 / 115
4.5.1 flutter_map地图库介绍 / 115
4.5.2 使用FlutterMap组件创建地图 / 115
4.5.3 通过MarkerLayerOptions 展示当前位置 / 117
4.5.4 通过PolylineLayerOptions 绘制行进轨迹 / 118
4.6 轨迹计步器知识拓展 / 119
第5章 Socket网络通信——开发属于自己的“微信”聊天工具 / 121
5.1 聊天工具开发要点 / 122
5.1.1 Dart Socket网络通信框架 / 122
5.1.2 Flutter图片资源管理 / 124
5.1.3 使用ListView展示长列表数据 / 125
5.1.4 通过Navigator 进行页面跳转 / 127
5.1.5 聊天工具开发流程 / 130
5.2 创建首页设置页面 / 131
5.2.1 搭建聊天工具Flutter工程 / 131
5.2.2 基于NetworkInterface展示本机IP地址 / 133
5.2.3 使用TextField实现Server设置项 / 135
5.2.4 使用TextField实现Client设置项 / 138
5.3 建立Socket通信 / 140
5.3.1 创建消息Model并进行JSON序列化 / 140
5
猜您喜欢



