展开全部

主编推荐语

本书系统讲解使用Flutter进行跨平台开发应具备的知识,包含丰富的代码示例与效果图片,组件功能一目了然。

内容简介

Flutter是谷歌公司推出的跨平台开源UI框架,同时支持Android App与iOS App开发,使用这一框架可以大大提高开发效率。

本书共14章,系统讲解Flutter背景、Dart语言的语法基础、Flutter组件、状态管理、事件处理、路由管理、动画、网络编程、数据存储、相机、主题与国际化、混合开发等核心内容,并通过多个案例以及“天气预报”App和“我的视频”App两个完整的实战项目,将理论知识与实践结合,提升读者的实战开发能力。

通过对本书的学习,读者将会对Flutter框架以及跨平台开发有全面的认识,并可在实践中使用Flutter大大提高移动开发效率。

本书适合正在使用Flutter以及对Flutter感兴趣的开发人员阅读和参考。

目录

  • 版权信息
  • 内容提要
  • 前 言
  • 资源与支持
  • 第1章 初识Flutter
  • 1.1 Flutter简介
  • 1.2 Flutter的优势
  • 1.2.1 跨平台性
  • 1.2.2 高帧率的流畅UI
  • 1.2.3 热重载
  • 1.2.4 对开发环境要求不高
  • 1.2.5 高性能
  • 1.2.6 学习成本低
  • 1.3 Flutter的技术特性
  • 1.4 Flutter的架构
  • 1.4.1 Flutter框架
  • 1.4.2 Flutter引擎
  • 1.5 开发环境的搭建
  • 1.5.1 安装Android Studio
  • 1.5.2 在Android Studio中安装Flutter开发库
  • 1.5.3 在VSCode中安装Flutter开发库
  • 1.5.4 搭建Dart语言开发环境
  • 1.5.5 通过IntelliJ IDEA搭建纯Dart语言开发环境
  • 1.6 创建第一个Flutter项目
  • 1.7 体验热重载
  • 1.8 习题
  • 第2章 Dart语言:一切皆对象
  • 2.1 Dart语言简介
  • 2.1.1 一切皆对象
  • 2.1.2 面向接口编程
  • 2.1.3 类型可选
  • 2.2 Hello World
  • 2.3 变量与常量
  • 2.3.1 变量
  • 2.3.2 常量
  • 2.4 内置类型
  • 2.4.1 数值类型
  • 2.4.2 布尔类型
  • 2.4.3 字符串类型
  • 2.4.4 列表类型
  • 2.4.5 键值对类型
  • 2.4.6 动态类型与Object
  • 2.4.7 符号字符
  • 2.4.8 符号
  • 2.5 运算符
  • 2.5.1 三目运算符
  • 2.5.2 取商运算符
  • 2.5.3 自定义类操作符
  • 2.5.4 级联操作符
  • 2.6 get和set方法
  • 2.7 异常捕获
  • 2.7.1 throw
  • 2.7.2 try-catch
  • 2.8 循环语句
  • 2.8.1 for循环
  • 2.8.2 while循环
  • 2.8.3 do-while循环
  • 2.9 switch语句
  • 2.10 函数
  • 2.10.1 main()函数
  • 2.10.2 可选参数
  • 2.10.3 必选参数
  • 2.10.4 可选位置参数
  • 2.10.5 默认参数
  • 2.10.6 函数作为参数传递
  • 2.10.7 函数作为变量
  • 2.10.8 级联
  • 2.11 异步编程
  • 2.11.1 Future
  • 2.11.2 async和await
  • 2.12 抽象方法和抽象类
  • 2.13 接口
  • 2.14 继承
  • 2.15 mixin
  • 2.16 泛型
  • 2.17 库
  • 2.17.1 导入库
  • 2.17.2 拆分库
  • 2.18 习题
  • 第3章 Flutter组件
  • 3.1 基础组件
  • 3.1.1 Text
  • 3.1.2 Button
  • 3.1.3 Icon
  • 3.1.4 Image
  • 3.1.5 FlutterLogo
  • 3.2 单一子元素组件
  • 3.2.1 Container
  • 3.2.2 Padding
  • 3.2.3 Align
  • 3.2.4 Center
  • 3.2.5 FittedBox
  • 3.2.6 AspectRatio
  • 3.2.7 SingleChildScrollView
  • 3.2.8 FractionallySizedBox
  • 3.2.9 ConstrainedBox
  • 3.2.10 Baseline
  • 3.3 多子元素组件
  • 3.3.1 Scaffold
  • 3.3.2 AppBar
  • 3.3.3 Row和Column
  • 3.3.4 ListView
  • 3.3.5 GridView
  • 3.3.6 CustomScrollView
  • 3.3.7 CustomMultiChildLayout
  • 3.3.8 Stack
  • 3.3.9 IndexedStack
  • 3.3.10 Table
  • 3.3.11 Flex
  • 3.3.12 Wrap
  • 3.3.13 Flow
  • 3.4 其他常用组件的应用
  • 3.4.1 TextField
  • 3.4.2 TextFormField
  • 3.4.3 侧滑菜单
  • 3.4.4 轮播广告
  • 3.4.5 折叠相册
  • 3.5 习题
  • 第4章 状态管理
  • 4.1 状态管理组件
  • 4.1.1 Widget树
  • 4.1.2 Context树
  • 4.1.3 StatelessWidget
  • 4.1.4 StatefulWidget
  • 4.2 State
  • 4.3 Key
  • 4.3.1 GlobalKey
  • 4.3.2 LocalKey
  • 4.4 InheritedWidget
  • 4.5 包管理
  • 4.6 习题
  • 第5章 事件处理
  • 5.1 原始指针事件
  • 5.1.1 基本用法
  • 5.1.2 忽略PointerEvent
  • 5.1.3 命中测试
  • 5.2 GestureDetector
  • 5.2.1 基本用法
  • 5.2.2 常用事件
  • 5.2.3 GestureDetector实战
  • 5.2.4 手势冲突
  • 5.3 事件通知
  • 5.3.1 通知冒泡
  • 5.3.2 通知栏消息
  • 5.3.3 通知数提醒
  • 5.4 习题
  • 第6章 路由管理
  • 6.1 路由简介
  • 6.1.1 基本用法
  • 6.1.2 静态路由
  • 6.1.3 动态路由
  • 6.1.4 参数回传
  • 6.2 路由栈
  • 6.2.1 路由栈详解
  • 6.2.2 pushReplacementNamed()方法
  • 6.2.3 popAndPushNamed()与pushReplacement()方法
  • 6.2.4 pushNamedAndRemoveUntil()方法
  • 6.2.5 popUntil()方法
  • 6.3 fluro库
  • 6.3.1 创建路由管理类
  • 6.3.2 实现路由跳转
  • 6.4 习题
  • 第7章 动画
  • 7.1 动画的原理
  • 7.1.1 帧
  • 7.1.2 插值器
  • 7.2 Flutter动画核心类
  • 7.2.1 Animation
  • 7.2.2 Animatable
  • 7.2.3 AnimationController
  • 7.3 Tween类
  • 7.3.1 Tween.animate
  • 7.3.2 Curve
  • 7.4 动画的封装与简化
  • 7.4.1 AnimatedWidget
  • 7.4.2 AnimatedBuilder
  • 7.4.3 ScaleTransition
  • 7.5 路由动画
  • 7.5.1 Hero
  • 7.5.2 Hero动画原理
  • 7.5.3 自定义路由动画
  • 7.6 组合动画
  • 7.7 动画实战
  • 7.7.1 实现支付宝“咻一咻”动画
  • 7.7.2 Flare动画
  • 7.8 习题
  • 第8章 网络编程
  • 8.1 网络协议基础
  • 8.1.1 HTTP
  • 8.1.2 URL和URI
  • 8.1.3 Get和Post
  • 8.1.4 为什么普及HTTP 2.0
  • 8.1.5 HTTPS
  • 8.2 网络编程
  • 8.2.1 HttpClient库
  • 8.2.2 http库
  • 8.3 JSON解析
  • 8.3.1 手动解析JSON数据
  • 8.3.2 手动将JSON数据显示到界面
  • 8.3.3 自动解析
  • 8.4 dio库
  • 8.4.1 基本用法
  • 8.4.2 单例模式
  • 8.4.3 拦截器
  • 8.4.4 适配器
  • 8.5 异步编程
  • 8.5.1 隔离
  • 8.5.2 事件循环
  • 8.5.3 线程模型
  • 8.5.4 事件流
  • 8.5.5 创建并使用隔离
  • 8.5.6 使用compute()函数
  • 8.5.7 FutureBuilder
  • 8.6 网络状态判断
  • 8.7 习题
  • 第9章 数据存储
  • 9.1 SharedPreferences
  • 9.1.1 基本操作
  • 9.1.2 实现登录账号存储功能
  • 9.2 文件存储
  • 9.2.1 基本操作
  • 9.2.2 实现留言板功能
  • 9.2.3 自定义外部存储目录路径
  • 9.2.4 实现文件浏览器功能
  • 9.2.5 实现文件夹的添加和删除功能
  • 9.3 SQLite数据库
  • 9.3.1 基本操作
  • 9.3.2 封装数据库操作
  • 9.3.3 用sqflite库实现添加客户信息功能
  • 9.4 访问服务器端数据库
  • 9.4.1 基本操作
  • 9.4.2 访问云端数据库实战
  • 9.5 习题
  • 第10章 相机
  • 10.1 camera库
  • 10.1.1 基本用法
  • 10.1.2 使用takePicture ()方法拍照
  • 10.1.3 切换摄像头
  • 10.1.4 录制视频
  • 10.2 视频播放
  • 10.2.1 本地视频播放
  • 10.2.2 网络视频播放
  • 10.2.3 视频资源播放
  • 10.2.4 视频样式
  • 10.3 浏览图片和视频
  • 10.3.1 调用相机拍摄图片
  • 10.3.2 调用相机拍摄视频
  • 10.3.3 选择图片与视频
  • 10.3.4 完善自定义相机
  • 10.4 下载图片和视频
  • 10.5 识别二维码和条形码
  • 10.6 生成二维码
  • 10.6.1 qr_flutter库的基本用法
  • 10.6.2 实现二维码生成器
  • 10.7 习题
  • 第11章 主题与国际化
  • 11.1 主题换肤
  • 11.1.1 ThemeData组件的属性
  • 11.1.2 全局主题应用
  • 11.1.3 局部主题应用
  • 11.1.4 主题换肤实战
  • 11.2 第三方库换肤
  • 11.2.1 状态管理配置
  • 11.2.2 变更主题样式
  • 11.2.3 第三方库换肤实战
  • 11.3 国际化
  • 11.3.1 自定义LocalizationsDelegate类
  • 11.3.2 通过MyLocalizations类国际化
  • 11.4 第三方库easy_localization
  • 11.4.1 初始化配置
  • 11.4.2 手动切换语言实战
  • 11.5 习题
  • 第12章 混合开发
  • 12.1 在Android原生项目中嵌入Flutter技术
  • 12.1.1 创建Flutter模块
  • 12.1.2 关联Flutter模块
  • 12.2 Flutter与Android交互
  • 12.2.1 Activity嵌入Flutter界面
  • 12.2.2 Flutter向Activity传递参数
  • 12.2.3 Activity向Flutter回传参数
  • 12.2.4 Flutter向Activity回传参数
  • 12.2.5 Flutter与Fragment
  • 12.3 FlutterBoost框架
  • 12.3.1 FlutterBoost架构
  • 12.3.2 配置FlutterBoost框架的开发环境
  • 12.3.3 使用FlutterBoost框架进行混合开发
  • 12.4 aar模块化打包
  • 12.5 习题
  • 第13章 实战项目1:“天气预报”App
  • 13.1 需求分析及技术获取
  • 13.1.1 获取定位信息
  • 13.1.2 获取天气数据
  • 13.1.3 项目使用的库
  • 13.1.4 项目目录结构
  • 13.2 业务功能开发
  • 13.2.1 获取当前城市名称
  • 13.2.2 获取天气数据
  • 13.2.3 存储天气数据
  • 13.3 主界面开发
  • 13.3.1 背景动画
  • 13.3.2 标题栏
  • 13.3.3 当前天气详情
  • 13.3.4 横向ListView组件
  • 13.3.5 纵向ListView组件
  • 13.3.6 HomePage代码
  • 13.4 城市天气切换
  • 13.4.1 路由管理
  • 13.4.2 切换城市界面
  • 13.5 城市搜索匹配
  • 13.5.1 SearchDelegate类
  • 13.5.2 实现SearchDelegate类
  • 13.5.3 搜索文本框默认显示内容
  • 13.6 导出App
  • 13.6.1 使用命令行创建一个签名文件
  • 13.6.2 在android目录下创建一个key.properties文件
  • 13.6.3 修改android/app/build.gradle文件内容
  • 13.6.4 导出APK文件
  • 第14章 实战项目2:“我的视频”App
  • 14.1 实战项目概述
  • 14.1.1 项目结构
  • 14.1.2 界面分析
  • 14.2 启动界面与主界面
  • 14.2.1 启动界面
  • 14.2.2 主界面
  • 14.2.3 主界面内容
  • 14.3 网络与JSON数据
  • 14.4 路由管理
  • 14.5 视频播放界面
  • 14.6 短视频
  • 14.7 个人中心界面
展开全部

评分及书评

评分不足
2个评分
  • 用户头像
    给这本书评了
    5.0

    Flutter 是谷歌公司推出的跨平台开源 UI 框架,同时支持 Android App iOS App 开发,使用这一框架可以大大提高开发效率。本书共 14 章,系统讲解 Flutter 背景、Dart 语言的语法基础、Flutter 组件、状态管理、事件处理、路由管理、动画、网络编程、数据存储、相机、主题与国际化、混合开发等核心内容,并通过多个案例以及 “天气预报” App 和 “我的视频” App 两个完整的实战项目,将理论知识与实践结合,提升读者的实战开发能力。

      转发
      评论

    出版方

    人民邮电出版社

    人民邮电出版社是工业和信息化部主管的大型专业出版社,成立于1953年10月1日。人民邮电出版社坚持“立足信息产业、面向现代社会、传播科学知识、服务科教兴国”,致力于通信、计算机、电子技术、教材、少儿、经管、摄影、集邮、旅游、心理学等领域的专业图书出版。