●前言
●第1章 Flutter簡介及環境搭建1
1.1 移動端軟件發展曆程 1
1.2 Flutter 簡介 2
1.3 搭建開發環境 4
1.3.1 下載Flutter SDK4
1.3.2 設置鏡像地址及環境變量5
1.3.3 Android Studio的安裝及設置7
1.3.4 安裝Xcode9
1.3.5 檢查Flutter開發環境9
1.4 本章小結 10
●第2章 初識Flutter項目 11
2.1 創建Flutter 項目 11
2.2 項目目錄說明 14
2.3 App調試運行 15
2.3.1 Android 手機調試運行15
2.3.2 iOS手機調試運行18
2.4 設置App名稱、圖標 21
2.4.1 Android設置App名稱、圖標21
2.4.2 iOS設置App名稱、圖標22
2.5 設置App啓動頁 24
2.5.1 Android 設置啓動頁24
2.5.2 iOS設置啓動頁25
2.6 App 構建發布 26
2.6.1 Android 構建發布26
2.6.2 iOS構建發布31
2.7 本章小結 32
●第3章 組件 33
3.1 基礎組件 33
3.1.1 文本組件(Text)34
3.1.2 文本輸入組件(TextField)40
3.1.3 圖片組件(Image)42
3.1.4 按鈕組件(Button)45
3.1.5 容器類組件(Container)47
3.1.6 容器類組件(Row和Column)48
3.2 Material 風格組件 50
3.2.1 MaterialApp50
3.2.2 Scaffold51
3.2.3 AppBar55
3.2.4 BottomNavigationBar56
3.2.5 TabBar58
3.2.6 Drawer61
3.3 Cupertino風格組件 62
3.3.1 CupertinoActivityIndicator62
3.3.2 CupertinoAlertDialog62
3.3.3 CupertinoButton63
3.3.4 CupertinoSlider64
3.3.5 CupertinoSwitch66
3.4 容器類組件 67
3.4.1 填充布局(Padding)67
3.4.2 居中布局(Center)68
3.4.3 對齊布局(Align)68
3.4.4 固定寬高比(AspectRatio)69
3.4.5 Transform70
3.4.6 Stack71
3.4.7 流式布局(Wrap)72
3.5 列錶及錶格組件 73
3.5.1 ListView73
3.5.2 GridView75
3.5.3 Table78
3.5.4 ExpansionTile79
3.6 項目實戰:登錄功能 80
3.6.1 登錄界麵UI分析80
3.6.2 頂部Logo83
3.6.3 賬號、密碼輸入框83
3.6.4 提交按鈕87
3.6.5 底部的“服務協議”87
3.6.6 Loading 控件89
3.7 本章小結 91
●第4章 Dart語言基礎 92
4.1 Dart簡介 92
4.2 內置數據類型 93
4.3 定義變量、常量 94
4.4 定義函數 95
4.4.1 普通函數95
4.4.2 可選參數96
4.4.3 匿名函數96
4.4.4 箭頭函數97
4.5 運算符及條件錶達式 97
4.5.1 判定和轉換類型的操作符97
4.5.2 三目錶達式98
4.5.3 非空條件判斷符98
4.5.4 級聯運算符98
4.5.5 非空判斷符98
4.6 分支與循環語句 99
4.6.1 if..else99
4.6.2 switch99
4.6.3 基本循環for和while100
4.6.4 List遍曆101
4.6.5 Map遍曆101
4.7 定義類 102
4.7.1 構造函數102
4.7.2 類的運算符重載103
4.7.3 extends、with、implements、abstract的用法104
4.7.4 定義私有變量106
4.8 導入包 106
4.9 異常捕獲 107
4.10 異步編程 108
4.11 泛型 110
4.12 注釋 111
4.13 本章小結 111
●第5章 事件、手勢處理 112
5.1 GestureDetector 112
5.2 GestureRecognizer 116
5.3 原始指針 118
5.4 實戰:“左滑刪除”效果 119
5.5 本章小結 123
●第6章 動畫 124
6.1 動畫簡介 124
6.2 動畫基本使用 126
6.3 AnimatedWidget 129
6.4 AnimatedBuilder 131
6.5 交錯動畫 132
6.6 AnimatedList 135
6.7 Hero 138
6.8 本章小結 140
●第7章 文件操作與網絡請求 141
7.1 獲取Android和iOS文件路徑 141
7.2 文件夾常用操作 142
7.3 文件常用操作 144
7.4 HTTPClient網絡請求 145
7.5 dio 介紹及使用 146
7.6 json數據轉Model 148
7.7 項目實戰:記事本 150
7.7.1 用記事本來寫日記的效果150
7.7.2 日記的展示和添加152
7.7.3 日記的編輯和保存155
7.8 本章小結 158
●第8章 路由導航和存儲 159
8.1 路由導航 159
8.2 命名路由 162
8.3 shared_preferences存儲數據 164
8.4 SQLite存儲數據 165
8.5 本章小結 170
●第9章 混閤開發 172
9.1 Android與Flutter混閤開發 172
9.1.1 Android原生項目引入Flutter172
9.1.2 添加Flutter到Activity175
9.1.3 添加Flutter到Fragment177
9.1.4 Flutter與Android通信178
9.2 iOS與Flutter混閤開發 179
9.2.1 iOS原生項目引入Flutter 180
9.2.2 Flutter與iOS通信181
9.3 本章小結 182
●第10章 國際化 183
10.1 開發的App支持國際化 183
10.2 監聽係統語言切換 184
10.3 開發的UI支持國際化 186
10.4 使用Intl 189
10.5 本章小結 192
●第11章 項目實戰:新聞客戶端 193
11.1 應用簡介 193
11.2 整體框架及導航 196
11.3 輪播熱門事件 198
11.4 搜索頁麵 202
11.5 設置頁麵 207
11.6 新聞分類 212
11.7 新聞列錶及詳情 214
11.8 本章小結 221
●第12章 項目實戰:App升級功能 222
12.1 App升級功能預覽及功能分析 222
12.2 App升級功能提示框 226
12.3 下載應用程序 231
12.4 安裝應用程序 237
12.5 Android平颱跳轉到應用市場進行更新 242
12.6 iOS平颱跳轉到App Store進行更新 246
12.7 本章小結 248
· · · · · · (
收起)