• Flutter开发实例解析
图书条目标准图
21年品牌 40万+商家 超1.5亿件商品

Flutter开发实例解析

71.07 6.0折 119 九品

仅1件

北京海淀
认证卖家担保交易快速发货售后保障

作者王睿 著

出版社机械工业出版社

出版时间2021-07

版次1

装帧平装

货号A21

上书时间2024-12-12

新起点书店

四年老店
已实名 已认证 进店 收藏店铺

   商品详情   

品相描述:九品
图书标准信息
  • 作者 王睿 著
  • 出版社 机械工业出版社
  • 出版时间 2021-07
  • 版次 1
  • ISBN 9787111683032
  • 定价 119.00元
  • 装帧 平装
  • 开本 16开
  • 页数 292页
  • 字数 367千字
【内容简介】

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.3.2 创建Socket通信基类BaseSocketCS /  143

 

  5.3.3 基于ServerSocket创建Socket服务器 /  143

 

  5.3.4 基于Socket创建Socket客户端 /  145

 

  5.3.5 在_MyAppState中接入Socket框架 /  146

 

  5.3.6 双端Socket通信联调 /  152

 

5.4 建立聊天页面 /  154

 

  5.4.1 基于ListView   实现消息列表 /  155

 

  5.4.2 基于Container   实现消息组件 /  156

 

  5.4.3 基于Navigator   实现页面跳转 /  158

 

  5.4.4 使用TextField   实现消息输入组件 /  159

 

5.5 使用Image 组件扩展表情包功能 /  161

 

5.6 聊天工具知识拓展 /  165

 

第6章 数据持久化――开发一款支持Markdown的“印象笔记”    /  166

 

6.1 Markdown 笔记开发要点 /  167

 

  6.1.1 Flutter下的Markdown展示方式 /  167

 

  6.1.2 基于flutter_markdown实现Markdown 原生渲染 /  168

 

  6.1.3 使用shared_preferences存储笔记数据 /  170

 

  6.1.4 使用InheritedWidget进行状态管理 /  171

 

  6.1.5 笔记应用开发流程 /    174

 

6.2 基于InheritedWidget   开发状态层 /  175

 

  6.2.1 创建笔记Model /  176

 

  6.2.2 基于基于StatefulWidget创建NoteStore /  177

 

  6.2.3 在_NoteStoreState   中实现笔记增删改查 /  178

 

  6.2.4 基于InheritedWidget实现_NoteStoreScope /  181

 

  6.2.5 在NoteStore中完善状态访问接口 /  182

 

6.3 创建笔记应用首页 /  183

 

  6.3.1 使用didChangeDependencies进行状态关联 /  183

 

  6.3.2 基于Scaffold实现首页抽屉导航布局 /  184

 

6.4 创建笔记编辑页 /  186

 

  6.4.1 实现_PageEditorState搭建主要布局 /  187

 

  6.4.2 实现getAppBar编辑页工具栏 /  188

 

  6.4.3 运行编辑页调试功能 /  190

 

  6.4.4 使用TextField   实现元信息编辑页 /  191

 

6.5 创建笔记预览页 /  194

 

6.6 创建编辑页工具栏 /  195

 

6.7 Markdown 笔记应用知识扩展 /  198

 

第7章 SQLite数据库――开发一款“奇妙清单”Todo 应用 /  200

 

7.1 Todo 应用开发要点 /  201

 

  7.1.1 使用sqflite   进行SQLite 数据库开发 /  201

 

  7.1.2 使用Provider进行Flutter复杂状态管理 /  204

 

  7.1.3 Todo 应用的业务流程 /  208

 

7.2 基于sqflite 实现SQLite 数据层 /  210

 

  7.2.1 封装项目Model /  210

 

  7.2.2 封装待办事项Model /  211

 

  7.2.3 sqflite 数据库初始化 /  213

 

  7.2.4 实现项目数据库操作类ProjectManager /  214

 

  7.2.5 实现待办事项操作类TodoManager /  215

 

7.3 基于Provider实现状态层 /  216

 

  7.3.1 实现待办事项状态类TodoState /  216

 

  7.3.2 实现项目状态类ProjectState /  217

 

  7.3.3 使用MultiProvider对外提供状态 /  219

 

7.4 创建Todo 应用首页 /  219

 

  7.4.1 使用Consumer   实现项目列表 /  220

 

  7.4.2 创建待办事项列表项组件 /  222

 

  7.4.3 使用Consumer2   实现待办事项列表 /  225

 

7.5 创建Todo 应用项目编辑页 /  227

 

  7.5.1 实现项目编辑页整体Scaffold   布局 /  227

 

  7.5.2 使用showDatePicker编辑创建和截止时间 /  229

 

  7.5.3 访问ProjectState   实现项目数据保存 /  231

 

7.6 创建Todo 应用待办事项编辑页 /  232

 

  7.6.1 实现待办事项编辑页整体Scaffold 布局 /  232

 

  7.6.2 通过自定义对话框实现项目选择 /  235

 

  7.6.3 访问TodoState   实现待办事项数据保存 /  236

 

7.7 Todo 应用知识扩展 /  238

 

第8章 Http+WebView――开发“技术头条”让技术先人一步 /  239

 

8.1 技术头条开发要点 /  240

 

  8.1.1 Flutter   http网络库介绍 /  240

 

  8.1.2 GitHub   API介绍 /  241

 

  8.1.3 使用json_annotation实现高效序列化 /  242

 

  8.1.4 Flutter集成WebView实现网页浏览 /  244

 

  8.1.5 技术头条的业务流程 /  245

 

8.2 基于http 库实现网络层 /  246

 

  8.2.1 基于json_annotation创建Model 类 /  247

 

  8.2.2 基于http 库实现GitHub 网络访问类 /  252

 

  8.2.3 基于Service   模式搭建网络层 /  254

 

8.3 创建首页活动Feed 流 /  257

 

  8.3.1 基于CustomScrollView搭建首页Feed 流布局 /  257

 

  8.3.2 通过SliverPersistentHeader实现吸顶搜索组件 /  258

 

  8.3.3 通过SliverGrid实现九宫格导航 /  261

 

  8.3.4 通过SliverList实现Feed 流内容展示 /  264

 

  8.3.5 接收ScrollNotification事件实现加载更多内容 /  268

 

8.4 创建GitHub 公共活动Feed 流 /  270

 

  8.4.1 基于ListView公共活动Feed 流布局 /  270

 

  8.4.2 通过listPublicEvents和ScrollNotification 加载数据 /  272

 

8.5 通过xpath 爬虫实现GitHub Trending 页 /  273

 

  8.5.1 通过xpath 解析GitHub Trending 网页 /  274

 

  8.5.2 通过ListView对GitHub Trending 进行展示 /  276

 

  8.5.3 在createGrid中完成路由跳转逻辑 /  277

 

8.6 基于webview_flutter实现WebView页面 /  278

 

8.7 技术头条应用知识扩展 /  279

 


点击展开 点击收起

—  没有更多了  —

以下为对购买帮助不大的评价

此功能需要访问孔网APP才能使用
暂时不用
打开孔网APP