Flutter項目開發實戰(AI助學)
李永紅 楊宏濤 陳永輝
商品描述
本書系統講解Flutter項目開發知識,從基礎到進階逐步深入,共7個單元。單元1介紹Flutter的起源、特點及其在行業中的應用,並講解在Windows和macOS下Flutter的安裝配置方法,以及如何創建第一個Flutter項目。單元2聚焦Dart語言,涵蓋表達式、數據類型、函數、流程控制、類與庫等基礎知識,並指導讀者編寫第一個Dart程序。單元3至單元6深入Flutter核心技術,包括組件與布局、通用樣式、路由與狀態管理、數據持久化與網絡請求等內容。單元7講解如何利用AI工具來輔助編程,提升開發效率。本書每個單元均配備“動手工坊”和“探索空間”,助力讀者將理論知識應用於實際開發。
本書註重理論與實踐結合,提供大量示例代碼和練習題,助力讀者鞏固所學內容。本書既可作為計算機相關專業的課程教材,又可作為計算機自學者和從事前端開發的初學者的參考書。
本書理論結合實踐,提供大量的示例代碼和練習題,幫助讀者鞏固所學的知識。本書可作為計算機相關專業的課程教材,也可作為計算機自學者和從事前端開發的初學者的參考書。
作者簡介
李永紅,副教授,河南對外經濟貿易職業學院信息工程學院院長,開封市教育科技人才表現突出個人,省優質課比賽一等獎獲得者,長期從事計算機專業課程教學和理論研究工作,主持參於各類教研、科研課題多項;參與編寫教材5本,其中“十四五”規劃教材副主編1本,副主編2本;發表論文8篇,其中核心期刊論文2篇;獲獎論文2篇; 輔導學生參加省級競賽獲獎20余項。
目錄大綱
單元1 Flutter基礎與環境搭建 1
【學習導讀】 1
【學習目標】 1
【相關知識】 1
1.1 Flutter簡介 1
1.1.1 Flutter的起源 2
1.1.2 Flutter的特點 2
1.1.3 Flutter在行業中的應用 3
1.2 Flutter開發環境的搭建 3
1.2.1 安裝VS Code 4
1.2.2 設置VS Code 5
1.2.3 安裝Flutter SDK 5
1.2.4 Windows中環境變量的配置 7
1.2.5 macOS中環境變量的配置 9
1.2.6 Windows中Android開發環境的搭建 10
1.2.7 macOS中iOS開發環境的搭建 15
1.3 創建第 一個Flutter項目 17
1.3.1 創建項目 17
1.3.2 編寫第 一個應用 18
【動手工坊】仿京東App—搭建項目工程 23
【單元小結】 24
【課後練習】 25
【探索空間】仿瑞幸咖啡App—搭建項目工程 25
單元2 Dart語言基礎 26
【學習導讀】 26
【學習目標】 26
【相關知識】 27
2.1 Dart基礎表達式 27
2.1.1 變量 27
2.1.2 操作符 29
2.1.3 註釋 34
2.1.4 關鍵字 35
2.2 Dart常用數據類型 36
2.2.1 字符串 36
2.2.2 數值 36
2.2.3 布爾 37
2.2.4 列表 37
2.2.5 集合 37
2.2.6 映射 37
2.3 Dart函數 37
2.3.1 定義函數 38
2.3.2 函數傳參 38
2.3.3 函數返回值 38
2.4 Dart流程控制 38
2.4.1 條件語句 39
2.4.2 循環語句 39
2.4.3 異常處理 40
2.5 Dart類 40
2.5.1 定義類 41
2.5.2 構造函數 41
2.5.3 實例化類 42
2.5.4 this關鍵字 43
2.5.5 繼承 43
2.6 Dart庫 43
2.6.1 使用內置庫 44
2.6.2 導入部分庫 48
2.7 第 一個Dart程序 50
2.7.1 檢測Dart環境 50
2.7.2 編寫程序 50
2.7.3 運行程序 50
【動手工坊】仿京東App—搭建首頁 50
【單元小結】 51
【課後練習】 52
【探索空間】仿瑞幸咖啡App—搭建首頁 52
單元3 Flutter組件與布局 54
【學習導讀】 54
【學習目標】 54
【相關知識】 55
3.1 組件概念 55
3.1.1 有狀態組件 55
3.1.2 無狀態組件 57
3.1.3 組件的3種定義方式 57
3.1.4 組件的生命周期 59
3.1.5 組件的特點 60
3.2 基礎組件 61
3.2.1 文本組件(Text) 61
3.2.2 圖片組件(Image) 61
3.2.3 圖標組件(Icon) 64
3.2.4 按鈕組件(Button) 65
3.2.5 輸入框組件(TextField) 67
3.2.6 表單組件(Form) 69
3.3 基礎布局組件 72
3.3.1 容器布局組件(Container) 73
3.3.2 網格布局組件(GridView) 74
3.3.3 列表布局組件(ListView) 77
3.3.4 表格布局組件(Table) 80
3.4 排版組件 82
3.4.1 垂直組件(Column) 82
3.4.2 水平組件(Row) 83
3.4.3 流式組件(Wrap) 84
3.4.4 堆疊組件(Stack) 85
3.4.5 絕對定位組件(Positioned) 85
3.4.6 彈性布局組件(Expanded) 86
3.5 尺寸和位置組件 87
3.5.1 尺寸組件(SizedBox) 87
3.5.2 對齊組件(Align) 88
3.5.3 居中布局組件(Center) 89
3.5.4 填充布局組件(Padding) 90
【動手工坊】仿京東App—配置底部導航欄並搭建分類頁面 90
【單元小結】 93
【課後練習】 94
【探索空間】仿瑞幸咖啡App—配置底部導航欄 94
單元4 Flutter通用樣式 95
【學習導讀】 95
【學習目標】 95
【相關知識】 95
4.1 文本樣式(TextStyle) 95
4.1.1 字號(fontSize) 96
4.1.2 文本粗細(fontWeight) 97
4.1.3 文本樣式(fontStyle) 97
4.1.4 文本顏色(color) 98
4.1.5 字母間距(letterSpacing) 98
4.1.6 單詞間距(wordSpacing) 99
4.1.7 文本行高(height) 99
4.1.8 文本基線對齊(textBaseline) 100
4.1.9 文本背景顏色(background) 100
4.1.10 文本線性裝飾(decoration) 101
4.1.11 文本線飾顏色(decorationColor) 101
4.1.12 文本線飾樣式(decorationStyle) 102
4.2 按鈕樣式(ButtonStyle) 103
4.2.1 按鈕文本顏色(foregroundColor) 104
4.2.2 按鈕禁用時文本顏色(disabledForegroundColor) 104
4.2.3 按鈕背景顏色(backgroundColor) 105
4.2.4 按鈕禁用時背景顏色(disabledBackgroundColor) 106
4.2.5 交互時按鈕顏色(overlayColor) 106
4.2.6 按鈕最小尺寸(minimumSize) 107
4.2.7 按鈕邊框樣式(shape) 108
4.3 布局樣式(LayoutStyle) 109
4.3.1 布局高度(height) 109
4.3.2 布局寬度(width) 110
4.3.3 背景顏色(color) 110
4.3.4 外邊距(margin) 111
4.3.5 內邊距(padding) 111
4.3.6 尺寸約束(constraints) 112
4.3.7 背景裝飾(decoration) 113
4.3.8 前景裝飾(foregroundDecoration) 114
4.3.9 邊框(border) 114
4.3.10 組件邊緣切割方式(clipBehavior) 115
【動手工坊】仿京東App—搭建購物車頁面 116
【單元小結】 118
【課後練習】 118
【探索空間】仿瑞幸咖啡App—搭建購物車頁面 118
單元5 Flutter路由與狀態管理 119
【學習導讀】 119
【學習目標】 119
【相關知識】 120
5.1 路由 120
5.1.1 路由表 120
5.1.2 命令式路由 122
5.1.3 命名路由 125
5.1.4 路由回調 125
5.1.5 路由傳參 134
5.2 狀態管理 137
5.2.1 安裝provider庫 137
5.2.2 準備狀態數據 138
5.2.3 使用狀態數據 139
5.2.4 更改狀態數據 139
5.2.5 監聽狀態數據 140
【動手工坊】仿京東App—搭建個人中心及訂單列表頁面 141
【單元小結】 143
【課後練習】 143
【探索空間】仿瑞幸咖啡App—搭建個人中心和訂單列表頁面 143
單元6 Flutter數據持久化與網絡請求 145
【學習導讀】 145
【學習目標】 145
【相關知識】 146
6.1 異步編程 146
6.1.1 Future介紹 146
6.1.2 async與await介紹 147
6.1.3 使用Future方法 147
6.2 數據持久化 148
6.2.1 shared_preferences 148
6.2.2 文件操作 151
6.2.3 SQLite數據庫 155
6.3 網絡請求 163
6.3.1 HTTP請求 163
6.3.2 http請求插件 163
6.3.3 dio請求插件 164
6.3.4 使用WebSocket請求 167
【動手工坊】仿京東App—搭建商品詳情和收貨地址管理頁面 169
【單元小結】 171
【課後練習】 171
【探索空間】仿瑞幸咖啡App—搭建商品詳情頁面 172
單元7 AI輔助編程 173
【學習導讀】 173
【學習目標】 173
【相關知識】 173
7.1 AI輔助編程概念 173
7.2 AI輔助編程工具 174
7.2.1 工具介紹 174
7.2.2 工具選擇指南 175
7.3 AI輔助編程的優勢與面對的 挑戰 176
【動手工坊】利用GitHub Copilot助力Flutter項目開發 176
【單元小結】 183
【課後練習】 183
【探索空間】利用Copilot實現數字增加 184

