Flutter 技術入門與實戰, 2/e
內容描述
本書由資深架構師撰寫,詳細講解Flutter的基本概念和使用技巧。既有基礎知識,又有豐富的示例,並包括詳細案例的操作步驟,實操性強,還有配套網站提供完整案例代碼和視頻課程,可幫助讀者輕松掌握基礎知識,快速進入實戰。本書主要內容共16章:第1~2章介紹Flutter的基本概念和重要知識點;第3章簡單介紹了Flutter SDK指定的Dart語言;第4~7章介紹Flutter常用組件,以及Material Design風格和Cupertino風格的組件,還介紹了頁面佈局基礎知識和技巧;第8~12章介紹Flutter的高級用法,包括如何處理手勢,如何加載、處理、展示資源和圖片,路由及導航是如何處理的,以及裝飾和動畫的處理等;第13章介紹Flutter插件開發;第14~16章介紹開發工具的使用技巧、測試與發布應用,以及綜合案例。
本書在上一版的基礎上,根據最新版本對代碼進行了全面更新,並增加了動畫案例、插件理論和案例、Dio網絡請求、Fluro企業級路由、Provider狀態管理等內容,適合初學者全面掌握Flutter 。
本書主要特點:
極易上手——知識點配有豐富的小案例,只需要簡單幾步,就能讓程序運行起來。
詳細說明——對Flutter各個組件的用法配有詳細的屬性說明。
面向實戰——全書配有綜合案例,可以實現復雜的應用界面。
實操性強——從安裝、開發、運行、測試、打包、發布多個方面詳細描述使用步驟。
覆蓋面全——從基礎組件、高級組件到復雜佈局,從動畫、手勢到路由導航,從插件開發到網絡數據請求等,進行全方位詳解。
本書所有案例代碼請訪問以下網址:http://www.flutter100.nethttps://github.com/kangshaojun配套視頻課程網址:https://flutter.ke.qq.com/
目錄大綱
第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
第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.2按鈕和提示組件112
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.2寬高尺寸處理157
7.3列表及表格佈局163
7.4其他佈局處理169
7.5佈局綜合示例176
第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.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.3 Channel詳解308
第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.2發布Android版App 348
15.3發布iOS版App 353
第16章綜合案例362
16.1即時通信App界面實現362
16.2企業站App實現394
作者介紹
亢少軍
資深開發者,創業者。
專注於視頻通訊技術領域。
國內首本Flutter著作《Flutter技術入門與實戰》作者。
多年從事視頻會議、遠程教育等技術研發,
對於Android、iOS以及跨平台開發技術有比較深入的研究和應用,作為主要程序員開發了多個應用項目,涉及醫療、交通、銀行等領域。