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

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

[复制链接]
累计签到:85 天
连续签到:1 天
发表于 2019-7-18 16:11:33 | 显示全部楼层 |阅读模式
课程目录:
/ _+ c# n/ R7 B8 b  A; Y' X" Y( z│  ├─1 Flutter 移动应用:开发准备
1 O' g3 V% `5 U! M│  │     1 介绍.mp4
& P1 @+ F. W3 a7 h  G# H│  │     2 安装 Flutter SDK(macOS).mp4, s& Z$ c2 k% e, P' z
│  │     3 配置 iOS 开发环境(macOS).mp4
. o- _! z: m. x4 @8 I│  │     4 配置 VS Code 代码编辑器.mp4
! P+ y5 L5 u, j" a2 ?9 F│  │     5 配置 Android 开发环境(macOS).mp4( b; z& @7 |) t+ ^
│  │     6 检测问题:flutter doctor.mp46 F. c4 W: P+ J9 j7 l, K
│  │     7 Flutter 在中国地区的特别设置(macOS).mp4
/ Q  e  Q% G; m$ y8 p# s/ b│  │     8 创建 Flutter 项目.mp4, i# g! V% O) o
│  │     9 运行 Flutter 项目(iOS 模拟器).mp4
4 C- s5 z  H- P) T) _) _6 p4 ~│  │     10 在 Android 模拟器上运行 Flutter 项目.mp41 e6 c4 @! O! T2 u8 q& G
│  │      + z2 O* t! G" i4 v- b4 w
│  ├─2 Flutter移动应用:快速起步) o$ ^* a# q1 c9 d' c  \
│  │     1 介绍.mp4
* }( g" j9 o" Y6 |6 J8 H5 n9 p8 a│  │     2 准备项目.mp4  e  y0 \$ H1 d4 z# E
│  │     3 在屏幕中间显示 “hello”.mp49 U3 d+ R3 y0 C5 G. ^! R
│  │     4 自定义小部件(Widget).mp4
9 X! |' ?) `# I3 a│  │     5 文字的样式:TextStyle.mp45 P+ p, `3 ^7 w( W( v: e
│  │     6 MaterialApp:使用界面组件与定制界面主题.mp4
8 K/ ~% R! U$ z3 [  q6 q│  │     7 列表:准备数据.mp4
8 @- P+ n8 o! O* b. D  ~│  │     8 列表视图:ListView.builder.mp4
1 i5 a) m8 \, I& ?& r│  │     9 列表项目.mp4
4 c: L" z0 D! @. I; f9 {8 f│  │      
: x- M# S$ b1 B6 a│  ├─3 Flutter 移动应用:界面结构: }1 j* i4 G5 G* @
│  │     1 介绍.mp4
7 j: z9 k  c9 y  g1 `$ C- R│  │     2 准备项目.mp4
& C2 K; ~( d2 }$ x2 S/ y│  │     3 Material 应用.mp4; d# v$ {6 N# e5 w' h$ K
│  │     4 AppBar:工具栏上的图标按钮(IconButton).mp43 ?7 G( e. _  C9 I: b" h4 W5 n
│  │     5 TabBar:用标签形式展示内容.mp4
: |* z! u. d# v│  │     6 TabBar:自定义标签栏的样式.mp4% h, [$ Z0 g1 L6 u# {2 F- t
│  │     7 Material:自定义按钮水波纹样式.mp4
# |# H! E6 ~0 U* H) d│  │     8 Drawer:抽屉(边栏).mp41 X+ ~2 j- M0 n
│  │     9 Drawer:在抽屉里使用 ListView, DrawerHeader,ListTile.mp4
1 p7 v1 o5 u" t5 _│  │     10 Drawer:抽屉的打开与关闭.mp4
  |$ W# X$ B4 b5 D9 v+ H' n│  │     11 UserAccountDrawerHeader:抽屉里的用户帐号信息.mp4
+ c$ ]  y: A2 H& |3 I) t│  │     12 用户帐户头部的背景图像.mp4
' o$ B" {2 f2 f% c% s! `2 `│  │     13 创建 DrawerDemo 小部件.mp4
2 a1 I* _; K% U$ c! o│  │     14 BottomNavigationBar:底部导航栏.mp4& |! R, E& l0 L; x% o
│  │     15 BottomNavigationBar:底部导航栏的激活状态.mp4! R0 R; f- y* W/ k* ^
│  │     16 StatefulWidget:有状态的小部件.mp4
6 M# y0 s1 W" V│  │      
& o& C! h% ]9 L5 C9 U/ {2 a│  ├─4 Flutter 移动应用:基础部件
& U; V$ w1 z4 m│  │     1 介绍.mp40 J# H  G+ B& }! M* I+ y8 z0 V
│  │     2 准备项目.mp4
9 F7 G' |( O! Z│  │     3 查看小部件的定义.mp4  s5 t, x# Z8 b
│  │     4 Text:文字与文字样式.mp4! {) O; I# A1 O
│  │     5 RichText:行内多样式的文字.mp4
5 o: L3 n- J- T1 N│  │     6 Container:容器.mp4
" p. k& \3 {3 V& S5 \" ?8 c9 X% k) X7 K% N│  │     7 BoxDecoration:装饰盒子.mp4% A9 J2 f" y/ x& h1 V
│  │     8 BoxDecoration:边框(border).mp4 `6 ?, \! H/ z( R- `
│  │     9 BoxDecoration:圆角(borderRadius).mp47 ^) s) `; n" u" a. [: p$ P
│  │     10 BoxDecoration:阴影(borderShadow).mp4
5 R& l) m2 O1 J( `) }2 p, C3 f│  │     11 BoxDecoration:形状(shape).mp4
" y1 X: v, q  y' _$ d0 X: z│  │     12 BoxDecoration:渐变(gradient).mp4
, M* v7 Z4 C& N0 l1 \  y│  │     13 BoxDecoration:背景图像(image).mp4
  o/ m) f( P) V0 e: d* s& E│  │      # s6 `& j' _9 ~& z: u% j& \2 B
│  ├─5 Flutter移动应用:布局
7 ]4 s/ H2 H$ U( u│  │     1 介绍.mp4/ N" m8 j9 w# l
│  │     2 准备项目.mp4- u9 N, c* K% q0 K: \- O3 C
│  │     3 创建 LayoutDemo 小部件.mp4) T, e8 x$ h! S& }3 p
│  │     4 创建可配置的图标徽章(IconBadge)小部件.mp48 L# _6 K4 B4 \8 \
│  │     5 Row(横排) 与 Column(竖排).mp4
3 L& E# k2 i+ g/ F3 ^8 r* F│  │     6 mainAxis:主轴.mp4
: ?+ `% D1 g2 y* f5 \! `! O│  │     7 crossAxis:交叉轴.mp4
" A  `  u8 b% m$ ]1 R* o( @│  │     8 SizedBox:固定尺寸的盒子.mp4
  S" N/ `5 i) U% T2 f3 j│  │     9 Alignment:对齐.mp4
1 G* d: h) S5 O: w│  │     10 Stack:一摞小部件.mp40 K" g8 B" a' {+ ?
│  │     11 AspectRatio:宽高比.mp4
. N0 k* S0 g6 I, Q( E: i│  │     12 ConstrainedBox:带限制的盒子.mp4; y7 D) C: k, ?# `. q( I
│  │      
2 X2 G6 O8 R- x3 h" L│  ├─6 Flutter 移动应用:视图, Z, v' y. z! \) y2 N3 y! \
│  │     1 介绍.mp43 b3 \6 l+ N' `3 L
│  │     2 升级 Flutter SDK 与项目用的 Packages.mp4
0 ]$ c% Q( r3 ^│  │     3 准备项目.mp4
* b( E/ t/ d! e$ K: j" G│  │     4 创建 ViewDemo 小部件.mp4  ], Z- D) S+ q' b7 u  \( v
│  │     5 PageView:页面视图.mp4
9 H' |1 Y: }7 t0 m' A│  │     6 PageView:页面视图的属性.mp49 N+ {# F: M# w- \
│  │     7 PageView:用 PageController 调整页面的显示.mp4  ?( t3 X$ c* c2 |- ]
│  │     8 PageView.builder 按需生成页面.mp4
0 S* x- w3 U- @" a& a│  │     9 GridView:网格视图(GridView.count).mp4
6 C# u& i; i# w" o│  │     10 GridView.extent.mp41 e: H, d% P5 z
│  │     11 GridView.builder 按需生成视图项目.mp4
6 S6 p0 g5 N+ A; z1 i│  │      9 Z/ s' v7 }9 R. Q6 Y  @
│  ├─7 Flutter 移动应用:Sliver# ^- t8 H' n" t5 B4 J$ H6 M
│  │     1 介绍.mp4+ |4 L/ a; o* _
│  │     2 准备项目.mp45 f! w7 s8 s; v- b. X8 |
│  │     3 创建 SliverDemo 小部件.mp4% K2 ]6 l; N: r4 _% Q
│  │     4 Slivers.mp4% k1 `, u) U( ~3 {- Y! r0 u
│  │     5 SliverGrid:网格视图.mp4' o3 ]4 ]% v. e- X3 D0 }
│  │     6 SliverPadding(内边距) 与 SliverSafeArea(安全区).mp4
' b4 Q# M/ o* |; E% G│  │     7 SliverList:列表视图.mp4 7 {5 b  o1 U7 b- [5 Y* w
│  │     8 SliverAppBar:应用工具栏.mp4# d) @7 P1 f+ _9 |4 N( x, L
│  │     9 带渐近动画的可伸缩空间.mp4
! |% E6 v$ N) _1 P/ O  p+ o│  │      / m2 D" ~7 E2 X% K; ]* s( \1 M' o
│  ├─8 Flutter移动应用:路由9 w5 K: G& }+ Y$ l1 G
│  │     1 介绍.mp41 z8 X! ^, [/ `0 d
│  │     2 准备项目.mp4, _2 G2 u: P7 Z( f" m$ ^0 d& \9 G
│  │     3 VS Code:Flutter 代码片断.mp41 N( n8 h- U9 m4 B; l* i
│  │     4 一堆路由.mp4
. t' _: ]- W8 w+ K│  │     5 打开新页面并返回(push 与 pop):准备.mp4
! j. ^4 N4 _6 P# W1 [+ M+ K│  │     6 打开新页面并返回(push 与 pop):实施.mp4# g/ D. S: W3 t+ K2 G
│  │     7 带名字的路由( Navigator.pushNamed).mp4
" k( b. e9 q. V│  │     8 初始路由:initialRoute.mp4. X4 ~9 Z5 @! y0 _9 ^  y* i: c1 |
│  │     9 InkWell:添加溅墨动画效果.mp4
/ ~( Q, J+ C' I, H2 o│  │     10 在内容详情页上显示内容.mp4. d* v$ T# n  J; g0 c+ P, W# `
│  │      8 f0 r) `, G$ Y! z# D! `# n
│  ├─9 Flutter 移动应用:表单
+ n) }, _- ^8 m; b│  │     1 介绍.mp4
% X. d3 w- ~% H# q! D│  │     2 准备项目.mp4
  D- d* r5 ^. r" U" l. m6 M7 p│  │     3 创建 FormDemo 小部件.mp4
. s8 T5 g0 a8 J# d# C7 Q" R' i& O9 o' G│  │     4 Theme:定制、使用、重置、覆盖主题.mp4# M; x5 d- g, s/ i9 r1 X: D
│  │     5 TextField:文本字段.mp4- b" d# Q1 y, O$ f4 X
│  │     6 TextField:文本字段样式(InputDecoration).mp4* F; i4 R/ h0 G+ L7 o* h
│  │     7 TextField:监视文本字段的值的变化与提交.mp4
4 I( k, D! E0 M, a│  │     8 TextField:使用 TextEditingController 监听文本字段变化.mp4
" h) ^. a( R, H+ I│  │     9 Form:表单.mp44 j, L  U: t, _, k7 C+ P6 Y
│  │     10 Form:保存与获取表单里的数据.mp4& \2 Z- f5 K, k: b5 I
│  │     11 Form:验证表单里的数据.mp4$ @) x& n% E3 [2 v* v, y0 X
│  │     12 Form:自动验证.mp4  \$ E8 d* N, f
│  │     13 SnackBar:在屏幕底部动画弹出提示栏.mp4  ( Q( `6 L, V9 l$ F7 G4 W) J
│  │      
5 K. J3 L0 T2 m( l4 L  g3 P& I9 e1 {- J│  ├─10 Flutter移动应用:按钮
& t4 z0 ]( E  \' ^/ S6 U/ l' ]│  │     1 介绍.mp4! t, p: m& k2 a  ^
│  │     2 准备项目.mp4
+ _8 {+ N" s+ \2 F5 ~' J│  │     3 VS Code:自定义代码片断.mp4' Z6 [. z: p! G$ h1 N; n3 U
│  │     4 准备 Material Components 演示页面.mp4
+ f0 r; ?! |7 Q3 Z1 ^. j│  │     5 FloatingActionButton:漂浮动作按钮.mp4
; D. }& n; ~! v4 k. z( a8 m. b│  │     6 BottomAppBar:底部工具栏.mp4
& D; q: {. }# W- L; J0 {- C│  │     7 创建演示小部件用的页面.mp43 ^; \8 b9 V( G: Y- _, |) H# P
│  │     8 FlatButton:文字按钮.mp4
2 v- D. b& [0 g3 @) R# Z9 j- M│  │     9 RaisedButton:按钮.mp4
/ ]0 A7 Z' a; ]8 F. M5 K6 w│  │     10 按钮主题:颜色、形状.mp49 p- v/ k3 L7 {9 ?( y7 E9 w
│  │     11 OutlineButton:描边按钮.mp4
! f' l, _- k- M, N- J$ @│  │     12 按钮容器 Container:有固定宽度的按钮.mp4
/ g) u: H! W. B0 [1 B3 A│  │     13 按钮容器 Expanded:占满可用宽度的按钮.mp4% \) Y- B: Z* s1 H. u- ]
│  │     14 按钮容器 ButtonBar:一组带边距的横排显示按钮.mp4
% f" `% J- z2 h6 w5 r. S│  │     15 整理:把演示放在单独的文件里.mp41 t3 l" x6 ~# n
│  │     16 准备 PopupMenuButtonDemo.mp4
. B) S% c3 t" C! x9 {  h. Q│  │     17 PopupMenuButton:弹出式菜单按钮.mp4: ?% {: H- B/ D+ z* T! D  S: y1 b6 ?
│  │    5 h6 v6 d' P, p( s
│  ├─11 Flutter 移动应用:输入
/ |  |5 {4 `% f. j  O0 l8 p0 b0 }│  │     1 介绍.mp4
3 O& l7 l% B5 \2 W* |% |; E│  │     2 整理:在演示列表里添加 FormDemo.mp4( T( b- V' w  V0 @  e  u
│  │     3 创建用户输入相关的小部件的演示页面.mp48 D! q7 \0 D& r
│  │     4 Checkbox:复选框.mp4
0 {5 H; H. i/ p/ w9 |- ^& y% q$ J│  │     5 CheckboxListTile:带标签与图标的复选框.mp49 |6 R& @& h7 W
│  │     6 Radio:单选按钮.mp4
( i- V' D2 |9 v5 o1 d) p│  │     7 RadioListTile:带标签与图标的单选按钮.mp4
9 Z5 f- D* G" v2 x3 g│  │     8 Switch:开关.mp4% P9 `8 @9 `5 c  E5 ^' Q* m% M* v9 ^
│  │     9 SwitchListTile:带标签与图标的开关.mp4/ K$ v/ G/ y& v( D0 S& h
│  │     10 Slider:滑动选择器.mp4
% G8 h- D/ X" u# z( }8 W' Y5 ~│  │     11 安装第三方包(演示安装 Intl 包).mp4
* Y2 F9 ^7 N2 o6 t│  │     12 显示格式化日期.mp4
2 C& ?8 E, B+ u9 S│  │     13 showDatePicker:选择日期.mp4
( U' C+ `& T  A│  │     14 showDatePicker:获取选择的日期(async).mp4& U$ }" K2 n( ^/ c! T
│  │     15 showTimePicker:时间选择器.mp4
$ u2 D! P8 _: v3 j0 [│  │     16 Future:异步程序.mp4# i' {6 _5 S% @
│  │      / w; |/ U! w- v  W: j! P
│  ├─12 Flutter 移动应用:对话框4 S% |- i! `, s4 |7 |7 w
│  │     1 SimpleDialog:显示对话框(showDialog).mp4" e5 d, u( B: u6 s( x4 P
│  │     2 SimpleDialog:选项(SimpleDialogOption).mp4
2 V+ q( }$ R9 c│  │     3 SimpleDialog:获取与使用选项的值.mp4: z% x+ ^/ H! Q/ z/ g
│  │     4 AlertDialog:提示对话框.mp4
& j6 |' w0 e: N" T/ U7 |5 U) i% y│  │     5 AlertDialog:获取与使用动作的值.mp4
3 I$ `$ }6 `( v& |  a/ K│  │     6 BottomSheet:底部滑动窗口.mp4! i( ?: U+ U& l" J5 [
│  │     7 BottomSheet:对话框式底部滑动窗口(showModalBottomSheet).mp4) u: r$ g& P/ L7 V1 T. q
│  │     8 处理使用对话框式底部滑动窗口的数据.mp4
5 }2 C! Z: f5 p│  │     9 SnackBar:操作提示栏.mp42 c9 u+ L7 N; x+ M! \
│  │     10 ExpansionPanel:收缩面板.mp45 F: j+ }" j( J* X
│  │     11 ExpansionPanel:面板的收起与展开.mp4
  L+ K0 K& N! b) u: R. ~; q3 }│  │     12 ExpansionPanel:面板列表项目.mp4
- h' s5 F0 T! Z/ `0 S. C' L│  │     
) d: n) q, H8 z. h│  ├─13 Flutter移动应用:MDC
; l" a/ e) o6 u: N3 D1 n│  │     1 介绍.mp4
- Z, o# Z7 h$ v8 ?: `│  │     2 升级 Flutter SDK 后屏幕报错(0.8.1).mp47 G- A0 @: g5 ~- Z2 ^" {1 U  Z+ c
│  │     3 Chip:小碎片.mp4! T7 ?; {& K7 G/ x( O5 K( s
│  │     4 Wrap:换行显示小部件.mp4
# D6 R/ I9 [1 D, T* Z│  │     5 Divider:分隔符.mp4* ?" Z% [, v& Z
│  │     6 Chip:带删除功能的小碎片.mp46 a. s0 j* P3 c" x5 ~& ^
│  │     7 Chip:用列表生成带删除功能的小碎片.mp49 C5 X1 d8 ?: O4 W; L
│  │     8 ActionChip:动作碎片.mp4* ?5 F5 n5 L5 E
│  │     9 FilterChip:过滤碎片.mp4
7 h+ x  S2 K8 t* }" s( W│  │     10 ChoiceChip:选择碎片.mp48 \, t; S( D" U/ _* E0 T
│  │     11 DataTable:数据表格.mp4; x* T" U' B" ]' L, n8 ~( q
│  │     12 DataTable:用列表生成数据表格.mp4% X( o2 B, L/ C% P2 c; I1 g
│  │     13 DataTable:数据表格的排序.mp4! t4 o  W2 T7 {: N2 O: C( R8 l, ^
│  │     14 DataTable:选择数据表格行.mp4$ @" S1 d6 M" V1 E: G$ W
│  │     15 PaginatedDataTable:分页显示表格数据.mp4
! n2 [, x% M$ l& j1 `) m) _5 y│  │     16 PaginatedDataTable:排序.mp4/ E9 ]! W% Y; {1 @* _
│  │     17 Card:卡片.mp4
/ g9 c. [9 A- O0 K) D│  │     18 ClipRRect:圆角(给图像添加圆角效果).mp4
1 T5 z& J) e+ I0 g/ `; B│  │     19 Stepper:步骤.mp48 K" ?; y5 v3 s, y- L9 K! c$ F
│  │     20 Stepper:步骤的行为.mp4
0 v- G/ X) D4 |7 j$ m0 L; j│  │      + W4 C0 g3 @+ a8 i0 i
│  ├─14 Flutter 移动应用:状态管理, W$ ~4 \4 ]3 _% @: Z& F2 E4 ?  o
│  │     1 介绍.mp4! u+ U& J0 m+ r  Z, r5 I$ O1 U
│  │     2 准备项目.mp4
. m! g/ X1 M  p6 u│  │     3 创建 StateManagementDemo 小部件.mp4  R, n9 I! \/ s  K2 u( ^
│  │     4 StatelessWidget:无变化状态的小部件.mp4" O+ K7 M' S( V! H; t& S( |& Y: J
│  │     5 StatefulWidget:带变化状态的小部件.mp47 Z& Q7 [& Y( @" _/ c
│  │     6 状态管理(由父辈管理状态).mp40 ], s& |8 X0 s) v- b9 p
│  │     7 从父辈那里传递个回调.mp4
6 y% u5 a7 ^0 k4 j│  │     8 小部件树:Widget Tree.mp4* l) Z" f6 G$ R4 S. ]
│  │     9 InheritedWidget:直接把数据传递给需要的小部件.mp4
  H# h5 ]  [/ I" M5 B! d│  │     10 创建与使用 InheritedWidget 有效地传递数据给子部件.mp4
! N: p! s) c' s! q, q│  │     11 ScopedModel:安装与基本用法介绍.mp4  
7 N, y1 D6 C9 N│  │     12 使用 ScopedModel 传递数据.mp4( K5 o+ }3 _* I6 M1 N: }% [& y
│  │      
+ r" F* U2 X+ ^% d7 Z# \9 l  N│  ├─15 Flutter 移动应用:Stream
6 C$ e, p) Y* U; S& D2 ^. i│  │     1 介绍.mp4
" K/ F: @, N) |9 k│  │     2 准备项目.mp4
8 x* ?  h4 f/ b, F│  │     3 创建 StreamDemo.mp4
8 _% V$ U1 i% _; V. l1 f8 G: m│  │     4 创建与监听 Stream.mp4
0 z8 T" V5 _; ?. s+ e/ n. m│  │     5 给 Stream 添加一个订阅(subscription).mp4
/ r$ e7 B$ X/ _& `2 R* ]│  │     6 暂停、恢复、取消监听 Stream.mp4
7 |; T$ X; T9 K; ?│  │     7 StreamController:控制 Stream.mp4
  t5 m. t3 Z2 }│  │     8 StreamController:使用 Sink 往 Stream 上添加数据.mp4* E) f7 K2 m9 u3 W4 I7 b! H2 X2 p# q
│  │     9 StreamController:创建可以多次订阅的 Broadcast Streams.mp4
* j% H8 y$ ?6 k8 O) z' K! X  q│  │     10 在界面上显示 Stream 上的数据.mp4& L! d7 c2 I. h# j4 T4 [5 l4 g
│  │     11 StreamBuilder:根据 Stream 上的数据构建小部件.mp4  [# p7 ]) N8 h6 m0 C6 K! e" a
│  │      5 d: E# f; L5 Y: z9 m% z. w9 s
│  ├─16 Flutter 移动应用:RxDart# w0 u( w) a3 j) [1 F/ ~
│  │     1 介绍.mp41 a. j0 u& ?7 \$ G* ?. p
│  │     2 准备项目.mp4' M9 _& r0 D0 v9 `. s; |' g
│  │     3 创建 RxDartDemo.mp41 J, ?5 @, [1 u) a6 X1 i9 M, Y
│  │     4 安装 RxDart 包.mp4
# c( S) C, f) u: f$ b! X│  │     5 Rx,RxDart,Observable 与 Stream.mp4
! T; r0 a% g* _! M- V4 R0 A  Z' d9 T│  │     6 Observables.mp4
. ?/ e+ }8 q: J% X5 G' W8 l# w% f│  │     7 创建 Observables 的几种方法.mp4) X7 ]' T$ s0 g3 |
│  │     8 使用 Subjects 控制 Observables.mp4
3 t, ^( T& ^' _! X) i3 X│  │     9 BehaviorSubject.mp4
# ~$ F! u2 P* ^$ ?: W! A│  │     10 ReplaySubject.mp4
/ w% h' B9 i+ c7 A# g8 o% z│  │     11 准备一个文本框往 Observable 上添加数据.mp41 v( A/ ]7 q5 Z2 P7 F
│  │     12 RxDart 的数据转换方法(map).mp4
. r! z+ k! U& @; m) D4 w- g& {│  │     13 where.mp40 }( |2 Q+ y" d# g7 }% e& n5 t
│  │     14 debounce.mp4! _' ]/ E4 O6 f0 U6 k
│  │    7 `/ Q8 I- Y# c
│  ├─17 Flutter 移动应用:BLoC( X, n0 N, F# X" f* d. \' q- C
│  │     1 介绍.mp4
8 h5 v3 r5 U' V# U│  │     2 准备项目.mp4
& x6 M* _' r" ^* P/ Q( d│  │     3 创建 BlocDemo.mp4
! h; Y/ {; H' y  ?0 r│  │     4 BLoC:Business Logic Component.mp4- u  I0 c0 G4 i* U/ k9 V
│  │     5 BLoC 应用案例(记数器):准备基本小部件.mp4
/ I9 B( t6 o! u! r# f  y) T│  │     6 使用 InheritedWidget 传递 BLoC.mp4
  }% `9 u1 i& Z" A  {│  │     7 创建与使用 BLoC:用 Sink 输入数据.mp47 [: e# F7 i  S( s( C
│  │     8 创建与使用 BLoC:用 Stream 输出数据.mp4) e! r/ F- D, Y$ @
│  │        j, r( X) Q2 i  W
│  ├─18 Flutter 移动应用:网络请求7 T! @( o0 p5 a4 B" s' H
│  │     1 介绍.mp4
; n5 Z: I; U! {$ t& a│  │     2 准备项目.mp4$ ]# B" A) }1 A0 \" t2 `# N0 e
│  │     3 创建 HttpDemo.mp4
% x( o3 E3 |! M2 p# j2 h& Q& W│  │     4 安装 http 包(升级 Flutter SDK).mp4
. C9 U: w6 C4 U; L9 t5 p9 |. Y│  │     5 使用 http 客户端请求数据.mp4% ^  G3 j/ b7 h: Z4 e
│  │     6 JSON 转换(dartconvert).mp4
8 P) G) @- f% a. ?│  │     7 使用 Model 类转换数据:fromJson.mp4
" x" I- ?  g- p8 |" e. b│  │     8 使用 Model 类转换数据:toJson.mp4& B! t5 H4 B6 H. f, [6 c/ m
│  │     9 使用请求数据:把响应的数据转换成自定义 Dart 对象.mp4
0 B! y  s+ f8 s0 t0 J│  │     10 FutureBuilder:使用 Future 构建小部件.mp4) n3 p7 |7 W) k- m+ m, [+ r  o
│  │      ! h& Q# b* K! A% a  y
│  ├─19 Flutter 移动应用:动画+ Z% C4 B  l/ u
│  │     1 介绍.mp4) x  X" I" B/ E7 w9 T) M
│  │     2 准备项目.mp4
; N  z. w- w7 r5 m4 w6 y7 R│  │     3 创建 AnimationDemo 小部件.mp4
$ J2 K$ g0 m7 n, f/ b9 N% t8 p│  │     4 AnimationController:动画控制器.mp4
" E, ^/ [* [% b# a│  │     5 使用动画的值.mp4
+ ]6 K% |; E! R: M2 f│  │     6 动画的状态与运行.mp4
1 G6 \' z+ R- Z" X% F7 M+ ]6 O" B0 P│  │     7 Tween:设置动画范围值(数字、颜色).mp48 {, r$ G) l0 S% u+ b3 r
│  │     8 Curve:动画曲线.mp4; s  O4 O' Q5 G' X
│  │     9 AnimatedWidget:动画值有变化就自动重建自己的小部件.mp4
/ q$ {; H  i7 _6 y$ N, S* b- K2 |! S; w│  │      $ V' g& J0 V# L; ~" a
│  ├─20 Flutter移动应用:国际化; j) {' T3 I5 l
│  │     1 介绍.mp4
) y5 {+ m( L( E% U5 ~% z) V│  │     2 准备项目.mp4
, d  l6 O! W$ k│  │     3 创建 I18Demo 小部件.mp44 o% I5 q6 |! V  g# ]
│  │     4 安装与配置 Flutter 应用的国际化.mp4: X; Y5 C) {' C+ n
│  │     5 配置 iOS 项目使用多种语言.mp49 J  d- x. [' R1 S+ h2 i9 l
│  │     6 演示 Material 组件的多语言.mp4( Y$ }- ~( L7 V2 E  V8 V
│  │     7 寻找 Localizations 小部件.mp4
7 x$ z! ~! p9 }' R│  │     8 获取与设置语言和地区(理解 Locale 类与 Localizations 小部件).mp4( a. ~$ I# ]) ~1 q. X: a) D# G
│  │     9 定义本地化资源类.mp4' A* F/ L2 ~) p  ~
│  │     10 加载本地化资源.mp4
3 I1 }: b9 T5 G( B4 i/ |│  │     11 使用本地化资源.mp4! O+ Q! c% D) c
│  │     12 Intl:定义需要翻译的信息.mp47 P+ e& U2 x( H6 K8 A. Z
│  │     13 提取信息模板并翻译信息.mp4
4 D# V# I( ]! d│  │     14 基于arb 生成 dart 文件.mp4
+ Y% c6 m* H6 y& J│  │     15 加载与使用本地化信息.mp4
. C0 S- W8 F! v0 [5 |│  │
0 f8 U8 i5 h& z* C" }& F│  ├─21.Flutter移动应用:测试
6 O- r0 r4 q4 M6 b' z& @9 c│  │     1.介绍.mp43 K' ^2 y7 r5 b" i: V' B0 j4 I
│  │     2.准备项目.mp4
. D1 B+ u6 l/ V│  │     3.Unittesting:单元测试.mp4
- M8 y$ [2 x# H, ^% ^│  │     4.运行测试.mp4; X* Y! [1 H5 C8 s
│  │     5.WidgetTesting:测试小部件.mp4; L: L& R* y1 C+ E  ]
│  │     6.找到并验证小部件(Finder与Matcher的用法).mp40 w5 Q9 `+ g% W7 Y! C2 m( G$ l$ G
│  │     7.测试小部件的点按行为.mp4
; j' f4 q: w5 S, A9 l2 x+ G2 h6 ~│  │     8.Integrationtesting:集成测试.mp4
0 I: L" n2 G/ z: T" _( A2 z│  │     9.编写与运行集成测试.mp4
) n* Y- c  Y4 B: D│  └─源码9 x' m0 e  b. q9 P  q0 ]
│         ninghao_flutter-master.zip
( s: ^# E1 U- L- l$ J, U* i9 Z" @0 ?7 r* S# ~* n

本帖子中包含更多资源

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

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

本版积分规则

关闭

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

点击这里给我发消息

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

GMT+8, 2026-10-28 00:15

Powered by Discuz! X3.5

© 2001-2025 Discuz! Team.

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