找回密码
 立即注册
查看: 573|回复: 0

2019年 宁浩 flutter入门到精通全套 视频教程

[复制链接]
累计签到:84 天
连续签到:1 天
发表于 2019-7-18 16:11:33 | 显示全部楼层 |阅读模式
课程目录:
* X  a! k0 i& O/ J: }7 d│  ├─1 Flutter 移动应用:开发准备  r: ~8 ?* r- L) p
│  │     1 介绍.mp4
: L8 M* T& ?* H1 \9 Q8 |│  │     2 安装 Flutter SDK(macOS).mp4
& ~8 \1 G2 I3 c│  │     3 配置 iOS 开发环境(macOS).mp4) U2 n$ n& l% Y6 V2 T) s
│  │     4 配置 VS Code 代码编辑器.mp4
& N: k1 F% P& B+ X5 E+ z5 z' G│  │     5 配置 Android 开发环境(macOS).mp46 t! }: Z: M5 N% g+ i) w" q( @9 p2 D
│  │     6 检测问题:flutter doctor.mp4
$ o$ w8 t. e! g  P( O3 p+ F. y│  │     7 Flutter 在中国地区的特别设置(macOS).mp4( K( Q/ v) Q0 ~+ q( a
│  │     8 创建 Flutter 项目.mp4
1 |& ~3 N' p( d5 \. h) F$ `│  │     9 运行 Flutter 项目(iOS 模拟器).mp4
# R/ s" A" \) A- p1 t) O& f│  │     10 在 Android 模拟器上运行 Flutter 项目.mp4
8 {9 w9 }- o& v8 c* H9 D│  │      
$ ~0 Z- I! h+ n9 [  }│  ├─2 Flutter移动应用:快速起步/ b+ l, o5 H- k- y9 e
│  │     1 介绍.mp49 Z: z6 n- i: `: P- j8 S/ o7 Y
│  │     2 准备项目.mp44 Z1 _3 d- q" o) H2 ^4 V
│  │     3 在屏幕中间显示 “hello”.mp4
  O! m( h; o/ r' B│  │     4 自定义小部件(Widget).mp4. j: U8 l* q9 r* {
│  │     5 文字的样式:TextStyle.mp4* C! c$ f$ Y3 `4 |  c
│  │     6 MaterialApp:使用界面组件与定制界面主题.mp44 y% g1 w- Y: L, e2 h  Z7 r  q5 S
│  │     7 列表:准备数据.mp4. S  T" k5 V5 \3 A& L: g" c
│  │     8 列表视图:ListView.builder.mp4
2 s; d( C4 y3 W% |7 j│  │     9 列表项目.mp40 Z1 C7 y, g/ F
│  │      
- u5 m8 [% \4 d! `& U  @, H1 S7 J│  ├─3 Flutter 移动应用:界面结构
3 r3 t6 i5 p- `- m  `1 X; k3 I* t│  │     1 介绍.mp4
/ J( C: P5 m3 R│  │     2 准备项目.mp4
. D5 L" K% X" J9 C│  │     3 Material 应用.mp4
) A9 D  `& K5 r6 b0 z│  │     4 AppBar:工具栏上的图标按钮(IconButton).mp4
4 B9 C# @- F* I. S$ C# D8 ~! A) T! J│  │     5 TabBar:用标签形式展示内容.mp4- n4 y+ b8 c$ e3 l5 w6 P
│  │     6 TabBar:自定义标签栏的样式.mp4( ]0 @/ ~7 A0 }" t+ u# I
│  │     7 Material:自定义按钮水波纹样式.mp4
  U) O+ |, }0 V6 m7 z│  │     8 Drawer:抽屉(边栏).mp4- k' a$ N( ?* x- R* ]2 B
│  │     9 Drawer:在抽屉里使用 ListView, DrawerHeader,ListTile.mp4% f! T  u  K$ U
│  │     10 Drawer:抽屉的打开与关闭.mp4. {# f" K) o, X( X& m2 Q
│  │     11 UserAccountDrawerHeader:抽屉里的用户帐号信息.mp4
8 ~/ ?+ T2 ?* `; U7 Z( @" i3 C│  │     12 用户帐户头部的背景图像.mp4% e( s' U; i- [
│  │     13 创建 DrawerDemo 小部件.mp4
. |' O) Z; z0 Y' l" r) x│  │     14 BottomNavigationBar:底部导航栏.mp4
$ U# A& `/ ]2 v- S. r│  │     15 BottomNavigationBar:底部导航栏的激活状态.mp4
/ `! |. }# |4 U# J: E3 t+ J& O" q│  │     16 StatefulWidget:有状态的小部件.mp4+ g/ ]& r" G1 i# u" L
│  │      3 u1 d6 z- X9 \- ?  y1 h
│  ├─4 Flutter 移动应用:基础部件0 z/ r" s5 ]; w* `# B# @2 ^. z
│  │     1 介绍.mp4- d9 z* N. ?8 C7 \, S! X: [
│  │     2 准备项目.mp4% L! v# a+ a' [  n! `( V8 \  R
│  │     3 查看小部件的定义.mp4
) Y( p% g  z0 \) b│  │     4 Text:文字与文字样式.mp4
7 n% _. n$ m8 b# m* T8 |' v& J! k│  │     5 RichText:行内多样式的文字.mp4$ ]: S' A" u3 @' Q% j8 L: E
│  │     6 Container:容器.mp4
/ F$ z4 o( H2 \│  │     7 BoxDecoration:装饰盒子.mp4
8 x9 O- W9 f) A0 Y│  │     8 BoxDecoration:边框(border).mp4 `
+ @- p3 U- \8 T8 G# o; \8 t│  │     9 BoxDecoration:圆角(borderRadius).mp41 Y1 s( [; f) |; \- w
│  │     10 BoxDecoration:阴影(borderShadow).mp4
! R6 K. z* P5 R) s( ~" m│  │     11 BoxDecoration:形状(shape).mp4( P7 V$ n5 K) |; O2 F, m3 V6 _  \
│  │     12 BoxDecoration:渐变(gradient).mp4
3 H: K- N% H2 x  C│  │     13 BoxDecoration:背景图像(image).mp4
1 ]- t- ?$ d& h& p│  │      5 h4 B  x9 D( P+ ^
│  ├─5 Flutter移动应用:布局; K  c7 K5 ?4 w/ f2 ]# H5 ]
│  │     1 介绍.mp4
5 ?( @3 H! H3 u  o│  │     2 准备项目.mp4/ ^7 B2 Q1 w$ C2 S" C
│  │     3 创建 LayoutDemo 小部件.mp4/ j5 T9 B# ~" k( A
│  │     4 创建可配置的图标徽章(IconBadge)小部件.mp4" f/ j1 u! p- U+ B: _% U; F4 y
│  │     5 Row(横排) 与 Column(竖排).mp4
6 Y3 M1 G( a" z0 R│  │     6 mainAxis:主轴.mp4
0 V! |0 R. q9 y# E5 I0 x2 o│  │     7 crossAxis:交叉轴.mp4
, i' w7 r% ]) h9 x│  │     8 SizedBox:固定尺寸的盒子.mp4% m# C6 S+ V( v; E
│  │     9 Alignment:对齐.mp4
1 p! q; {2 ~" X6 |$ ]4 n/ h  Z│  │     10 Stack:一摞小部件.mp4: P: F) v) n& @3 F- C# L) i% q' ]
│  │     11 AspectRatio:宽高比.mp4
2 S# y4 m3 c5 c3 ?2 \│  │     12 ConstrainedBox:带限制的盒子.mp4
6 Z' C0 ?% v5 b% X8 I1 u│  │      2 ~6 i5 W7 a, X7 Q% Z
│  ├─6 Flutter 移动应用:视图& F$ U* n7 |5 ~( N
│  │     1 介绍.mp4
9 q; G1 L1 h7 W" d# |, L8 f) F│  │     2 升级 Flutter SDK 与项目用的 Packages.mp4
, F" P( J0 W0 h: B7 Q, I│  │     3 准备项目.mp48 O: G, A4 Z% n% B9 p
│  │     4 创建 ViewDemo 小部件.mp4
# O. \6 I& n6 c3 r│  │     5 PageView:页面视图.mp48 J) v$ `4 D/ x" a
│  │     6 PageView:页面视图的属性.mp40 [, {7 O  E# {9 z- f$ F
│  │     7 PageView:用 PageController 调整页面的显示.mp4
% c  T* O2 h# o8 [6 p│  │     8 PageView.builder 按需生成页面.mp4& b4 E1 Z6 u8 n( ~0 b# s9 ~' E! q& z2 c
│  │     9 GridView:网格视图(GridView.count).mp4' Y4 X: s5 g  T( m' v% t% h( u+ g
│  │     10 GridView.extent.mp4; n/ E. [* z/ S5 ^# }) ]4 F/ t
│  │     11 GridView.builder 按需生成视图项目.mp48 \  y. g) Q* {% _) \" o' n
│  │      
6 }7 _4 x) m$ n+ w8 T│  ├─7 Flutter 移动应用:Sliver7 l9 G3 [3 i  {2 T2 O0 R
│  │     1 介绍.mp44 x1 i$ @, r' |/ ~  E1 @8 ~' \4 ]
│  │     2 准备项目.mp4& ~" [# J1 R, |* i: P" s1 Q) ]
│  │     3 创建 SliverDemo 小部件.mp4% @1 z; c2 }" g
│  │     4 Slivers.mp4
, o/ i; u* |3 o& A│  │     5 SliverGrid:网格视图.mp4
( N+ t/ D2 w0 O+ T+ v│  │     6 SliverPadding(内边距) 与 SliverSafeArea(安全区).mp49 u* |: A, g* p1 W0 T
│  │     7 SliverList:列表视图.mp4
0 |: x4 ?- H( r3 E│  │     8 SliverAppBar:应用工具栏.mp4- Q' X: M3 u6 u3 L
│  │     9 带渐近动画的可伸缩空间.mp4; h8 d6 P  Q$ z7 l2 P
│  │      8 {5 Q. q/ N0 q% s
│  ├─8 Flutter移动应用:路由
6 J0 _( a. Q+ A; m& b5 s│  │     1 介绍.mp4
$ X' e: X7 a0 m& {  A: w│  │     2 准备项目.mp4
7 @! Y. N$ t4 O9 [% U* O│  │     3 VS Code:Flutter 代码片断.mp4
5 d% {- W0 R+ p1 f( ^│  │     4 一堆路由.mp4
. `2 Z: A( L% A. o& B- e│  │     5 打开新页面并返回(push 与 pop):准备.mp4. l+ G. y+ b; s  z
│  │     6 打开新页面并返回(push 与 pop):实施.mp4/ P( R- K/ D9 M: d+ G
│  │     7 带名字的路由( Navigator.pushNamed).mp4
4 `0 b! n0 x2 z6 F# H, w│  │     8 初始路由:initialRoute.mp4' Z. Q& z! d( S+ n: ?5 v! A
│  │     9 InkWell:添加溅墨动画效果.mp4- F' ]6 W/ o0 W% E& L$ {+ c
│  │     10 在内容详情页上显示内容.mp4
4 b, x; Y! A* G│  │      
7 A1 C2 c$ J, @+ a│  ├─9 Flutter 移动应用:表单7 F% L. Y+ A. C+ I
│  │     1 介绍.mp4
2 B' c1 _* [- K# t5 Y( n& \6 w│  │     2 准备项目.mp4# U7 O- u9 x7 T. \
│  │     3 创建 FormDemo 小部件.mp40 O+ V  c1 b# `; y, d
│  │     4 Theme:定制、使用、重置、覆盖主题.mp4, M2 }( E3 R! G* R
│  │     5 TextField:文本字段.mp4
1 a) S. R" k% Q, O9 o│  │     6 TextField:文本字段样式(InputDecoration).mp4
! K) r1 L4 T, O│  │     7 TextField:监视文本字段的值的变化与提交.mp4
$ u1 {1 B* f; Z* @4 A; i) }│  │     8 TextField:使用 TextEditingController 监听文本字段变化.mp4
9 ?! x  n' g: Z; s& `6 n│  │     9 Form:表单.mp4! b% h- H" L" p/ V" h  C
│  │     10 Form:保存与获取表单里的数据.mp4
; I: u8 c. k" W9 ~8 J. o! t│  │     11 Form:验证表单里的数据.mp4
) n' A8 A+ {; {' J│  │     12 Form:自动验证.mp46 p7 d( w2 e+ Y3 R
│  │     13 SnackBar:在屏幕底部动画弹出提示栏.mp4  
$ L; x5 E5 e% ~2 U# G│  │      
' ^1 O$ H7 l4 e  }8 l+ H0 Y│  ├─10 Flutter移动应用:按钮
" ]! Q6 `! \, _6 @│  │     1 介绍.mp4
! E7 [! X9 N6 |9 D( j5 N/ R  s│  │     2 准备项目.mp4
% o! I! U1 F% L4 s. ~% O5 H│  │     3 VS Code:自定义代码片断.mp4: _7 F2 |; \$ b" A2 c5 w& t
│  │     4 准备 Material Components 演示页面.mp4
. O/ O( X4 k7 k│  │     5 FloatingActionButton:漂浮动作按钮.mp4) P5 {( u! l- G% t: T# L; J$ U+ `
│  │     6 BottomAppBar:底部工具栏.mp4
+ O' r# [! H- D: Y  }* z│  │     7 创建演示小部件用的页面.mp4: j& w; K! N+ n0 }* Z0 p# c6 f1 k
│  │     8 FlatButton:文字按钮.mp47 |" Y& F1 k$ m+ |
│  │     9 RaisedButton:按钮.mp4
, p2 g* [* P& S& i│  │     10 按钮主题:颜色、形状.mp4& |! }9 `+ t7 I9 c3 i, w6 J. F
│  │     11 OutlineButton:描边按钮.mp4
' g* |" i% N$ w│  │     12 按钮容器 Container:有固定宽度的按钮.mp4
  s$ O- F: p& K# t  j" R* W│  │     13 按钮容器 Expanded:占满可用宽度的按钮.mp4
) ]: G8 G5 M6 O& `% x, h: x│  │     14 按钮容器 ButtonBar:一组带边距的横排显示按钮.mp49 x( s% n/ B" o
│  │     15 整理:把演示放在单独的文件里.mp4
% e7 ]0 ]' y  Q# h  w+ P/ X│  │     16 准备 PopupMenuButtonDemo.mp4
  h8 W1 }/ i* f$ Z; C│  │     17 PopupMenuButton:弹出式菜单按钮.mp4
) C+ d8 m1 F: l) q5 N│  │    8 I" Z/ @  [7 A5 \
│  ├─11 Flutter 移动应用:输入. S# ^! O* n' j: F7 H, [& w& B
│  │     1 介绍.mp41 L" \/ h( U" H4 {6 j& M
│  │     2 整理:在演示列表里添加 FormDemo.mp4
+ E+ J' d3 o0 t; S1 Z7 [% _│  │     3 创建用户输入相关的小部件的演示页面.mp4* M( \; e# j, r: m
│  │     4 Checkbox:复选框.mp4+ I2 r/ f; a; ?, v7 s
│  │     5 CheckboxListTile:带标签与图标的复选框.mp4
9 n0 g- R" y4 {│  │     6 Radio:单选按钮.mp45 H8 H+ B* c5 p
│  │     7 RadioListTile:带标签与图标的单选按钮.mp4! u- G6 ]9 _& I
│  │     8 Switch:开关.mp4$ n! U* {- @! r
│  │     9 SwitchListTile:带标签与图标的开关.mp41 g" z5 I  A" \" ]5 D# r
│  │     10 Slider:滑动选择器.mp4
, G! i9 N5 U7 i. K! b8 {" V# r│  │     11 安装第三方包(演示安装 Intl 包).mp4' z* U: w1 q6 A$ Y2 x, Q
│  │     12 显示格式化日期.mp44 w( n/ e+ y1 X, w
│  │     13 showDatePicker:选择日期.mp4' _$ i1 i$ u* `; m. n7 ^2 _: n
│  │     14 showDatePicker:获取选择的日期(async).mp4
  [, K6 k  Z  @│  │     15 showTimePicker:时间选择器.mp4
2 ~. P5 U4 w0 L  A( |7 F; N│  │     16 Future:异步程序.mp4, Q* m  D) }/ t- A7 T
│  │      ; [6 E. E4 o9 {2 j/ N! w( i
│  ├─12 Flutter 移动应用:对话框/ j+ U9 Z* @- ~/ i$ N1 J
│  │     1 SimpleDialog:显示对话框(showDialog).mp4" M4 `7 M8 t3 a" f* y
│  │     2 SimpleDialog:选项(SimpleDialogOption).mp4
# L& {+ X! z$ z! o  Y8 Y│  │     3 SimpleDialog:获取与使用选项的值.mp4. V1 y+ G3 Q$ A3 Z3 r( _
│  │     4 AlertDialog:提示对话框.mp46 o6 R) P  Z! I3 g/ Z6 T
│  │     5 AlertDialog:获取与使用动作的值.mp41 F1 F/ K% d3 u* v  `
│  │     6 BottomSheet:底部滑动窗口.mp4/ L; q! ?! w" w! i
│  │     7 BottomSheet:对话框式底部滑动窗口(showModalBottomSheet).mp4
  M! `- x6 D" K│  │     8 处理使用对话框式底部滑动窗口的数据.mp4* B, P! U- i1 @# ~( J/ ^& i
│  │     9 SnackBar:操作提示栏.mp4
8 O0 ]2 [& @! M' N3 d) A, p& s/ b│  │     10 ExpansionPanel:收缩面板.mp4& V, b  m9 l7 u3 T9 H( F1 h7 g
│  │     11 ExpansionPanel:面板的收起与展开.mp4
' q; o  E: e# p( |│  │     12 ExpansionPanel:面板列表项目.mp42 U6 c) G: H6 J& R
│  │     % X6 b' P, V) d3 U; b! j! c# Z5 p
│  ├─13 Flutter移动应用:MDC2 q: u. g, L/ N) M3 B: J/ i5 O6 z
│  │     1 介绍.mp4; A' s0 k" q5 c) V8 @+ c( f# i
│  │     2 升级 Flutter SDK 后屏幕报错(0.8.1).mp4
4 u3 C8 W& I- V# c8 v│  │     3 Chip:小碎片.mp47 c  a" k) `( i) Y2 c9 K/ f
│  │     4 Wrap:换行显示小部件.mp4
6 k: E" p0 G  t2 L5 L8 G4 d│  │     5 Divider:分隔符.mp4) }& N+ C  R  W2 `9 M7 t* I
│  │     6 Chip:带删除功能的小碎片.mp42 |) ?# ]* A' U( D" [8 s
│  │     7 Chip:用列表生成带删除功能的小碎片.mp4  [+ z5 D1 [+ o1 R
│  │     8 ActionChip:动作碎片.mp4
5 a, K, D+ ^( S' o│  │     9 FilterChip:过滤碎片.mp48 Z8 m+ F% a: U% |% M- R
│  │     10 ChoiceChip:选择碎片.mp49 e; ~, E# |" e2 G& j
│  │     11 DataTable:数据表格.mp41 g+ X' b8 j; R& s+ C$ y
│  │     12 DataTable:用列表生成数据表格.mp4
2 }  O& D  h7 H9 T5 \' s! K│  │     13 DataTable:数据表格的排序.mp4
+ S1 U* C: P4 ?8 q# J│  │     14 DataTable:选择数据表格行.mp4
+ n8 ~+ @+ b" O9 U│  │     15 PaginatedDataTable:分页显示表格数据.mp4: g( \( ]8 ]! F, C
│  │     16 PaginatedDataTable:排序.mp4) L" m, q+ M  ]) y! f8 c7 c+ z
│  │     17 Card:卡片.mp46 ~0 e9 X. C& L0 L
│  │     18 ClipRRect:圆角(给图像添加圆角效果).mp4
6 E- n) s8 i+ M' x1 X. M│  │     19 Stepper:步骤.mp4
2 {4 o, M! M  ~( P│  │     20 Stepper:步骤的行为.mp4
0 _3 B, y. n# w& [1 _/ o! L. b$ L│  │      
/ b9 M  d/ r. p* R6 _9 S( y│  ├─14 Flutter 移动应用:状态管理
+ R0 r3 O! T. X+ Z│  │     1 介绍.mp4& B. G& N4 @( |$ M
│  │     2 准备项目.mp47 s$ e# f" L3 R; l* R! o
│  │     3 创建 StateManagementDemo 小部件.mp4
% x. U7 p! ~( `4 W, m│  │     4 StatelessWidget:无变化状态的小部件.mp4; g/ _3 d0 ]" A  W7 |' d" C, {
│  │     5 StatefulWidget:带变化状态的小部件.mp4
9 a- I6 Z1 ]3 E│  │     6 状态管理(由父辈管理状态).mp4
6 i: ~8 }3 W1 Q4 |- S. ^│  │     7 从父辈那里传递个回调.mp42 u: F+ L' V/ @4 \8 L
│  │     8 小部件树:Widget Tree.mp4
+ K4 F- w; o1 j+ }│  │     9 InheritedWidget:直接把数据传递给需要的小部件.mp41 N8 j+ y6 g2 l' l# S. U# V
│  │     10 创建与使用 InheritedWidget 有效地传递数据给子部件.mp4 6 ~. @3 d; f) u4 C
│  │     11 ScopedModel:安装与基本用法介绍.mp4  
) E, ]1 D) r) \/ M' A│  │     12 使用 ScopedModel 传递数据.mp4
7 `8 E6 O' c. x1 }│  │      
) o) b( m5 Y5 L, j; {% s& |│  ├─15 Flutter 移动应用:Stream9 g  f$ z) H( V$ N( X+ U4 r
│  │     1 介绍.mp4
& p+ h" H% ?: u1 T; t. z) X│  │     2 准备项目.mp4
' A2 \5 h. i+ w- u│  │     3 创建 StreamDemo.mp4
! n8 k8 i% s' q" {' W5 y+ m. e1 \│  │     4 创建与监听 Stream.mp4
6 G: }) g/ H$ u/ P/ G/ h│  │     5 给 Stream 添加一个订阅(subscription).mp42 p7 r3 l$ z5 q7 a9 G( {% M
│  │     6 暂停、恢复、取消监听 Stream.mp4, f  @7 Q+ }% ~$ \0 T
│  │     7 StreamController:控制 Stream.mp4
1 Y- g6 z7 L! Y6 R8 S│  │     8 StreamController:使用 Sink 往 Stream 上添加数据.mp4
1 @/ t1 a7 j9 D( Y│  │     9 StreamController:创建可以多次订阅的 Broadcast Streams.mp4
: y& `* k; {2 P- w│  │     10 在界面上显示 Stream 上的数据.mp47 u; F6 s8 g7 d5 J" S) s& B, n4 g
│  │     11 StreamBuilder:根据 Stream 上的数据构建小部件.mp42 v4 }# t8 H( f; G
│  │      : a* @* i# r  f
│  ├─16 Flutter 移动应用:RxDart% ]# L  W: W  l% M4 P- c) h0 y$ O
│  │     1 介绍.mp4
: w- k9 |  W( F! [3 J1 j6 h' Y6 n) ?│  │     2 准备项目.mp4
7 t) p8 V7 k! s/ f│  │     3 创建 RxDartDemo.mp4. [" t) t9 f7 J  v4 X  y6 U+ z! O
│  │     4 安装 RxDart 包.mp4* y, v/ |0 |/ E) a6 j* K$ ^7 m
│  │     5 Rx,RxDart,Observable 与 Stream.mp4$ Y4 J# G# {/ u0 G0 B- K
│  │     6 Observables.mp4
; V+ }. S# P' L- ]2 W0 c│  │     7 创建 Observables 的几种方法.mp4+ n9 B, i9 H6 V/ G; n0 z4 @  y, T
│  │     8 使用 Subjects 控制 Observables.mp4
/ S$ a& J9 C; N& S; Y$ @│  │     9 BehaviorSubject.mp4
9 _5 b3 O9 Z. m( }( G3 i0 H│  │     10 ReplaySubject.mp42 t* F* i1 E4 B( F3 G0 U' x  @# I
│  │     11 准备一个文本框往 Observable 上添加数据.mp4" X6 E+ i: W: `8 i* y* J
│  │     12 RxDart 的数据转换方法(map).mp40 R0 y1 U" V( `8 M4 K  q6 v9 s
│  │     13 where.mp4
( j# ]8 b3 N( i7 L' p* i  U" T% F│  │     14 debounce.mp4
: C) a1 b# m/ ]! r- E│  │   
- ?6 w" ?8 d* x* J! Y; {: O6 C│  ├─17 Flutter 移动应用:BLoC
5 f; Y. W9 H+ [% E- T! t: @6 j% t│  │     1 介绍.mp4) W0 U- d& Q  S
│  │     2 准备项目.mp4
( k# z  d' n; u  ?0 A) Q, x$ n│  │     3 创建 BlocDemo.mp4
4 c1 A3 v" |& l& A6 z│  │     4 BLoC:Business Logic Component.mp4
- ~" R  `! B0 `  E1 G0 h│  │     5 BLoC 应用案例(记数器):准备基本小部件.mp4
5 F5 e6 S8 G% R/ {0 O* a│  │     6 使用 InheritedWidget 传递 BLoC.mp40 Q7 ^. \/ ^3 J
│  │     7 创建与使用 BLoC:用 Sink 输入数据.mp4" C9 o( }2 t: s8 I! i; V6 U
│  │     8 创建与使用 BLoC:用 Stream 输出数据.mp4" t! S# n$ G6 N; l4 ~2 g
│  │      / {0 R/ i5 f: b  h, t8 F6 R, I* k
│  ├─18 Flutter 移动应用:网络请求
9 |1 I! m! ?# T& a* V" c│  │     1 介绍.mp4( d$ }2 o/ t( z& W* o- F; J9 Z
│  │     2 准备项目.mp4: l. Y0 ~4 _5 e* Y8 R* z2 R
│  │     3 创建 HttpDemo.mp4
4 Q! k; O$ ^/ L( W. U│  │     4 安装 http 包(升级 Flutter SDK).mp4
' Z: u/ R! f0 D│  │     5 使用 http 客户端请求数据.mp4
& L# c* u" @& @& R$ I! F6 i│  │     6 JSON 转换(dartconvert).mp4
" Z1 P$ w! ?" l) r│  │     7 使用 Model 类转换数据:fromJson.mp4
+ g$ \3 _9 n9 ]# a│  │     8 使用 Model 类转换数据:toJson.mp49 P5 p* y9 j  k7 z
│  │     9 使用请求数据:把响应的数据转换成自定义 Dart 对象.mp4. t% G  F+ w* ?8 R% h, l5 ?5 k% {/ l
│  │     10 FutureBuilder:使用 Future 构建小部件.mp44 i4 L' l/ `5 A) K! ^+ b
│  │      ' X' ]" X+ A, |1 i
│  ├─19 Flutter 移动应用:动画# @* M: t1 m$ L5 B) w
│  │     1 介绍.mp4; N$ s3 J  Z5 v; I- I; h
│  │     2 准备项目.mp4
1 @; L: p! {+ R8 z4 H│  │     3 创建 AnimationDemo 小部件.mp4: _& m$ ]1 f' u! y2 `
│  │     4 AnimationController:动画控制器.mp4- J  k  d( x& U$ M* `9 _& x$ w( U; c
│  │     5 使用动画的值.mp4
7 r! i# |# f% s7 H- P│  │     6 动画的状态与运行.mp4
% O( f: Q7 I; M% ?% ]│  │     7 Tween:设置动画范围值(数字、颜色).mp46 M1 z+ n$ E, a* ?- U6 e
│  │     8 Curve:动画曲线.mp4
( n3 l. A; [/ D│  │     9 AnimatedWidget:动画值有变化就自动重建自己的小部件.mp4
0 x8 g3 F# a- Z7 {6 C8 n$ |1 r9 k│  │      " ]. }" G' P7 l  P. ^# k; B
│  ├─20 Flutter移动应用:国际化. L, H  T( t8 p8 E" ~
│  │     1 介绍.mp4
: q% g5 ]5 Q+ o3 r# j│  │     2 准备项目.mp48 r+ S4 h8 w9 ~  z+ z  {' G
│  │     3 创建 I18Demo 小部件.mp4' {# g- K+ ]) L3 X( m: \2 d9 f; P
│  │     4 安装与配置 Flutter 应用的国际化.mp45 J" V" j$ w) ]. \! ^  u* j
│  │     5 配置 iOS 项目使用多种语言.mp4
( M5 @1 e" e4 k9 i8 A) Z% J( f│  │     6 演示 Material 组件的多语言.mp4
# ~8 {4 t' ^+ s: @│  │     7 寻找 Localizations 小部件.mp4
/ O9 s" [) H5 e; y4 B$ X│  │     8 获取与设置语言和地区(理解 Locale 类与 Localizations 小部件).mp4
; S  J+ T8 ]: r. V│  │     9 定义本地化资源类.mp4
2 J) L/ e8 p) v# W│  │     10 加载本地化资源.mp43 \: k. ]" C+ ]8 {+ H; A+ C
│  │     11 使用本地化资源.mp4
3 `8 W: d, z8 }5 R5 i% I$ ^0 m│  │     12 Intl:定义需要翻译的信息.mp4
$ u8 l5 y9 p9 A9 }│  │     13 提取信息模板并翻译信息.mp4$ I* D& _- P$ m+ e3 e: Z6 B
│  │     14 基于arb 生成 dart 文件.mp4
7 N6 N: [/ N6 w& @# \3 F4 P8 v+ _│  │     15 加载与使用本地化信息.mp4
4 ]& r9 k% |8 F( i, p! v( ~/ D│  │" @9 O8 R& n4 X; C2 K
│  ├─21.Flutter移动应用:测试
* c9 ]% N4 [) b5 H, J' ?0 [│  │     1.介绍.mp4
+ H, W' u/ {) ?3 u│  │     2.准备项目.mp49 K6 ~2 b+ M% G; a' ~
│  │     3.Unittesting:单元测试.mp4! V# g, W! i2 @& H# x5 W9 z
│  │     4.运行测试.mp46 N$ t  ^/ g$ x" k, H+ ~: @
│  │     5.WidgetTesting:测试小部件.mp4
- Q& r; @+ c! i9 @$ W$ k│  │     6.找到并验证小部件(Finder与Matcher的用法).mp4( [" B9 t3 T8 `
│  │     7.测试小部件的点按行为.mp4$ Y: M) r# q) {( p! F
│  │     8.Integrationtesting:集成测试.mp4
/ d/ M7 K: |: l. Y, V$ c│  │     9.编写与运行集成测试.mp4
8 y* A) f, q% w! w' d/ J│  └─源码$ @$ F8 F( V3 l
│         ninghao_flutter-master.zip
" V1 i. x! r- w- w, ?5 d! {
% E, |8 X8 ^( U6 D: @# t

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

×
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

站长推荐上一条 /1 下一条

点击这里给我发消息

QQ|小黑屋|Archiver|手机版|一路学IT论坛 专业视频教程网站

GMT+8, 2026-4-17 23:47

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

快速回复 返回顶部 返回列表