《Flutter技術入門與實戰第2版》是2019年機械工業出版社出版的圖書。
基本介紹
- 中文名:Flutter技術入門與實戰第2版
- 出版時間:2019年12月1日
- 出版社:機械工業出版社
- ISBN:9787111640127
內容簡介,圖書目錄,
內容簡介
本書由資深架構師撰寫,詳細講解Flutter的基本概念和使用技巧。既有基礎知識,又有豐富示例,並包括詳細案例的操作步驟,實操性強。還有配套網站提供了完整案例代碼和視頻課程,可幫助讀者輕鬆掌握基礎知識,快速進入實戰。本書主要內容共16章。第1~2章介紹Flutter的基本概念和重要知識點。第3章簡單介紹了Flutter SDK指定的Dart語言。第4~7章介紹Flutter常用組件,以及Material Design風格的組件、Cupertino風格的組件,還介紹了頁面布局基礎知識和技巧。第8~12章介紹Flutter的高級用法,包括如何處理手勢,如何載入、處理、展示資源和圖片,路由及導航是如何處理的,裝飾和動畫的處理等。第13章介紹Flutter外掛程式開發。第14~16章介紹開發工具的使用技巧、測試與發布套用,以及綜合案例。
圖書目錄
第2版前言
第1章 開啟Flutter之旅 1
1.1 Flutter的特點與核心概念 1
1.1.1 一切皆為組件 2
1.1.2 組件嵌套 2
1.1.3 構建 3
1.1.4 處理用戶互動 3
1.1.5 狀態 4
1.1.6 分層的框架 5
1.2 搭建開發環境 6
1.2.1 Windows環境搭建 6
1.2.2 MacOS環境搭建 12
1.3 寫個Flutter程式 16
第2章 Flutter基礎知識 22
2.1 入口程式 22
2.2 Material Design設計風格 23
2.3 Flutter主題 23
2.3.1 創建套用主題 23
2.3.2 局部主題 25
2.3.3 使用主題 26
2.4 使用包資源 27
2.5 狀態管理 31
2.5.1 有狀態及無狀態組件 31
2.5.2 Provider的使用 33
2.6 HTTP請求 36
2.6.1 HTTP請求方式 37
2.6.2 HttpClient請求方式 38
2.6.3 Dio請求方式 39
第3章 Dart語言簡述 47
3.1 Dart的重要概念與常用開發庫 47
3.2 變數與基本數據類型 50
3.3 函式 52
3.4 運算符 54
3.5 流程控制語句 58
3.6 異常處理 61
3.7 面向對象 62
3.7.1 實例化成員變數 62
3.7.2 構造函式 63
3.7.3 讀取和寫入對象 64
3.7.4 重載操作 65
3.7.5 繼承類 66
3.7.6 抽象類 67
3.7.7 枚舉類型 68
3.7.8 Mixins 69
3.8 泛型 69
3.9 庫的使用 70
3.10 異步支持 71
3.11 元數據 71
3.12 注釋 73
第4章 常用組件 75
4.1 容器組件 75
4.2 圖片組件 77
4.3 文本組件 79
4.4 圖示及按鈕組件 81
4.4.1 圖示組件 81
4.4.2 圖示按鈕組件 82
4.4.3 凸起按鈕組件 83
4.5 列表組件 84
4.5.1 基礎列表組件 85
4.5.2 水平列表組件 86
4.5.3 長列表組件 88
4.5.4 格線列表組件 89
4.6 表單組件 90
第5章 Material Design風格組件 94
5.1 App結構和導航組件 95
5.1.1 MaterialApp(套用組件) 95
5.1.2 Scaffold(腳手架組件) 99
5.1.3 AppBar(套用按鈕組件) 101
5.1.4 BottomNavigationBar(底部導航條組件) 103
5.1.5 TabBar(水平選項卡及視圖組件) 104
5.1.6 Drawer(抽屜組件) 110
5.2 按鈕和提示組件 112
5.2.1 FloatingActionButton(懸停按鈕組件) 112
5.2.2 FlatButton(扁平按鈕組件) 114
5.2.3 PopupMenuButton(彈出選單組件) 115
5.2.4 SimpleDialog(簡單對話框組件) 117
5.2.5 AlertDialog(提示對話框組件) 118
5.2.6 SnackBar(輕量提示組件) 120
5.3 其他組件 121
5.3.1 TextField(文本框組件) 121
5.3.2 Card(卡片組件) 123
第6章 Cupertino風格組件 126
6.1 CupertinoActivityIndicator(載入指示器組件) 126
6.2 CupertinoAlertDialog(對話框組件) 127
6.3 CupertinoButton(按鈕組件) 128
6.4 Cupertino(導航組件集) 129
第7章 頁面布局 135
7.1 基礎布局處理 136
7.1.1 Container(容器布局) 136
7.1.2 Center(居中布局) 139
7.1.3 Padding(填充布局) 140
7.1.4 Align(對齊布局) 142
7.1.5 Row(水平布局) 144
7.1.6 Column(垂直布局) 145
7.1.7 FittedBox(縮放布局) 147
7.1.8 Stack/Alignment 150
7.1.9 Stack/Positioned 152
7.1.10 IndexedStack 154
7.1.11 OverflowBox(溢出父容器顯示) 155
7.2 寬高尺寸處理 157
7.2.1 SizedBox(設定具體尺寸) 157
7.2.2 ConstrainedBox(限定小寬高布局) 158
7.2.3 LimitedBox(限定寬高布局) 159
7.2.4 AspectRatio(調整寬高比) 161
7.2.5 FractionallySizedBox(百分比布局) 162
7.3 列表及表格布局 163
7.3.1 ListView 163
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 布局綜合示例 176
7.5.1 布局分析 176
7.5.2 準備素材 177
7.5.3 編寫代碼 178
第8章 手勢 184
8.1 用GestureDetector進行手勢檢測 184
8.2 用Dismissible實現滑動刪除 186
第9章 資源和圖片 189
9.1 添加資源和圖片 189
9.1.1 指定asset 189
9.1.2 載入asset 190
9.1.3 平台asset 192
9.2 自定義字型 194
第10章 組件裝飾和視覺效果 196
10.1 Opacity(透明度處理) 196
10.2 DecoratedBox(裝飾盒子) 197
10.3 RotatedBox(旋轉盒子) 204
10.4 Clip(剪裁處理) 205
10.5 案例—自定義畫板 209
第11章 路由和持久化 227
11.1 路由的基本套用 227
11.2 Fluro企業級路由 235
11.3 Key-Value存儲簡介 240
11.3.1 shared_preferences的套用 241
11.3.2 shared_preferences的實現原理 244
11.4 檔案存儲 246
11.5 Sqflite的套用 249
11.5.1 常用操作方法 249
11.5.2 客戶表操作示例 251
第12章 動畫 256
12.1 動畫的基本概念 256
12.2 Flutter的動畫相關類 257
12.2.1 Animation簡介 258
12.2.2 AnimationController(動畫管理類) 258
12.2.3 CurvedAnimation(非線性動畫類) 259
12.2.4 Tween(補間值生成類) 260
12.2.5 Listeners和StatusListeners(動畫監聽類) 261
12.2.6 動畫控制流程 262
12.3 動畫示例 262
12.3.1 字型放大動畫 262
12.3.2 緩動動畫 266
12.3.3 遮罩動畫 269
12.3.4 數字變化動畫 272
12.3.5 圖表動畫 274
12.4 動畫組件 277
12.4.1 用AnimatedOpacity實現漸變效果 277
12.4.2 用Hero實現頁面切換動畫 279
第13章 Flutter外掛程式開發 282
13.1 獲取系統版本外掛程式 282
13.1.1 新建外掛程式 282
13.1.2 運行外掛程式 285
13.1.3 示例代碼分析 286
13.2 電池電量外掛程式 293
13.2.1 新建外掛程式 293
13.2.2 外掛程式上層處理 293
13.2.3 Android原生層處理 295
13.2.4 iOS原生層處理 300
13.2.5 測試外掛程式 304
13.3 Channel詳解 308
13.3.1 通道名稱 309
13.3.2 通信工具BinaryMessager 309
13.3.3 訊息編解碼器Codec 309
13.3.4 訊息處理器Handler 310
13.4 PlatformView顯示原生視圖 311
13.4.1 新建外掛程式 311
13.4.2 外掛程式上層處理 311
13.4.3 Android原生層處理 314
13.4.4 iOS原生層處理 317
13.4.5 測試外掛程式 321
第14章 開發工具及使用技巧 324
14.1 IDE集成開發環境 324
14.1.1 Android Studio / IntelliJ 324
14.1.2 Visual Studio Code 330
14.2 Flutter SDK 337
14.3 使用熱重載 338
14.4 格式化代碼 339
14.5 Flutter組件檢查器 340
第15章 測試與發布套用 343
15.1 測試套用 343
15.1.1 簡介 343
15.1.2 單元測試 344
15.1.3 Widget測試 345
15.1.4 集成測試 346
15.2 發布Android版App 348
15.2.1 檢查App Manifest 348
15.2.2 查看構建配置 349
15.2.3 添加啟動圖示 350
15.2.4 App簽名 350
15.2.5 構建發布版APK並安裝在設備上 353
15.3 發布iOS版App 353
15.3.1 準備工作 353
15.3.2 在iTunes Connect上註冊應用程式 353
15.3.3 註冊一個Bundle ID 354
15.3.4 在iTunes Connect上創建應用程式記錄 355
15.3.5 查看Xcode項目設定 355
15.3.6 添加應用程式圖示 356
15.3.7 準備發布版本 358
15.3.8 將套用發布到App Store 360
第16章 綜合案例 362
16.1 即時通信App界面實現 362
16.1.1 項目介紹 362
16.1.2 項目搭建 363
16.1.3 入口程式 366
16.1.4 載入頁面 367
16.1.5 套用頁面 368
16.1.6 搜尋頁面 375
16.1.7 聊天頁面 379
16.1.8 好友頁面 383
16.1.9 “我的”頁面 390
16.2 企業站App實現 394
16.2.1 項目介紹 394
16.2.2 項目搭建 396
16.2.3 入口程式 399
16.2.4 載入頁面 401
16.2.5 工具及配置檔案處理 402
16.2.6 Fluro路由處理 404
16.2.7 Dio請求方法封裝 405
16.2.8 索引頁面 406
16.2.9 首頁 410
16.2.10 首頁輪播圖 411
16.2.11 首頁產品列表 412
16.2.12 產品頁面 419
16.2.13 產品詳情頁面 423
16.2.14 “聯繫我們”頁面 428