Flutter基礎(chǔ)與實(shí)戰(zhàn)——從入門(mén)到APP跨平臺(tái)開(kāi)發(fā)
定 價(jià):129 元
- 作者:趙龍 編著
- 出版時(shí)間:2021/11/1
- ISBN:9787111690627
- 出 版 社:機(jī)械工業(yè)出版社
- 中圖法分類(lèi):TN929.53
- 頁(yè)碼:327
- 紙張:
- 版次:
- 開(kāi)本:16開(kāi)
本書(shū)旨在幫助讀者快速入門(mén)Flutter、掌握Flutter開(kāi)發(fā)技能,從而具備一定的Flutter跨平臺(tái)開(kāi)發(fā)能力。本書(shū)在內(nèi)容編排上主要分為以下三個(gè)部分。
第壹部分(第1~5章)是UI構(gòu)建基礎(chǔ)篇,縱向概述Flutter開(kāi)發(fā)中用到的基礎(chǔ)組件(如Text、Image)、UI布局組件(如Column)、滑動(dòng)組件(如NestScrollView)和功能性組件(如手勢(shì)識(shí)別)等。
第二部分(第6~10章)是Flutter核心功能篇,涵蓋動(dòng)畫(huà)、彈框、繪圖、插件開(kāi)發(fā)、文件操作與網(wǎng)絡(luò)請(qǐng)求等。
第三部分(第11~13章)是實(shí)戰(zhàn)應(yīng)用篇,將前兩部分的內(nèi)容加以應(yīng)用,并補(bǔ)充開(kāi)發(fā)細(xì)節(jié),如應(yīng)用圖標(biāo)配置、打包發(fā)布、權(quán)限請(qǐng)求、各種工具類(lèi)封裝,還提供了一個(gè)APP的基礎(chǔ)架構(gòu)以及短視頻應(yīng)用與電商類(lèi)應(yīng)用。讀者可以直接在本書(shū)提供的源碼基礎(chǔ)上搭建企業(yè)級(jí)的應(yīng)用。
此外,本書(shū)還具有較強(qiáng)的工具屬性,便于在隨時(shí)查閱,陪伴讀者完成Flutter的學(xué)習(xí)旅程。
本書(shū)適合想要入門(mén)Flutter,進(jìn)行應(yīng)用開(kāi)發(fā)的技術(shù)人員閱讀。
目錄
前言
UI 構(gòu)建基礎(chǔ)篇
第1 章 Flutter 開(kāi)發(fā)起步
1.1 Dart 語(yǔ)言概述
1.1.1 Dart 與Flutter 的發(fā)展史
1.1.2 編譯模式概述
1.2 Dart 語(yǔ)言核心
1.2.1 Dart 方法函數(shù)
1.2.2 Map、List、Set 的基本使用
1.2.3 Dart 中的流程控制
1.3 Flutter 項(xiàng)目配置文件
1.3.1 pubspec 配置文件依賴(lài)庫(kù)引用說(shuō)明
1.3.2 圖片等資源管理配置
1.4 Flutter APP 的調(diào)試技巧
1.4.1 Android Studio 的日志使用技巧
1.4.2 斷點(diǎn)調(diào)試——逐行追蹤代碼
1.4.3 Flutter Inspector 調(diào)試快速定位元素
1.4.4 Flutter Performance 調(diào)試應(yīng)用繪制消耗
小結(jié)
第2 章 基礎(chǔ)組件
2.1 MaterialApp
2.1.1 路由配置
2.1.2 語(yǔ)言環(huán)境與主題配置
2.2 Scaffold 組件
2.2.1 FloatingActionButton 懸浮按鈕
2.2.2 側(cè)拉頁(yè)面drawer 配置
2.2.3 bottomNavigationBar 配置底部導(dǎo)航欄菜單
2.3 AppBar
2.3.1 AppBar 的基本使用
VI
2.3.2 在AppBar 中實(shí)現(xiàn)可滑動(dòng)切換的標(biāo)簽欄
2.4 文本顯示 Text 組件
2.4.1 Text 組件的樣式TextStyle
2.4.2 RichText 組件的基本使用
2.5 文本輸入框TextField 組件
2.5.1 背景樣式InputDecoration
2.5.2 文本控制器TextEditingController
2.5.3 輸入焦點(diǎn)與鍵盤(pán)控制
2.6 容器Container 組件
2.7 按鈕Button
2.8 圖片Image 組件
2.8.1 加載網(wǎng)絡(luò)圖片
2.8.2 加載本地圖片
小結(jié)
第3 章 UI 布局排版組件
3.1 線(xiàn)性布局Column 與Row
3.1.1 Column 與Row 的寬與高自適應(yīng)
3.1.2 Column 與Row 中子Widget 的對(duì)齊方式分析
3.1.3 Column 與Row 中子Widget 按比例權(quán)重布局
3.2 非線(xiàn)性布局
3.2.1 幀布局 Stack
3.2.2 彈性布局Flex
3.2.3 流式布局Wrap
3.2.4 流式布局Flow
3.3 實(shí)現(xiàn)一個(gè)酷炫的登錄頁(yè)面
3.3.1 頁(yè)面主體結(jié)構(gòu)構(gòu)建
3.3.2 輸入層UI 布局
3.3.3 輸入層的事件交互操作
3.3.4 抖動(dòng)文本輸入框ShakeTextFiled
3.3.5 鍵盤(pán)占位 KeyboardPlaceholderWidget
小結(jié)
第4 章 功能性組件
4.1 進(jìn)度指示器
4.1.1 線(xiàn)性指示器LinearProgressIndicator
4.1.2 圓形指示器CircularProgressIndicator
4.1.3 蘋(píng)果風(fēng)格CupertinoActivityIndicator
4.1.4 Material 風(fēng)格RefreshIndicator
4.1.5 蘋(píng)果風(fēng)格CupertinoSliverRefreshControl
4.2 單選框Radio、復(fù)選框CheckBox、開(kāi)關(guān)Switch
4.2.1 單選框Radio 組件
4.2.2 單選框RadioListTile 的基本使用
4.2.3 復(fù)選框CheckBox 的基本使用
4.2.4 復(fù)選框CheckboxListTile 的基本使用
4.2.5 開(kāi)關(guān)Switch 的基本使用
4.2.6 開(kāi)關(guān)SwitchListTile 的基本使用
4.3 手勢(shì)處理
4.3.1 GestureDetector 的使用
4.3.2 Ink 與InkWell
4.3.3 手勢(shì)拖動(dòng)與放大圖片的組件
小結(jié)
第5 章 滑動(dòng)視圖
5.1 ScrollView
5.1.1 滑動(dòng)組件SingleChildScrollView
5.1.2 滑動(dòng)布局NestedScrollView 與SliverAppBar
5.1.3 滑動(dòng)組件CustomScrollView
5.2 PageView
5.3 ListView 與GridView
5.3.1 ListView 基本使用
5.3.2 GridView 的基本使用
5.3.3 下拉刷新與上拉加載更多
小結(jié)
核心功能篇
第6 章 動(dòng)畫(huà)專(zhuān)題—讓畫(huà)面動(dòng)起來(lái)
6.1 基本動(dòng)畫(huà)
6.1.1 透明動(dòng)畫(huà)
6.1.2 縮放動(dòng)畫(huà)
6.1.3 平移動(dòng)畫(huà)
6.1.4 旋轉(zhuǎn)動(dòng)畫(huà)
6.2 Tween 動(dòng)畫(huà)
6.2.1 數(shù)值類(lèi)型的Tween
6.2.2 顏色類(lèi)型的 Tween
6.2.3 各系列的Tween
6.2.4 CurvedAnimation 使用分析
6.2.5 TweenSequence 串行動(dòng)畫(huà)使用分析
6.3 其他動(dòng)畫(huà)概述
6.3.1 抖動(dòng)動(dòng)畫(huà)實(shí)現(xiàn)
6.3.2 Hero 屏幕共享元素動(dòng)畫(huà)
6.3.3 Path 繪圖高級(jí)動(dòng)畫(huà)
6.3.4 ClipReact 裁剪動(dòng)畫(huà)
6.3.5 Material Design Motion 規(guī)范的預(yù)構(gòu)建動(dòng)畫(huà)
小結(jié)
第7 章 彈框?qū)n}—提升交互體驗(yàn)的關(guān)鍵
7.1 基本彈框的使用
7.1.1 showDialog
7.1.2 showCupertinoDialog
7.1.3 showGeneralDialog
7.1.4 showBottomSheet
7.1.5 showModalBottomSheet
7.1.6 showCupertinoModalPopup
7.2 Dialog 中的狀態(tài)更新
7.3 自定義彈框
小結(jié)
第8 章 繪圖專(zhuān)題—裝飾讓界面更美觀
8.1 Flutter 中繪圖功能實(shí)現(xiàn)
8.1.1 CustomPaint 簡(jiǎn)述
8.1.2 CustomPainter 簡(jiǎn)述
8.1.3 畫(huà)筆Paint
8.2 繪制基本圖形
8.2.1 繪制點(diǎn)
8.2.2 繪制直線(xiàn)
8.2.3 繪制矩形
8.2.4 繪制弧或者餅drawArc
8.2.5 繪制圓角矩形
8.2.6 繪制圓形
8.2.7 繪制橢圓drawOval
8.2.8 通過(guò)Path 繪制基本圖形
8.3 貝塞爾曲線(xiàn)
8.3.1 使用二階貝塞爾曲線(xiàn)繪制弧線(xiàn)
8.3.2 使用三階貝塞爾曲線(xiàn)繪制不規(guī)則弧線(xiàn)
8.4 繪制文本
8.5 繪制圖片
8.5.1 ui.Image 圖片
8.5.2 Uint8List 圖片
8.5.3 繪制一個(gè)圖片
小結(jié)
第9 章 插件開(kāi)發(fā)專(zhuān)題—滿(mǎn)足你的個(gè)性化開(kāi)發(fā)需求
9.1 Flutter 與原生(Android、iOS)雙向通信
9.1.1 MethodChannel 實(shí)現(xiàn)Flutter 與原生(Android、iOS)雙向通信
9.1.2 BasicMessageChannel 實(shí)現(xiàn)Flutter 與原生(Android、iOS)雙向通信
9.1.3 EventChannel 實(shí)現(xiàn)原生(Android、iOS)向Flutter 發(fā)送消息
9.1.4 Flutter 調(diào)用Android 原生TextView
9.1.5 Flutter 調(diào)用iOS 原生UIView
9.2 插件發(fā)布
9.2.1 插件發(fā)布前的準(zhǔn)備
9.2.2 插件發(fā)布pub 倉(cāng)庫(kù)
小結(jié)
第10 章 文件操作與網(wǎng)絡(luò)請(qǐng)求
10.1 異步編程
10.1.1 Flutter 異步編程async 與await 的基本使用
10.1.2 延時(shí)任務(wù)與定時(shí)任務(wù)概述
10.1.3 Future 與Timer 常用方法概述
10.1.4 Future 任務(wù)原理分析
10.1.5 異步加載FutureBuilder 概述
10.2 文件File 的讀寫(xiě)
10.2.1 資源目錄assets 文件讀取
10.2.2 手機(jī)磁盤(pán)文件讀寫(xiě)
10.2.3 SharedPreferences 輕量級(jí)數(shù)據(jù)保存
10.2.4 sqflite 數(shù)據(jù)庫(kù)數(shù)據(jù)操作
10.3 網(wǎng)絡(luò)請(qǐng)求庫(kù)
10.3.1 網(wǎng)絡(luò)請(qǐng)求框架HttpClient
10.3.2 網(wǎng)絡(luò)請(qǐng)求庫(kù)Dio
小結(jié)
實(shí)戰(zhàn)應(yīng)用篇
第11 章 APP 從0 起步—用Flutter 搭建基礎(chǔ)框架
11.1 項(xiàng)目創(chuàng)建及打包配置
11.1.1 Flutter 項(xiàng)目配置概述
11.1.2 Android 配置文件與清單文件概述
11.1.3 iOS 清單info.plist 配置概述
11.2 基礎(chǔ)工具類(lèi)封裝
11.2.1 常用工具類(lèi)封裝
11.2.2 路由工具類(lèi)封裝
11.2.3 網(wǎng)絡(luò)請(qǐng)求工具類(lèi)封裝
11.3 基礎(chǔ)組件封裝
11.3.1 自定義路由彈框
11.3.2 權(quán)限請(qǐng)求彈框
11.3.3 基類(lèi)BaseState 構(gòu)建
11.3.4 App 版本升級(jí)組件
11.3.5 Html 加載組件
11.4 啟動(dòng)流程配置
11.4.1 Android 與iOS 雙平臺(tái)的閃屏頁(yè)面
11.4.2 啟動(dòng)初始化頁(yè)面
11.4.3 廣告倒計(jì)時(shí)頁(yè)面
11.4.4 滑動(dòng)引導(dǎo)功能頁(yè)面
11.4.5 應(yīng)用首頁(yè)面
11.4.6 應(yīng)用登錄頁(yè)面
11.4.7 設(shè)置中心頁(yè)面
小結(jié)
第12 章 短視頻應(yīng)用的跨平臺(tái)開(kāi)發(fā)—打造社交新體驗(yàn)
12.1 視頻列表頁(yè)面
12.1.1 狀態(tài)欄顏色設(shè)置
12.1.2 下拉刷新與上拉加載更多功能
12.1.3 列表構(gòu)建
12.1.4 加載數(shù)據(jù)處理
12.2 視頻列表子Item
12.3 視頻播放詳情 VideoPlayDetailedWidget
12.3.1 視頻播放控制器的常用操作方法
12.3.2 視頻播放視圖構(gòu)建
12.3.3 視頻播放控制
12.4 視頻首頁(yè)面
小結(jié)
第13 章 電商類(lèi)應(yīng)用的跨平臺(tái)開(kāi)發(fā)—呈現(xiàn)訪(fǎng)客至上的購(gòu)物頁(yè)面
13.1 指紋登錄功能
13.2 主頁(yè)面根視圖
13.2.1 剪切板功能
13.2.2 雙擊退出應(yīng)用功能
13.2.3 主體頁(yè)面
13.3 滑動(dòng)折疊的首頁(yè)面
13.3.1 首頁(yè)面背景
13.3.2 首頁(yè)面主體
13.3.3 首頁(yè)面縮放平移搜索框
13.3.4 搜索框
13.3.5 子頁(yè)面 HomeItemTabbarPage
小結(jié)