內容簡介
本書針對零基礎的讀者,循序漸進地講解如何通過Flutter構建一個完整的、跨平台的App,讓讀者通過邊學習邊構建的方式深入理解Flutter的完整開發周期,逐步構建完整的Flutter知識體系。 本書分為基礎篇和高級篇。基礎篇(第1~9章)詳細講述如何使用一種語言、一個代碼庫構建跨平台移動App,內容包括如何構建小部件,如何使用這些小部件搭建套用,以及調試Flutter套用、使用頁面導航、處理用戶輸入、使用表單等; 高級篇(第10~20章)系統講解Flutter許可權控制,如何使用Flutter添加動畫效果、跨平台開發Flutter、發布Flutter套用、混合開發、異步編程、數據存儲、網路編程等。 本書可作為Flutter初學者的入門書籍,也可作為從事跨平台移動開發的技術臭殃挨人員及培訓機構的參考書籍。
作品目錄
基礎篇
第1章Flutter簡介
1.1什麼是Flutter
1.2Flutter的架構
1.3在糠謎說macOS下安裝Flutter
1.4在macOS下安裝VisualStudioCode
1.5在Windows下安裝Flutter
1.6在Windows下安裝VisualStudioCode
1.7Flutter中的MaterialDesign體系
第2章深入理解Flutter基礎知識和小部件概念
2.1創建一個Flutter項目
2.2Flutter目錄結構及main檔案
2.3Flutter中小部件的概念乃翻
2.4創建Flutter小部件
2.5小部件中的build方法
2.6添加Scaffold頁面
2.7深入學習Dart語法
2.8使用Card小部件和圖片
2.9官方文檔及使用按鈕RaisedButton
2.10創建StatefulWidget小部件
2.11在StatefulWidget中管理數據
2.12在StatefulWidget小部件中添加數據
2.13把小部件拆分到單獨的檔案中
2.14使用自定義小部件
2.15給StatefulWidget傳遞參數
2.16深入學習生命周期
2.17深入學習Google的MaterialDesign設計體系
2.全漿熱18Dart語言特性及位置參數與可選參數
2.19Flutter中解除狀態的特性
2.20理解Dart語言中的final和const
2.21總結
第3章調試Flutter應用程式
3.1解決語法錯誤
3.2運行時錯誤和運行時日誌訊息
3.3處理邏輯錯誤
3.4使用debug斷點調試
3.5UI調試及視覺幫助工具
第4章在不同設備上運行Flutter應用程式
4.1將App運行到Android模擬器上
4.2將Flutter套用運行到Android設備上
4.祖頸鑽循3將App運行到iOS模擬器和設備上
第5章列表ListView小部件和條件過濾
5.1使用ListView創建滾動列表
5.2最佳化列表載入功能
5.3根據條件渲染列表內容
5.4根據條件渲染內容的替代方案
5.5總結
第6章Flutter頁面導航
6.1在App中添加多個頁面
6.2給導航頁面添加按鈕
6.3實現基本導航功能
6.4最佳化詳情頁面
6.5通過Push給頁面傳遞數據
6.6通過Pop獲取頁面返回的數據
6.7給導航頁面中的按鈕添加單擊局采估事件
6.8添加登錄頁面並切換頁面
6.9抽屜式導航
6.10使用Tab標籤頁導航頁面
6.11命名路徑
6.12解析導航舉照囑只路徑數據
6.13導航頁面的整理與最佳化
6.14使用導航路徑生成器
6.15對話框
6.16模態彈出層
6.17總結
第7章處理用戶輸入
7.1使用文本框TextField並保存用戶輸入內容
7.2配置文本框TextField
7.3設定文本框TextField樣式
7.4保存文本框中內容
7.5最佳化文本框顯示
7.6使用開關Switch小部件
7.7總結
第8章深入學習Flutter小部件
8.1Flutter官網探索小部件
8.2使用不同的小部件完成同一個目標
8.3文本小部件Text和行小部件Row
8.4修飾小部件BoxDecoration
8.5理解Expanded和Flexible
8.6添加背景圖像
8.7圖示小部件Icon
8.8封裝小部件
8.9重構項目代碼
8.10創建標準化的小部件
8.11封裝小部件的方法
8.12Flutter中回響式設計
8.13使用MediaQuery
8.14ListView中使用MediaQuery
8.15使用GestureDetector添加監聽
8.16總結
第9章Form表單
9.1表單文本框TextFormField
9.2Form表單驗證
9.3表單Form的高級驗證
9.4關閉設備鍵盤
9.5提交表單數據
9.6把表單數據保存到列表
9.7重用創建資訊頁面
9.8表單設定初始值
9.9更新數據
9.10總結
高級篇
第10章最佳化Flutter套用功能
10.1最佳化ListTile
10.2通過Dismissible小部件實現滑動刪除
10.3監聽滑動手勢刪除數據及總結
第11章狀態集中管理ScopeModel
11.1最佳化Flutter狀態管理
11.2自定義實體類
11.3創建ScopedModel
11.4與ScopedModel建立聯繫
11.5使用ScopedModel編輯和刪除
11.6收藏功能
11.7使用notifyListeners()方法
11.8過濾收藏的內容
11.9添加用戶實體
11.10使用mix特性合併模型
11.11連線模型和共享數據
11.12總結
第12章Flutter與HTTP
12.1後端服務接口
12.2Flutter傳送POST請求
12.3使用請求回響結果
12.4從伺服器端獲取數據
12.5實現載入條
12.6按鈕顯示載入條
12.7通過HTTP更新數據
12.8通過HTTP刪除內容
12.9下拉頁面刷新
12.10占點陣圖片
12.11最佳化ScopedModel
12.12處理HTTP回響錯誤
12.13使用async和await
12.14總結
第13章許可權認證
13.1Flutter中如何使用許可權
13.2確認密碼文本框
13.3用戶註冊
13.4處理註冊過程中的異常
13.5用戶註冊載入條
13.6用戶登錄
13.7訪問受保護資源
13.8存儲token
13.9自動登錄
13.10用戶退出
13.11自動退出
13.12自動退出跳轉
13.13最佳化用戶登錄
13.14添加收藏功能
13.15獲取收藏狀態
13.16根據條件顯示列表和總結
第14章訪問相機和圖庫
14.1選擇圖片小部件
14.2使用圖片選擇器UI
14.3使用ImagePicker選擇圖片
14.4圖片預覽
14.5上傳圖片
14.6上傳圖片到伺服器端
14.7編輯上傳的圖片
14.8總結
第15章Flutter動畫效果
15.1浮動按鈕
15.2添加動畫效果
15.3旋轉動畫效果
15.4漸變動畫效果
15.5滑動動畫效果
15.6Flutter中的Hero和Sliver
15.7自定義切換頁面動畫效果
第16章最佳化套用
16.1最佳化自動退出
16.2最佳化編輯功能和收藏功能
16.3使用analyze命令最佳化項目
第17章使用平台特有的小部件
17.1根據平台的不同顯示不同的小部件
17.2根據不同的平台顯示不同的主題
第18章Flutter跨平台互動
18.1Flutter與原生代碼互動
18.2編寫Android端原生代碼並與Flutter互動
18.3編寫iOS端原生代碼與Flutter互動
第19章發布Flutter套用
19.1設定套用圖示
19.2給App添加閃屏
19.3Android打包和發布
19.4iOS打包和發布
第20章總結與回顧
3.4使用debug斷點調試
3.5UI調試及視覺幫助工具
第4章在不同設備上運行Flutter應用程式
4.1將App運行到Android模擬器上
4.2將Flutter套用運行到Android設備上
4.3將App運行到iOS模擬器和設備上
第5章列表ListView小部件和條件過濾
5.1使用ListView創建滾動列表
5.2最佳化列表載入功能
5.3根據條件渲染列表內容
5.4根據條件渲染內容的替代方案
5.5總結
第6章Flutter頁面導航
6.1在App中添加多個頁面
6.2給導航頁面添加按鈕
6.3實現基本導航功能
6.4最佳化詳情頁面
6.5通過Push給頁面傳遞數據
6.6通過Pop獲取頁面返回的數據
6.7給導航頁面中的按鈕添加單擊事件
6.8添加登錄頁面並切換頁面
6.9抽屜式導航
6.10使用Tab標籤頁導航頁面
6.11命名路徑
6.12解析導航路徑數據
6.13導航頁面的整理與最佳化
6.14使用導航路徑生成器
6.15對話框
6.16模態彈出層
6.17總結
第7章處理用戶輸入
7.1使用文本框TextField並保存用戶輸入內容
7.2配置文本框TextField
7.3設定文本框TextField樣式
7.4保存文本框中內容
7.5最佳化文本框顯示
7.6使用開關Switch小部件
7.7總結
第8章深入學習Flutter小部件
8.1Flutter官網探索小部件
8.2使用不同的小部件完成同一個目標
8.3文本小部件Text和行小部件Row
8.4修飾小部件BoxDecoration
8.5理解Expanded和Flexible
8.6添加背景圖像
8.7圖示小部件Icon
8.8封裝小部件
8.9重構項目代碼
8.10創建標準化的小部件
8.11封裝小部件的方法
8.12Flutter中回響式設計
8.13使用MediaQuery
8.14ListView中使用MediaQuery
8.15使用GestureDetector添加監聽
8.16總結
第9章Form表單
9.1表單文本框TextFormField
9.2Form表單驗證
9.3表單Form的高級驗證
9.4關閉設備鍵盤
9.5提交表單數據
9.6把表單數據保存到列表
9.7重用創建資訊頁面
9.8表單設定初始值
9.9更新數據
9.10總結
高級篇
第10章最佳化Flutter套用功能
10.1最佳化ListTile
10.2通過Dismissible小部件實現滑動刪除
10.3監聽滑動手勢刪除數據及總結
第11章狀態集中管理ScopeModel
11.1最佳化Flutter狀態管理
11.2自定義實體類
11.3創建ScopedModel
11.4與ScopedModel建立聯繫
11.5使用ScopedModel編輯和刪除
11.6收藏功能
11.7使用notifyListeners()方法
11.8過濾收藏的內容
11.9添加用戶實體
11.10使用mix特性合併模型
11.11連線模型和共享數據
11.12總結
第12章Flutter與HTTP
12.1後端服務接口
12.2Flutter傳送POST請求
12.3使用請求回響結果
12.4從伺服器端獲取數據
12.5實現載入條
12.6按鈕顯示載入條
12.7通過HTTP更新數據
12.8通過HTTP刪除內容
12.9下拉頁面刷新
12.10占點陣圖片
12.11最佳化ScopedModel
12.12處理HTTP回響錯誤
12.13使用async和await
12.14總結
第13章許可權認證
13.1Flutter中如何使用許可權
13.2確認密碼文本框
13.3用戶註冊
13.4處理註冊過程中的異常
13.5用戶註冊載入條
13.6用戶登錄
13.7訪問受保護資源
13.8存儲token
13.9自動登錄
13.10用戶退出
13.11自動退出
13.12自動退出跳轉
13.13最佳化用戶登錄
13.14添加收藏功能
13.15獲取收藏狀態
13.16根據條件顯示列表和總結
第14章訪問相機和圖庫
14.1選擇圖片小部件
14.2使用圖片選擇器UI
14.3使用ImagePicker選擇圖片
14.4圖片預覽
14.5上傳圖片
14.6上傳圖片到伺服器端
14.7編輯上傳的圖片
14.8總結
第15章Flutter動畫效果
15.1浮動按鈕
15.2添加動畫效果
15.3旋轉動畫效果
15.4漸變動畫效果
15.5滑動動畫效果
15.6Flutter中的Hero和Sliver
15.7自定義切換頁面動畫效果
第16章最佳化套用
16.1最佳化自動退出
16.2最佳化編輯功能和收藏功能
16.3使用analyze命令最佳化項目
第17章使用平台特有的小部件
17.1根據平台的不同顯示不同的小部件
17.2根據不同的平台顯示不同的主題
第18章Flutter跨平台互動
18.1Flutter與原生代碼互動
18.2編寫Android端原生代碼並與Flutter互動
18.3編寫iOS端原生代碼與Flutter互動
第19章發布Flutter套用
19.1設定套用圖示
19.2給App添加閃屏
19.3Android打包和發布
19.4iOS打包和發布
第20章總結與回顧