给大家带来的一篇关于Flutter相关的电子书资源,介绍了关于Flutter入门、Flutter实战、Flutter技术方面的内容,本书是由机械工业出版社出版,格式为PDF,资源大小162.5 MB,亢少军编写,目前豆瓣、亚马逊、当当、京东等电子书综合评分为:9.3。

内容介绍

Flutter技术入门与实战 电子书

内容介绍

第1章介绍Flutter的基本概念,并搭建*个Flutter程序,来感受一下Flutter之美。

第2章介绍几个重要知识点,如入口程序、Material Design、Flutter主题、无状态组件和有状态组件、使用包资源、Http请求。

第3章简单介绍Dart语言。Dart语言是Flutter SDK指定的语言,我们很有必要补充一下它的基础知识,包括语法特性、基本语句、面向对象等。

第4章介绍常用组件。Flutter里有一个非常重要的核心理念:一切皆为组件,本章主要讲解开发中用得*频繁的组件,如容器组件、图片组件、文本组件、图标组件和表单组件等。

第5章介绍Material Design风格的组件,Material Design风格是一种非常有质感的设计风格,并提供一些默认的交互动画。本章将分类介绍这些组件。

第6章介绍Cupertino风格的组件,这是一类iOS风格的组件,如CupertinoTabBar、CupertinoPageScaffold、CupertinoTabScaffold、CupertinoTabView等。

第7章介绍页面布局的基础知识和技巧,如基础布局处理、宽高尺寸处理、列表及表格布局等,*后通过一个综合布局示例来演示如何编写复杂的页面。

第8章介绍如何处理手势,如轻击、拖动和缩放等。Flutter中提供GestureDetector进行手势检测,并为手势检测提供了相应的监听。

第9章介绍如何加载、处理、展示资源和图片,如添加资源和图片、自定义字体等。

第10章介绍路由及导航是如何处理的,包括页面的渲染以及数据传递。

第11章介绍组件装饰和视觉效果的处理,如Opacity(透明度处理)、DecoratedBox(装饰盒子)、RotatedBox(旋转盒子)、Clip(剪裁处理)和CustomPainter(自定义画板)。

第12章介绍动画效果的制作,包含两个动画组件的使用:用AnimatedOpacity实现渐变效果、用Hero实现页面切换动画。

第13章介绍Flutter插件开发的入门知识。Flutter插件可以和原生程序打交道,比如调用蓝牙、启用WIFI、打开手电筒,等等。

第14章介绍开发工具及使用技巧,介绍几款常用的IDE工具,从代码的编写、辅助功能、程序调试、性能分析等多方面讲解工具及使用技巧。

第15章介绍测试与发布应用,包括:测试应用、发布Android版和iOS版App。

第16章通过一个综合案例介绍如何使用Flutter实现即时通讯App的界面。

内容节选

Flutter是什么?

Flutter是一款移动应用程序SDK,一份代码可以同时生成iOS和Android两个高性能、高保真的应用程序。

Flutter目标是使开发人员能够交付在不同平台上都感觉自然流畅的高性能应用程序。我们兼容滚动行为、排版、图标等方面的差异。

这是一个来自Gallery的演示应用程序, 您可以在安装Flutter并设置好环境后运行Flutter示例应用程序。“Shrine”示例拥有高质量的滚动图片、互动卡片、按钮、下拉列表和购物车页面。 要查看这个和更多示例的代码,请访问我们的GitHub。

无需移动开发经验即可开始使用。应用程序是用Dart语言编写的,如果您使用过Java或JavaScript之类的语言,则该应用程序看起来很熟悉。 使用面向对象语言的经验绝对有帮助,但一些Flutter应用程序甚至是没有编程经验的人写的!

为什么要使用Flutter?

Flutter有什么优势?它可以帮助你:

提高开发效率

同一份代码开发iOS和Android

用更少的代码做更多的事情

轻松迭代

在应用程序运行时更改代码并重新加载(通过热重载)

修复崩溃并继续从应用程序停止的地方进行调试

创建美观,高度定制的用户体验

受益于使用Flutter框架提供的丰富的Material Design和Cupertino(iOS风格)的widget

实现定制、美观、品牌驱动的设计,而不受原生控件的限制

核心原则

Flutter包括一个现代的响应式框架、一个2D渲染引擎、现成的widget和开发工具。这些组件可以帮助您快速地设计、构建、测试和调试应用程序。

一切皆为widget

Widget是Flutter应用程序用户界面的基本构建块。每个Widget都是用户界面一部分的不可变声明。 与其他将视图、控制器、布局和其他属性分离的框架不同,Flutter具有一致的统一对象模型:widget。

Widget可以被定义为:

一个结构元素(如按钮或菜单)

一个文本样式元素(如字体或颜色方案)

布局的一个方面(如填充)

等等…

Widget根据布局形成一个层次结构。每个widget嵌入其中,并继承其父项的属性。没有单独的“应用程序”对象,相反,根widget扮演着这个角色。

您可以通过告诉框架使用另一个widget替换层次结构中的widget来响应事件,例如用户交互,替换后框架会比较新的和旧的widget,并高效地更新用户界面。

组合 > 集成

Widget本身通常由许多更小的、单一用途widget组成,这些widget结合起来产生强大的效果。例如,Container是一个常用的widget, 由多个widget组成,这些widget负责布局、绘制、定位和调整大小。具体来说,Container由 LimitedBox、 ConstrainedBox、 Align、 Padding、 DecoratedBox、 和Transform组成。 您可以用各种方式组合这些以及其他简单的widget,而不是继承容器。

目录

第1章 开启Flutter之旅 1

1.1 Flutter的特点与核心概念 1

1.1.1 一切皆为组件 2

1.1.2 组件嵌套 2

1.1.3 构建Widget 3

1.1.4 处理用户交互 4

1.1.5 什么是状态 4

1.1.6 分层的框架 5

1.2 开发环境搭建 5

1.2.1 Windows环境搭建 5

1.2.2 MacOS环境搭建 11

1.3 第一个Flutter程序 17

第2章 Flutter基础知识 23

2.1 入口程序 23

2.2 Material Design设计风格 24

2.3 Flutter主题 24

2.3.1 创建应用主题 24

2.3.2 局部主题 26

2.3.3 使用主题 27

2.4 无状态组件和有状态组件 28

2.5 使用包资源 31

2.6 Http请求 34

第3章 Dart语言简述 40

3.1 Dart重要概念与常用开发库 40

3.2 变量与基本数据类型 43

3.3 函数 46

3.4 运算符 47

3.5 流程控制语句 51

3.6 异常处理 54

3.7 面向对象 55

3.7.1 实例化成员变量 55

3.7.2 构造函数 56

3.7.3 读取和写入对象 57

3.7.4 重载操作 58

3.7.5 继承类 59

3.7.6 抽象类 60

3.7.7 枚举类型 62

3.7.8 Mixins 62

3.8 泛型 63

3.9 库的使用 64

3.10 异步支持 65

3.11 元数据 65

3.12 注释 67

第4章 常用组件 68

4.1 容器组件 68

4.2 图片组件 70

4.3 文本组件 72

4.4 图标及按钮组件 74

4.4.1 图标组件 74

4.4.2 图标按钮组件 75

4.4.3 凸起按钮组件 77

4.5 列表组件 78

4.5.1 基础列表组件 78

4.5.2 水平列表组件 80

4.5.3 长列表组件 82

4.5.4 网格列表组件 83

4.6 表单组件 84

第5章 MaterialDesign风格组件 88

5.1 App结构和导航组件 89

5.1.1 MaterialApp(应用组件) 89

5.1.2 Scaffold(脚手架组件) 94

5.1.3 AppBar(应用按钮组件) 95

5.1.4 BottomNavigationBar(底部

导航条组件) 97

5.1.5 TabBar(水平选项卡及视图

组件) 99

5.1.6 Drawer(抽屉组件) 104

5.2 按钮和提示组件 107

5.2.1 FloatingActionButton(悬停

按钮组件) 107

5.2.2 FlatButton(扁平按钮组件) 109

5.2.3 PopupMenuButton(弹出菜单

组件) 110

5.2.4 SimpleDialog(简单对话框

组件) 112

5.2.5 AlertDialog(提示对话框

组件) 113

5.2.6 SnackBar(轻量提示组件) 115

5.3 其他组件 116

5.3.1 TextField(文本框组件) 117

5.3.2 Card(卡片组件) 119

第6章 Cupertino风格组件 122

6.1 CupertinoActivityIndicator

组件 122

6.2 CupertinoAlertDialog对话框

组件 123

6.3 CupertinoButton按钮组件 124

6.4 Cupertino导航组件集 125

第7章 页面布局 132

7.1 基础布局处理 133

7.1.1 Container(容器布局) 133

7.1.2 Center(居中布局) 137

7.1.3 Padding(填充布局) 138

7.1.4 Align(对齐布局) 140

7.1.5 Row(水平布局) 143

7.1.6 Column(垂直布局) 144

7.1.7 FittedBox(缩放布局) 146

7.1.8 Stack/Alignment 149

7.1.9 Stack/Positioned 151

7.1.10 IndexedStack 153

7.1.11 OverflowBox溢出父容器

显示 155

7.2 宽高尺寸处理 156

7.2.1 SizedBox(设置具体尺寸) 156

7.2.2 ConstrainedBox(限定最大

最小宽高布局) 158

7.2.3 LimitedBox(限定最大宽

高布局) 159

7.2.4 AspectRatio(调整宽高比) 160

7.2.5 FractionallySizedBox(百分比

布局) 162

7.3 列表及表格布局 163

7.3.1 ListView 164

7.3.2 GridView 166

7.3.3 Table 167

7.4 其他布局处理 169

7.4.1 Transform(矩阵转换) 169

7.4.2 Baseline(基准线布局) 171

7.4.3 Offstage(控制是否显示

组件) 172

7.4.4 Wrap(按宽高自动换行

布局) 174

7.5 布局综合示例 177

7.5.1 布局分析 177

7.5.2 准备素材 179

7.5.3 编写代码 180

第8章 手势 185

8.1 用GestureDetector进行手势

检测 185

8.2 用Dismissible实现滑动删除 187

第9章 资源和图片 190

9.1 添加资源和图片 190

9.1.1 指定assets 190

9.1.2 加载assets 191

9.1.3 平台assets 193

9.2 自定义字体 195

第10章 路由及导航 198

10.1 页面跳转基本使用 198

10.2 页面跳转发送数据 201

10.3 页面跳转返回数据 204

第11章 组件装饰和视觉效果 208

11.1 Opacity(透明度处理) 208

11.2 DecoratedBox(装饰盒子) 210

11.3 RotatedBox(旋转盒子) 217

11.4 Clip(剪裁处理) 217

11.5 案例—自定义画板 222

第12章 动画 241

12.1 用AnimatedOpacity实现渐变

效果 241

12.2 用Hero实现页面切换动画 243

第13章 Flutter插件开发 246

13.1 新建插件 246

13.2 运行插件 249

13.3 示例代码分析 250

第14章 开发工具及使用技巧 259

14.1 IDE集成开发环境 259

14.1.1 Android Studio / IntelliJ 259

14.1.2 Visual Studio Code 267

14.2 Flutter SDK 274

14.3 使用热重载 275

14.4 格式化代码 276

14.5 Flutter组件检查器 278

第15章 测试与发布应用 281

15.1 测试应用 281

15.1.1 简介 281

15.1.2 单元测试 282

15.1.3 Widget测试 283

15.1.4 集成测试 284

15.2 发布Android版App 286

15.2.1 检查App Manifest 287

15.2.2 查看构建配置 287

15.2.3 添加启动图标 288

15.2.4 App签名 290

15.2.5 构建发布版APK并安装在

设备上 291

15.3 发布iOS版App 291

15.3.1 准备工作 291

15.3.2 在iTunes Connect上注册

应用程序 292

15.3.3 注册一个Bundle ID 292

15.3.4 在iTunes Connect上创建

应用程序记录 293

15.3.5 查看Xcode项目设置 294

15.3.6 添加应用程序图标 295

15.3.7 准备发布版本 297

15.3.8 将应用发布到App Store 300

第16章 综合案例—即时通讯App

界面实现 301

16.1 项目介绍 301

16.2 项目搭建 302

16.2.1 新建项目 302

16.2.2 添加源码目录及文件 305

16.3 入口程序 306

16.4 加载页面 307

16.5 应用页面 309

16.6 搜索页面 316

16.6.1 布局拆分 316

16.6.2 请求获取焦点 316

16.6.3 自定义TouchCallBack

组件 316

16.6.4 返回文本组件 318

16.6.5 组装实现搜索页面 318

16.7 聊天页面 321

16.7.1 准备聊天消息数据 321

16.7.2 聊天消息列表项实现 322

16.7.3 聊天消息列表实现 325

16.8 好友页面 325

16.8.1 准备好友列表数据 326

16.8.2 好友列表项实现 327

16.8.3 好友列表头实现 329

16.8.4 ContactSiderList类 329

16.8.5 Contacts类 332

16.9 我的页面 333

16.9.1 通用列表项实现 334

16.9.2 Personal类 335

学习笔记

python面向对象入门教程之从代码复用开始(一)

前言 本文从代码复用的角度一步一步演示如何从python普通代码进化到面向对象,并通过代码去解释一些面向对象的理论。所以,本文前面的内容都是非面向对象的语法实现方式,只有在最结尾才给出了面向对象的简单语法介绍。各位道兄不妨一看,如果留下点笔墨指导,本人感激不尽。 下面话不多说了,来一起看看详细的介绍吧 最初代码 3种动物牛Cow、羊Sheep、马Horse发出的声音各不相同,于是在同一个目录下建立三个模块文件: $ tree ..|-- cow.py|-- horse.py`-- sheep.py 三个模块文件的内容都只定义了各自的speak()函数: # cow.pydef speak(): print("a cow goes moooo!")# sheep.pydef speak(): print("a sheep goes baaaah!")# horse.pydef s……

《Python编程:从入门到实践》第三章:列表简介

什么是列表呢? 官方说明就是由一些列按特点顺序排列的元素组成。其实可以看出很多个字符串的有序组合吧,里面的内容可以随时的删除,增加,修改。 下面这个就是一个列表,python打印列表的时候会将中括号和引号打印出来的 name = [liubin,liujian,liuliu] print (name)[liubin, liujian, liuliu] 有序的列表 和大多数编程语言一样,列表的第一个元素的索引是0,而不是1。如果要输出最后一个元素可以使用-1,倒数第二个可以使用-2,以此类推。 language = [python,C++,Java,PHP,Ruby] print (language[0])python print (language[2])Java print (language[-1])Ruby print (language[-2].lower())php 列表的修改、添加和删除元素 修改:其实就是对元素的重新赋……

Java多线程编程实战之模拟大量数据同步

背景 最近对于 Java 多线程做了一段时间的学习,笔者一直认为,学习东西就是要应用到实际的业务需求中的。否则要么无法深入理解,要么硬生生地套用技术只是达到炫技的效果。 不过笔者仍旧认为自己对于多线程掌握不够熟练,不敢轻易应用到生产代码中。这就按照平时工作中遇到的实际问题,脑补了一个很可能存在的业务场景: 已知某公司管理着 1000 个微信服务号,每个服务号有 1w ~ 50w 粉丝不等。假设该公司每天都需要将所有微信服务号的粉丝数据通过调用微信 API 的方式更新到本地数据库。 需求分析 对此需求进行分析,主要存在以下问题: 单个服务号获取粉丝 id,只能每次 1w 按顺序拉取 微……

MySQL升级的实战详解

MySQL5.7新增了不少新功能,比如:Online DDL、多源复制、增强半同步、表空间传输、sys 库、Group Replication等。最近终于等到了一个机会,将MySQL升级到5.7,很是兴奋不已。 MySQL升级的概述 MySQL升级的实质: 对数据字典的升级 数据字典有:mysql、information_schema、performance_schema、sys schema。 MySQL升级的两种方式: in-place upgrade: 适合小版本的升级。 即 关闭当前的MySQL,替换当前的二进制文件或包,在现有的数据目录上重启MySQL,并运行mysql_upgrade. 特点:不改变数据文件,升级速度快;但,不可以跨操作系统,不可以跨大版本(5.55.7). logical upgrade: 适合不同操作系统的MySQL升级,大版本之间的升级。 即:使用……

以上就是本次介绍的Flutter电子书的全部相关内容,希望我们整理的资源能够帮助到大家,感谢大家对码农之家的支持。

展开 +

收起 -

python编程入门与案例详解pdf-Flutter技术入门与实战 PDF 清晰版相关推荐

  1. python编程入门与案例详解-Pythony运维入门之Socket网络编程详解

    Socket是什么? Socket 是电脑网络中进程间数据流的端点Socket 是操作系统的通信机制应用程序通过Socket进行网络数据的传输 首先,简单了解一下TCP通信过程: TCP三次握手(面试 ...

  2. 什么是python编程例子_案例详解:优化Python编程的4个妙招

    全文共3510字,预计学习时长7分钟 作为数据科学家,敲出最优的Python代码非常非常重要.别无他法,杂乱低效的代码笔记本会消耗你的时间,也会浪费大量项目资金.经验丰富的数据科学家和专业人士都很清楚 ...

  3. 《微信小程序:开发入门及案例详解》—— 3.4 小结

    本节书摘来自华章出版社<微信小程序:开发入门及案例详解>一 书中的第3章,第3.4节,作者李骏 边思,更多章节内容可以访问云栖社区"华章计算机"公众号查看. 3.4 小 ...

  4. python 中range(10)什么意思_range什么意思python编程【面试题详解】

    今天爱分享给大家带来range什么意思python编程[面试题详解],希望能够帮助到大家. 今天来谈一谈关于Python中range()的作用,和我个人的理解. range的中文意思是,范围.幅度.或 ...

  5. S-function入门及案例详解(2)——S-function基本案例介绍

    目录 一.案例1--对波形的幅值进行放大 1.1 案例分析 1.2 案例详解 1.3 输出波形 二.案例2--对波形的幅值进行放大拓展 2.1 案例分析 2.2 案例详解 2.3 输出波形 三.案例3 ...

  6. S-function入门及案例详解(3)——S-function进阶案例

    目录 1.案例描述 2.案例详解 3.输出波形 4.对输入参数进行Mask打包 1.案例描述 设计一个蹦极系统 h为离地面高度,输入参数为长度.质量.离地面高度. 2.案例详解 步骤1.可以修改sfu ...

  7. python编程入门与案例详解-quot;Python小屋”免费资源汇总(截至2018年11月28日)...

    原标题:"Python小屋"免费资源汇总(截至2018年11月28日) 为方便广大Python爱好者查阅和学习,特整理汇总微信公众号"Python小屋"开通29 ...

  8. python编程入门与案例详解-干货|| 清华大佬推荐的python400集入门资料

    �大家好!我又来了~之前我写了两篇笔记,分享了我是如何从一个0基础的小白自学python的❗️ - 今天再给大家分享一些学习python的干货❗️ - �首先, 在学python之前你要明确为什么要学 ...

  9. python编程入门与案例详解pdf-这些年我读过的技术经典图书(附电子版下载地址)...

    C技术资料 1.<> 作者: 谭浩强 这是我推荐的第一本书, 也是我接触的第一本书, 为什么把它放在第一位, 因为我觉得这本书对我的影响很大, 感觉这本书的最大特点是: 内容很全面, 内容 ...

最新文章

  1. 学习全基因组测序数据分析2:FASTA和FASTQ
  2. Python平衡点问题
  3. HTML css嵌套的一个例子
  4. 使Tomcat可以下载中文文件
  5. dll侧加载_动态载入DLL所需要的三个函数详解(LoadLibrary,GetProcAddress,FreeLibrary)...
  6. 【80万年薪】2019 互联网校招薪酬曝光,看你能拿到多少钱!
  7. Spark报错: Invalid Spark URL: spark://YarnScheduler@stream_test_nb:40659
  8. java 接口的声明和实现 总结_java知识总结(三):函数式接口
  9. Mysql允许root用户远程访问
  10. [转载] c++ iterator 失效_C++ STL迭代器失效问题
  11. java生成gif_Java生成动态GIF图片
  12. SpringBoot中接口跨域问题
  13. 位图和矢量图区别,PS和AI的区别
  14. 请启动windows零配置(wzc)服务
  15. WIN7下安装IIS
  16. 符号_特殊符号大全狐狸符号加字和复制
  17. 苹果服务器维护2017.12,2017年12月28日维护公告
  18. PDF内容复制自动替换换行符
  19. MEM/MBA英语基础(07)复合句-定语从句
  20. lag与lead函数

热门文章

  1. Python max() 函数
  2. Cocos2dx 复制文本到剪切板(Android 和 ios)
  3. bzoj1458 士兵占据
  4. oracle 递归应用(挺复杂的)
  5. 解决输入法图标不见了,控制面板里面也无法设置
  6. 基础知识--Boxing unBoxing
  7. 【python3的学习之路九】函数式编程
  8. 利用eigen库简单实现矩阵功能
  9. 多路径下使用ASMLIB创建ASM磁盘
  10. Zabbix安装 Grafana安装