Flutter項目開發實例精解 Flutter Projects

Alessandria, Simone 著 李垚 譯

  • 出版商: 清華大學
  • 出版日期: 2025-01-01
  • 定價: $774
  • 售價: 8.5$658
  • 語言: 簡體中文
  • ISBN: 7302677239
  • ISBN-13: 9787302677239
  • 相關分類: Flutter
  • 此書翻譯自: Flutter Projects (Paperback)
  • 下單後立即進貨 (約4週~6週)

  • Flutter項目開發實例精解-preview-1
  • Flutter項目開發實例精解-preview-2
  • Flutter項目開發實例精解-preview-3
Flutter項目開發實例精解-preview-1

相關主題

商品描述

"《Flutter項目開發實例精解》詳細闡述了多個Flutter項目開發的基本解決方案,主要包括使用有狀態微件、監聽數據流、2D動畫和手勢、從Web中獲取數據、使用Sq(F)Lite並在本地數據庫中存儲數據、將Firebase集成至Flutter應用程序中、集成地圖並使用設備相機、利用Flare創建動畫、使用BLoC模式和Sembast、構建Flutter Web應用程序等內容。此外,本書還提供了相應的示例、代碼,以幫助讀者進一步理解相關方案的實現過程。 本書適合作為高等院校電腦及相關專業的教材和教學參考書,也可作為相關開發人員的自學用書和參考手冊。"

目錄大綱

目    錄

第1章 Hello Flutter 1

1.1 技術需求 1

1.2 Dart語言的基礎知識 2

1.2.1 Hello Dart 3

1.2.2 面積計算器 6

1.2.3 for循環和字符串 8

1.2.4 箭頭語法和三元運算符 10

1.2.5 while循環、List和泛型 11

1.2.6 類和對象 15

1.2.7 使用getter和setter 16

1.2.8 構造函數 17

1.3 創建第一個Flutter應用程序 19

1.3.1 運行第一個Hello World應用程序 19

1.3.2 使用MaterialApp和Scaffold 23

1.3.3 格式化文本和使用Column 25

1.3.4 顯示圖像並使用按鈕 26

1.3.5 顯示AlertDialog對話框 28

1.3.6 使用內間距 31

1.3.7 使用SingleChildScrollView 33

1.4 本章小結 34

1.5 本章練習 34

1.6 進一步閱讀 35

 

第2章 英里還是千米—使用有狀態微件 37

2.1 技術需求 37

2.2 項目概述 38

2.3 理解狀態和有狀態微件 39

2.4 創建度量轉換項目 39

2.4.1 使用有狀態微件 40

2.4.2 從TextField讀取用戶輸入 42

2.4.3 創建DropdownButton微件 44

2.4.4 更新DropdownButton微件 46

2.4.5 完成應用程序的UI 47

2.4.6 添加業務邏輯 52

2.5 本章小結 55

2.6 本章練習 56

2.7 進一步閱讀 56

 

第3章 My Time—監聽數據流 57

3.1 技術需求 58

3.2 構建計時器主頁佈局 58

3.3 在Flutter中使用流和異步編程 66

3.3.1 在主屏幕上顯示時間—StreamBuilder 71

3.3.2 啟動按鈕 73

3.4 訪問設置路由 75

3.5 構架Settings屏幕佈局 80

3.5.1 使用GridView.Count()構造函數 80

3.5.2 向widgets.dart文件添加自定義SettingButton 81

3.6 使用shared_preferences讀寫應用程序數據 84

3.7 本章小結 92

3.8 本章練習 93

3.9 進一步閱讀 93

 

第4章 Pong Game—2D動畫和手勢 95

4.1 技術需求 95

4.2 構建應用程序的UI 96

4.2.1 創建球體 97

4.2.2 創建球拍 98

4.2.3 創建網格佈局 99

4.3 使用動畫 102

4.4 添加游戲邏輯 105

4.5 使用GestureDetector 108

4.6 檢查球拍位置 109

4.7 向游戲中添加隨機性 111

4.8 添加分數並完成游戲 114

4.9 本章小結 117

4.10 本章練習 117

4.11 進一步閱讀 118

 

第5章 從Web中獲取數據 119

5.1 技術需求 119

5.2 項目概覽 120

5.3 連接Web服務並利用HTTP檢索數據 120

5.4 解析JSON數據並將其轉換為模型對象 125

5.5 添加一個ListView以顯示數據 130

5.6 顯示詳情頁面並通過屏幕傳遞數據 133

5.7 添加搜索功能 136

5.8 本章小結 139

5.9 本章練習 140

5.10 進一步閱讀 141

 

第6章 使用Sq(F)Lite並在本地數據庫中存儲數據 143

6.1 技術需求 143

6.2 基本理論和背景 144

6.3 項目概覽 145

6.4 使用sqflite數據庫 146

6.4.1 創建sqflite數據庫 146

6.4.2 測試數據庫 149

6.5 創建模型類 151

6.6 向用戶顯示數據庫數據 156

6.6.1 插入和編輯數據 163

6.6.2 刪除元素 168

6.6.3 完成Items屏幕功能 170

6.6.4 解決方案 171

6.7 本章小結 175

6.8 本章練習 176

6.9 進一步閱讀 177

 

第7章 將Firebase集成至Flutter應用程序 179

7.1 技術需求 179

7.2 Firebase簡介 180

7.3 項目概述 181

7.4 向Flutter應用程序中添加Firebase 181

7.4.1 創建一個Firestore數據庫 184

7.4.2 將Firebase集成至Flutter應用程序的方法 187

7.4.3 EventDetail模型類 192

7.4.4 創建事件細節屏幕 194

7.5 向應用中添加身份驗證 198

7.5.1 添加登錄/註冊頁面 200

7.5.2 添加身份驗證邏輯 204

7.5.3 引入Firebase規則 210

7.6 向Firebase中寫入數據:添加喜歡的特性 210

7.7 本章小結 217

7.8 本章練習 218

7.9 進一步閱讀 218

 

第8章 Treasure Mapp—集成地圖並使用設備相機 221

8.1 技術需求 221

8.2 地理定位和相機:強強聯手 222

8.3 將Google Maps集成至Flutter 222

8.3.1 利用Google Maps顯示一幅地圖 225

8.3.2 創建位置模型和幫助類 230

8.3.3 在地圖上插入新位置 235

8.3.4 編輯和刪除現有地址 239

8.4 使用設備相機 242

8.5 本章小結 250

8.6 本章練習 251

8.7 進一步閱讀 251

 

第9章 Knockout—利用Flare創建動畫 253

9.1 技術需求 253

9.2 項目概覽 253

9.3 什麽是Flare 254

9.4 利用Flare創建對象 255

9.5 利用Flare實現對象的動畫效果 261

9.6 將Flare集成至Flutter應用中 268

9.6.1 創建Dice類 270

9.6.2 創建Single Dice屏幕 271

9.6.3 創建Knockout游戲 274

9.7 本章小結 282

9.8 本章練習 283

9.9 進一步閱讀 284

 

第10章 ToDo應用程序—使用BLoC模式和Sembast 285

10.1 技術需求 285

10.2 項目概覽 286

10.3 使用sembast存儲數據 287

10.3.1 sembast:處理數據 288

10.3.2 打開sembast數據庫 289

10.3.3 利用sembast創建CRUD方法 290

10.3.4 使用sembast 293

10.4 BLoC模式 295

10.4.1 使用BLoC模式 296

10.4.2 使用BLoC和流更新UI 300

10.4.3 HomePage屏幕用戶界面 301

10.4.4 TodoScreen用戶界面 304

10.5 本章小結 308

10.6 本章練習 309

10.7 進一步閱讀 310

 

第11章 構建Flutter Web應用程序 311

11.1 技術需求 311

11.2 基礎理論和上下文 312

11.3 項目概覽 312

11.4 構建運行於瀏覽器上的Flutter應用程序 315

11.4.1 連接Google Books API服務 316

11.4.2 創建Book模型類 317

11.4.3 利用HTTP服務檢索圖書 319

11.5 創建響應式UI 321

11.5.1 響應式微件:ListView或Table 326

11.5.2 針對較大設備創建Table 326

11.5.3 針對較小設備創建ListView 330

11.6 使用shared_preferences保存數據 331

11.7 向Web服務器發布Flutter應用程序 337

11.8 本章小結 338

11.9 本章練習 339

11.10 進一步閱讀 339

 

練習答案 341

 

附錄A 353