Flutter2 開發實例精解

Flutter2 開發實例精解

作者: [美]西蒙·亞歷山大 等 於鑫睿 譯
出版社: 清華大學
出版在: 2022-03-01
ISBN-13: 9787302602897
ISBN-10: 7302602891





內容描述


《Flutter2開發實例精解》詳細闡述了與Flutter 2相關的基本解決方案,主要包括Dart編程語言、微件簡介、佈局和微件樹、向應用程序中添加交互性和導航、基本的狀態管理、異步編程、基於互聯網的數據持久化和通信、基於流的高級狀態管理、使用Flutter包、向應用程序中添加動畫、使用Firebase、基於Firebase ML Kit的機器學習、發布移動應用程序、Flutter Web和桌面應用程序等內容。此外,本書還提供了相應的示例、代碼,以幫助讀者進一步理解相關方案的實現過程。 本書適合作為高等院校電腦及相關專業的教材和教學參考書,也可作為相關開發人員的自學用書和參考手冊。


目錄大綱


目    錄
第1章  開啟Flutter之旅 1
1.1  技術需求 2
1.2  如何使用Git管理Flutter SDK 2
1.3  設置命令行並保存路徑變量 3
1.4  使用Flutter Doctor檢查配置環境 6
1.5  配置iOS SDK 7
1.6  配置Android SDK 11
1.7  選擇IDE/編輯器 16
1.8  選擇正確的通道 19
1.9  創建Flutter應用程序 20
1.10  本章小結 28
第2章  Dart編程語言 29
2.1  技術需求 29
2.2  聲明變量—var、final和const 30
2.3  字符串和字符串插值 35
2.4  編寫函數 40
2.5  利用閉包將函數用作變量 44
2.6  創建類並使用類構造函數的簡潔形式 46
2.7  利用集合分組和操控數據 49
2.8  利用高階函數編寫較少的代碼 54
2.9  使用級聯運算符(..)實現構建器模式 62
2.10  Dart語言中的空安全 65
第3章  微件簡介 73
3.1  技術需求 73
3.2  創建不可變的微件 73
3.3  使用Scaffold 79
3.4  使用Container微件 85
3.5  在屏幕上輸出樣式文本 90
3.6  向應用程序中導入字體和圖像 96
第4章  佈局和微件樹 101
4.1  逐個放置微件 101
4.2  基於Flexible和Expanded微件的成比例間距 108
4.3  利用CustomPaint繪制形狀 116
4.4  嵌套的復雜微件樹 122
4.5  重構微件樹以改進可讀性 127
4.6  應用全局主題 133
第5章  向應用程序中添加交互性和導航 141
5.1  向應用程序中添加狀態 141
5.2  與按鈕交互 147
5.3  生成滾動效果 151
5.4  利用列表構造器處理大型數據集 157
5.5  處理TextField 160
5.6  導航至下一個屏幕 166
5.7  通過名稱調用導航路由 168
5.8  在屏幕上顯示對話框 171
5.9  顯示底部動作條 176
第6章  基本的狀態管理 181
6.1  技術需求 181
6.2  模型-視圖分離 181
6.3  利用InheritedWidget管理數據層 188
6.4  在多個屏幕間使得應用程序狀態可見 192
6.5  設計n層框架(第1部分)—控制器 196
6.6  設計n層框架(第2部分)—存儲庫 202
6.7  設計n層框架(第3部分)—服務 205
第7章  異步編程 213
7.1  技術需求 213
7.2  使用Future 214
7.3  使用async/await移除回調 220
7.4  完成Future 223
7.5  同時引發多個Future 226
7.6  處理異步代碼中的錯誤 228
7.7  基於StatefulWidget的Future應用 231
7.8  使用FutureBuilder管理Future 234
7.9  將導航路由轉換為異步函數 236
7.10  從對話框中獲取結果 240
第8章  基於互聯網的數據持久化和通信 245
8.1  技術需求 245
8.2  將Dart模型轉換為JSON格式 246
8.3  處理與模型不兼容的JSON模式 256
8.4  捕捉常見的JSON錯誤 262
8.5  簡單地利用SharedPreferences保存數據 264
8.6  訪問文件系統(第1部分)—path_provider 269
8.7  訪問文件系統(第2部分)—與目錄協同工作 272
8.8  使用安全存儲保存數據 276
8.9  設計HTTP客戶端並獲取數據 279
8.10  POST數據 285
8.11  PUT數據 292
8.12  DELETE數據 295
第9章  基於流的高級狀態管理 299
9.1  技術需求 299
9.2  如何使用Dart流 300
9.3  使用流控制器和接收器 305
9.4  將數據轉換註入流中 310
9.5  訂閱流事件 313
9.6  支持多重流訂閱 317
9.7  使用StreamBuilder創建響應式用戶界面 320
9.8  使用BLoC模式 324
第10章  使用Flutter包 331
10.1  技術需求 332
10.2  導入包和依賴項 332
10.3  創建自己的包(第1部分) 335
10.4  創建自己的包(第2部分) 341
10.5  創建自己的包(第3部分) 343
10.6  向谷歌地圖中添加應用程序 346
10.7  使用位置服務 351
10.8  向應用程序中添加標記 354
第11章  向應用程序中添加動畫 359
11.1  創建基本的容器動畫 359
11.2  設計動畫(第1部分)—VSync和AnimationController 364
11.3  設計動畫(第2部分)—添加多重動畫 369
11.4  設計自己的動畫(第3部分)—曲線 371
11.5  優化動畫 374
11.6  使用Hero動畫 376
11.7  使用預置動畫轉變 381
11.8  使用AnimatedList微件 385
11.9  利用Dismissible微件實現滑動手勢 391
11.10  使用Flutter動畫包 394
第12章  使用Firebase 399
12.1  配置Firebase應用程序 399
12.2  創建登錄表單 404
12.3  添加谷歌Sign-in 413
12.4  集成Firebase Analytics 419
12.5  使用Firebase Cloud Firestore 424
12.6  利用Firebase Cloud Messaging(FCM)發送Push Notifications 430
12.7  將文件存儲至雲端 434
第13章  基於Firebase ML Kit的機器學習 441
13.1  使用設備的攝像頭 441
13.2  從圖像中識別文本 450
13.3  讀取條形碼 454
13.4  圖像標記功能 456
13.5  構建面部檢測器並檢測面部表情 459
13.6  識別語言 463
13.7  使用TensorFlow Lite 467
第14章  發布移動應用程序 473
14.1  技術需求 474
14.2  在App Store Connect上註冊iOS應用程序 474
14.3  在Google Play上註冊Android應用程序 478
14.4  安裝和配置fastlane 480
14.5  生成iOS代碼簽名許可證書和配置文件 484
14.6  生成Android發布許可證書 486
14.7  自動遞增Android版本號 488
14.8  配置應用程序元數據 491
14.9  向應用程序中添加圖標 493
14.10  在Google Play Store中發布應用程序的beta版本 495
14.11  使用TestFlight發布iOS應用程序的beta版本 498
14.12  將應用程序發布至應用程序商店中 501
第15章  Flutter Web和桌面應用程序 503
15.1  利用Flutter Web創建響應式應用程序 503
15.2  在macOS上運行應用程序 512
15.3  在Windows上運行應用程序 515
15.4  部署Flutter站點 517
15.5  響應Flutter桌面中的鼠標事件 520
15.6  與桌面菜單交互 524




相關書籍

5G時代的大數據技術架構和關鍵技術詳解

作者 亞信科技(中國)有限公司

2022-03-01

PHP Arrays: Single, Multi-dimensional, Associative and Object Arrays in PHP 7

作者 Steve Prettyman

2022-03-01

HTML + CSS 網站設計與開發從新手到高手

作者 羅剛 原晉鵬

2022-03-01