|
-- 會員 / 註冊 --
|
|
|
|
Flutter App開發 從入門到實戰 ( 簡體 字) |
作者:李元靜 | 類別:1. -> 程式設計 C1 -> Flutter |
譯者: |
出版社:人民郵電出版社 | 3dWoo書號: 55171 詢問書籍請說出此書號!【缺書】 NT售價: 500 元 |
出版日:10/1/2021 |
頁數:386 |
光碟數:0 |
|
站長推薦: |
印刷:黑白印刷 | 語系: ( 簡體 版 ) |
|
加入購物車 │加到我的最愛 (請先登入會員) |
ISBN:9787115568755 |
作者序 | 譯者序 | 前言 | 內容簡介 | 目錄 | 序 |
(簡體書上所述之下載連結耗時費功, 恕不適用在台灣, 若讀者需要請自行嘗試, 恕不保證) |
作者序: |
譯者序: |
前言: |
內容簡介:Flutter是谷歌公司推出的跨平臺開源UI框架,同時支持Android App與iOS App開發,使用這一框架可以大大提高開發效率。本書共14章,系統講解Flutter背景、Dart語言的語法基礎、Flutter組件、狀態管理、事件處理、路由管理、動畫、網絡編程、數據存儲、相機、主題與國際化、混合開發等核心內容,并通過多個案例以及“天氣預報”App和“我的視頻”App兩個完整的實戰項目,將理論知識與實踐結合,提升讀者的實戰開發能力。通過對本書的學習,讀者將會對Flutter框架以及跨平臺開發有全面的認識,并可在實踐中使用Flutter大大提高移動開發效率。 本書適合正在使用Flutter以及對Flutter感興趣的開發人員閱讀和參考。 |
目錄:第 1章 初識Flutter 1 1.1 Flutter簡介 1 1.2 Flutter的優勢 1 1.2.1 跨平臺性 2 1.2.2 高幀率的流暢UI 2 1.2.3 熱重載 2 1.2.4 對開發環境要求不高 2 1.2.5 高性能 2 1.2.6 學習成本低 3 1.3 Flutter的技術特性 3 1.4 Flutter的架構 3 1.4.1 Flutter框架 3 1.4.2 Flutter引擎 4 1.5 開發環境的搭建 4 1.5.1 安裝Android Studio 5 1.5.2 在Android Studio中安裝Flutter開發庫 5 1.5.3 在VSCode中安裝Flutter開發庫 8 1.5.4 搭建Dart語言開發環境 9 1.5.5 通過IntelliJ IDEA搭建純Dart語言開發環境 10 1.6 創建第 一個Flutter項目 11 1.7 體驗熱重載 13 1.8 習題 14
第 2章 Dart語言:一切皆對象 15 2.1 Dart語言簡介 15 2.1.1 一切皆對象 15 2.1.2 面向接口編程 15 2.1.3 類型可選 16 2.2 Hello World 16 2.3 變量與常量 17 2.3.1 變量 17 2.3.2 常量 17 2.4 內置類型 18 2.4.1 數值類型 18 2.4.2 布爾類型 19 2.4.3 字符串類型 20 2.4.4 列表類型 21 2.4.5 鍵值對類型 23 2.4.6 動態類型與Object 23 2.4.7 符號字符 24 2.4.8 符號 25 2.5 運算符 25 2.5.1 三目運算符 25 2.5.2 取商運算符 26 2.5.3 自定義類操作符 26 2.5.4 級聯操作符 27 2.6 get和set方法 27 2.7 異常捕獲 28 2.7.1 throw 28 2.7.2 try-catch 28 2.8 循環語句 29 2.8.1 for循環 29 2.8.2 while循環 30 2.8.3 do-while循環 30 2.9 switch語句 30 2.10 函數 31 2.10.1 main()函數 31 2.10.2 可選參數 31 2.10.3 必選參數 31 2.10.4 可選位置參數 32 2.10.5 默認參數 32 2.10.6 函數作為參數傳遞 32 2.10.7 函數作為變量 33 2.10.8 級聯 33 2.11 異步編程 34 2.11.1 Future 34 2.11.2 async和await 35 2.12 抽象方法和抽象類 36 2.13 接口 37 2.14 繼承 37 2.15 mixin 38 2.16 泛型 40 2.17 庫 42 2.17.1 導入庫 42 2.17.2 拆分庫 43 2.18 習題 43
第3章 Flutter組件 45 3.1 基礎組件 45 3.1.1 Text 46 3.1.2 Button 47 3.1.3 Icon 49 3.1.4 Image 49 3.1.5 FlutterLogo 51 3.2 單一子元素組件 51 3.2.1 Container 51 3.2.2 Padding 54 3.2.3 Align 55 3.2.4 Center 55 3.2.5 FittedBox 55 3.2.6 AspectRatio 57 3.2.7 SingleChildScrollView 57 3.2.8 FractionallySizedBox 58 3.2.9 ConstrainedBox 58 3.2.10 Baseline 59 3.3 多子元素組件 60 3.3.1 Scaffold 60 3.3.2 AppBar 61 3.3.3 Row和Column 62 3.3.4 ListView 63 3.3.5 GridView 66 3.3.6 CustomScrollView 67 3.3.7 CustomMultiChildLayout 68 3.3.8 Stack 69 3.3.9 IndexedStack 70 3.3.10 Table 70 3.3.11 Flex 71 3.3.12 Wrap 72 3.3.13 Flow 73 3.4 其他常用組件的應用 75 3.4.1 TextField 75 3.4.2 TextFormField 77 3.4.3 側滑菜單 79 3.4.4 輪播廣告 81 3.4.5 折疊相冊 82 3.5 習題 85
第4章 狀態管理 86 4.1 狀態管理組件 86 4.1.1 Widget樹 86 4.1.2 Context樹 87 4.1.3 StatelessWidget 87 4.1.4 StatefulWidget 88 4.2 State 89 4.3 Key 94 4.3.1 GlobalKey 94 4.3.2 LocalKey 95 4.4 InheritedWidget 99 4.5 包管理 102 4.6 習題 103
第5章 事件處理 104 5.1 原始指針事件 104 5.1.1 基本用法 104 5.1.2 忽略PointerEvent 106 5.1.3 命中測試 107 5.2 GestureDetector 109 5.2.1 基本用法 109 5.2.2 常用事件 110 5.2.3 GestureDetector實戰 111 5.2.4 手勢沖突 113 5.3 事件通知 115 5.3.1 通知冒泡 115 5.3.2 通知欄消息 117 5.3.3 通知數提醒 118 5.4 習題 119
第6章 路由管理 120 6.1 路由簡介 120 6.1.1 基本用法 120 6.1.2 靜態路由 121 6.1.3 動態路由 123 6.1.4 參數回傳 125 6.2 路由棧 128 6.2.1 路由棧詳解 128 6.2.2 pushReplacementNamed()方法 128 6.2.3 popAndPushNamed()與pushReplacement()方法 129 6.2.4 pushNamedAndRemoveUntil()方法 129 6.2.5 popUntil()方法 131 6.3 fluro庫 131 6.3.1 創建路由管理類 131 6.3.2 實現路由跳轉 133 6.4 習題 135
第7章 動畫 136 7.1 動畫的原理 136 7.1.1 幀 136 7.1.2 插值器 137 7.2 Flutter動畫核心類 138 7.2.1 Animation 138 7.2.2 Animatable 138 7.2.3 AnimationController 138 7.3 Tween類 140 7.3.1 Tween.animate 142 7.3.2 Curve 142 7.4 動畫的封裝與簡化 145 7.4.1 AnimatedWidget 145 7.4.2 AnimatedBuilder 146 7.4.3 ScaleTransition 148 7.5 路由動畫 149 7.5.1 Hero 150 7.5.2 Hero動畫原理 151 7.5.3 自定義路由動畫 153 7.6 組合動畫 156 7.7 動畫實戰 160 7.7.1 實現支付寶“咻一咻” 動畫 160 7.7.2 Flare動畫 164 7.8 習題 167
第8章 網絡編程 168 8.1 網絡協議基礎 168 8.1.1 HTTP 168 8.1.2 URL和URI 171 8.1.3 Get和Post 172 8.1.4 為什么普及HTTP 2.0 172 8.1.5 HTTPS 174 8.2 網絡編程 175 8.2.1 HttpClient庫 175 8.2.2 http庫 177 8.3 JSON解析 179 8.3.1 手動解析JSON數據 179 8.3.2 手動將JSON數據顯示到界面 180 8.3.3 自動解析 182 8.4 dio庫 186 8.4.1 基本用法 186 8.4.2 單例模式 188 8.4.3 攔截器 189 8.4.4 適配器 192 8.5 異步編程 193 8.5.1 隔離 193 8.5.2 事件循環 194 8.5.3 線程模型 196 8.5.4 事件流 198 8.5.5 創建并使用隔離 200 8.5.6 使用compute()函數 202 8.5.7 FutureBuilder 202 8.6 網絡狀態判斷 204 8.7 習題 207
第9章 數據存儲 208 9.1 SharedPreferences 208 9.1.1 基本操作 208 9.1.2 實現登錄賬號存儲功能 209 9.2 文件存儲 212 9.2.1 基本操作 213 9.2.2 實現留言板功能 214 9.2.3 自定義外部存儲目錄路徑 216 9.2.4 實現文件瀏覽器功能 218 9.2.5 實現文件夾的添加和刪除功能 220 9.3 SQLite數據庫 223 9.3.1 基本操作 224 9.3.2 封裝數據庫操作 230 9.3.3 用sqflite庫實現添加客戶信息功能 233 9.4 訪問服務器端數據庫 237 9.4.1 基本操作 237 9.4.2 訪問云端數據庫實戰 239 9.5 習題 241
第 10章 相機 242 10.1 camera庫 242 10.1.1 基本用法 242 10.1.2 使用takePicture ()方法拍照 245 10.1.3 切換攝像頭 248 10.1.4 錄制視頻 249 10.2 視頻播放 251 10.2.1 本地視頻播放 252 10.2.2 網絡視頻播放 254 10.2.3 視頻資源播放 256 10.2.4 視頻樣式 258 10.3 瀏覽圖片和視頻 262 10.3.1 調用相機拍攝圖片 263 10.3.2 調用相機拍攝視頻 265 10.3.3 選擇圖片與視頻 268 10.3.4 完善自定義相機 269 10.4 下載圖片和視頻 273 10.5 識別二維碼和條形碼 274 10.6 生成二維碼 278 10.6.1 qr_flutter庫的基本用法 278 10.6.2 實現二維碼生成器 279 10.7 習題 280
第 11章 主題與國際化 281 11.1 主題換膚 281 11.1.1 ThemeData組件的屬性 281 11.1.2 全局主題應用 282 11.1.3 局部主題應用 284 11.1.4 主題換膚實戰 285 11.2 第三方庫換膚 286 11.2.1 狀態管理配置 287 11.2.2 變更主題樣式 288 11.2.3 第三方庫換膚實戰 289 11.3 國際化 292 11.3.1 自定義LocalizationsDelegate類 294 11.3.2 通過MyLocalizations類 國際化 296 11.4 第三方庫easy_localization 299 11.4.1 初始化配置 300 11.4.2 手動切換語言實戰 301 11.5 習題 303
第 12章 混合開發 304 12.1 在Android原生項目中嵌入Flutter技術 304 12.1.1 創建Flutter模塊 304 12.1.2 關聯Flutter模塊 304 12.2 Flutter與Android交互 305 12.2.1 Activity嵌入Flutter界面 306 12.2.2 Flutter向Activity傳遞參數 308 12.2.3 Activity向Flutter回傳參數 310 12.2.4 Flutter向Activity回傳參數 312 12.2.5 Flutter與Fragment 313 12.3 FlutterBoost框架 315 12.3.1 FlutterBoost架構 315 12.3.2 配置FlutterBoost框架的開發環境 316 12.3.3 使用FlutterBoost框架進行混合開發 317 12.4 aar模塊化打包 322 12.5 習題 323
第 13章 實戰項目1:“天氣預報”App 324 13.1 需求分析及技術獲取 324 13.1.1 獲取定位信息 324 13.1.2 獲取天氣數據 326 13.1.3 項目使用的庫 326 13.1.4 項目目錄結構 328 13.2 業務功能開發 328 13.2.1 獲取當前城市名稱 328 13.2.2 獲取天氣數據 329 13.2.3 存儲天氣數據 332 13.3 主界面開發 333 13.3.1 背景動畫 333 13.3.2 標題欄 334 13.3.3 當前天氣詳情 335 13.3.4 橫向ListView組件 336 13.3.5 縱向ListView組件 337 13.3.6 HomePage代碼 338 13.4 城市天氣切換 340 13.4.1 路由管理 340 13.4.2 切換城市界面 342 13.5 城市搜索匹配 345 13.5.1 SearchDelegate類 345 13.5.2 實現SearchDelegate類 346 13.5.3 搜索文本框默認顯示內容 348 13.6 導出App 349 13.6.1 使用命令行創建一個簽名文件 349 13.6.2 在android目錄下創建一個key.properties文件 350 13.6.3 修改android/app/build.gradle文件內容 350 13.6.4 導出APK文件 351
第 14章 實戰項目2:“我的視頻”App 352 14.1 實戰項目概述 352 14.1.1 項目結構 352 14.1.2 界面分析 353 14.2 啟動界面與主界面 354 14.2.1 啟動界面 354 14.2.2 主界面 355 14.2.3 主界面內容 357 14.3 網絡與JSON數據 365 14.4 路由管理 368 14.5 視頻播放界面 370 14.6 短視頻 376 14.7 個人中心界面 381 |
序: |
|