Flutter基礎(chǔ)與實(shí)戰(zhàn)——從入門到APP跨平臺(tái)開發(fā)
定 價(jià):129 元
- 作者:趙龍 編著
- 出版時(shí)間:2021/11/1
- ISBN:9787111690627
- 出 版 社:機(jī)械工業(yè)出版社
- 中圖法分類:TN929.53
- 頁碼:327
- 紙張:
- 版次:
- 開本:16開
本書旨在幫助讀者快速入門Flutter、掌握Flutter開發(fā)技能,從而具備一定的Flutter跨平臺(tái)開發(fā)能力。本書在內(nèi)容編排上主要分為以下三個(gè)部分。
第壹部分(第1~5章)是UI構(gòu)建基礎(chǔ)篇,縱向概述Flutter開發(fā)中用到的基礎(chǔ)組件(如Text、Image)、UI布局組件(如Column)、滑動(dòng)組件(如NestScrollView)和功能性組件(如手勢(shì)識(shí)別)等。
第二部分(第6~10章)是Flutter核心功能篇,涵蓋動(dòng)畫、彈框、繪圖、插件開發(fā)、文件操作與網(wǎng)絡(luò)請(qǐng)求等。
第三部分(第11~13章)是實(shí)戰(zhàn)應(yīng)用篇,將前兩部分的內(nèi)容加以應(yīng)用,并補(bǔ)充開發(fā)細(xì)節(jié),如應(yīng)用圖標(biāo)配置、打包發(fā)布、權(quán)限請(qǐng)求、各種工具類封裝,還提供了一個(gè)APP的基礎(chǔ)架構(gòu)以及短視頻應(yīng)用與電商類應(yīng)用。讀者可以直接在本書提供的源碼基礎(chǔ)上搭建企業(yè)級(jí)的應(yīng)用。
此外,本書還具有較強(qiáng)的工具屬性,便于在隨時(shí)查閱,陪伴讀者完成Flutter的學(xué)習(xí)旅程。
本書適合想要入門Flutter,進(jìn)行應(yīng)用開發(fā)的技術(shù)人員閱讀。
目錄
前言
UI 構(gòu)建基礎(chǔ)篇
第1 章 Flutter 開發(fā)起步
1.1 Dart 語言概述
1.1.1 Dart 與Flutter 的發(fā)展史
1.1.2 編譯模式概述
1.2 Dart 語言核心
1.2.1 Dart 方法函數(shù)
1.2.2 Map、List、Set 的基本使用
1.2.3 Dart 中的流程控制
1.3 Flutter 項(xiàng)目配置文件
1.3.1 pubspec 配置文件依賴庫引用說明
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 語言環(huán)境與主題配置
2.2 Scaffold 組件
2.2.1 FloatingActionButton 懸浮按鈕
2.2.2 側(cè)拉頁面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)與鍵盤控制
2.6 容器Container 組件
2.7 按鈕Button
2.8 圖片Image 組件
2.8.1 加載網(wǎng)絡(luò)圖片
2.8.2 加載本地圖片
小結(jié)
第3 章 UI 布局排版組件
3.1 線性布局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 非線性布局
3.2.1 幀布局 Stack
3.2.2 彈性布局Flex
3.2.3 流式布局Wrap
3.2.4 流式布局Flow
3.3 實(shí)現(xiàn)一個(gè)酷炫的登錄頁面
3.3.1 頁面主體結(jié)構(gòu)構(gòu)建
3.3.2 輸入層UI 布局
3.3.3 輸入層的事件交互操作
3.3.4 抖動(dòng)文本輸入框ShakeTextFiled
3.3.5 鍵盤占位 KeyboardPlaceholderWidget
小結(jié)
第4 章 功能性組件
4.1 進(jìn)度指示器
4.1.1 線性指示器LinearProgressIndicator
4.1.2 圓形指示器CircularProgressIndicator
4.1.3 蘋果風(fēng)格CupertinoActivityIndicator
4.1.4 Material 風(fēng)格RefreshIndicator
4.1.5 蘋果風(fēng)格CupertinoSliverRefreshControl
4.2 單選框Radio、復(fù)選框CheckBox、開關(guān)Switch
4.2.1 單選框Radio 組件
4.2.2 單選框RadioListTile 的基本使用
4.2.3 復(fù)選框CheckBox 的基本使用
4.2.4 復(fù)選框CheckboxListTile 的基本使用
4.2.5 開關(guān)Switch 的基本使用
4.2.6 開關(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)畫專題—讓畫面動(dòng)起來
6.1 基本動(dòng)畫
6.1.1 透明動(dòng)畫
6.1.2 縮放動(dòng)畫
6.1.3 平移動(dòng)畫
6.1.4 旋轉(zhuǎn)動(dòng)畫
6.2 Tween 動(dòng)畫
6.2.1 數(shù)值類型的Tween
6.2.2 顏色類型的 Tween
6.2.3 各系列的Tween
6.2.4 CurvedAnimation 使用分析
6.2.5 TweenSequence 串行動(dòng)畫使用分析
6.3 其他動(dòng)畫概述
6.3.1 抖動(dòng)動(dòng)畫實(shí)現(xiàn)
6.3.2 Hero 屏幕共享元素動(dòng)畫
6.3.3 Path 繪圖高級(jí)動(dòng)畫
6.3.4 ClipReact 裁剪動(dòng)畫
6.3.5 Material Design Motion 規(guī)范的預(yù)構(gòu)建動(dòng)畫
小結(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 章 繪圖專題—裝飾讓界面更美觀
8.1 Flutter 中繪圖功能實(shí)現(xiàn)
8.1.1 CustomPaint 簡述
8.1.2 CustomPainter 簡述
8.1.3 畫筆Paint
8.2 繪制基本圖形
8.2.1 繪制點(diǎn)
8.2.2 繪制直線
8.2.3 繪制矩形
8.2.4 繪制弧或者餅drawArc
8.2.5 繪制圓角矩形
8.2.6 繪制圓形
8.2.7 繪制橢圓drawOval
8.2.8 通過Path 繪制基本圖形
8.3 貝塞爾曲線
8.3.1 使用二階貝塞爾曲線繪制弧線
8.3.2 使用三階貝塞爾曲線繪制不規(guī)則弧線
8.4 繪制文本
8.5 繪制圖片
8.5.1 ui.Image 圖片
8.5.2 Uint8List 圖片
8.5.3 繪制一個(gè)圖片
小結(jié)
第9 章 插件開發(fā)專題—滿足你的個(gè)性化開發(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 倉庫
小結(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 的讀寫
10.2.1 資源目錄assets 文件讀取
10.2.2 手機(jī)磁盤文件讀寫
10.2.3 SharedPreferences 輕量級(jí)數(shù)據(jù)保存
10.2.4 sqflite 數(shù)據(jù)庫數(shù)據(jù)操作
10.3 網(wǎng)絡(luò)請(qǐng)求庫
10.3.1 網(wǎng)絡(luò)請(qǐng)求框架HttpClient
10.3.2 網(wǎng)絡(luò)請(qǐng)求庫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ǔ)工具類封裝
11.2.1 常用工具類封裝
11.2.2 路由工具類封裝
11.2.3 網(wǎng)絡(luò)請(qǐng)求工具類封裝
11.3 基礎(chǔ)組件封裝
11.3.1 自定義路由彈框
11.3.2 權(quán)限請(qǐng)求彈框
11.3.3 基類BaseState 構(gòu)建
11.3.4 App 版本升級(jí)組件
11.3.5 Html 加載組件
11.4 啟動(dòng)流程配置
11.4.1 Android 與iOS 雙平臺(tái)的閃屏頁面
11.4.2 啟動(dòng)初始化頁面
11.4.3 廣告倒計(jì)時(shí)頁面
11.4.4 滑動(dòng)引導(dǎo)功能頁面
11.4.5 應(yīng)用首頁面
11.4.6 應(yīng)用登錄頁面
11.4.7 設(shè)置中心頁面
小結(jié)
第12 章 短視頻應(yīng)用的跨平臺(tái)開發(fā)—打造社交新體驗(yàn)
12.1 視頻列表頁面
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 視頻首頁面
小結(jié)
第13 章 電商類應(yīng)用的跨平臺(tái)開發(fā)—呈現(xiàn)訪客至上的購物頁面
13.1 指紋登錄功能
13.2 主頁面根視圖
13.2.1 剪切板功能
13.2.2 雙擊退出應(yīng)用功能
13.2.3 主體頁面
13.3 滑動(dòng)折疊的首頁面
13.3.1 首頁面背景
13.3.2 首頁面主體
13.3.3 首頁面縮放平移搜索框
13.3.4 搜索框
13.3.5 子頁面 HomeItemTabbarPage
小結(jié)