预购商品
书目分类
特别推荐
Jetpack Compose是谷歌推出的全新Android UI開發框架,它採用更為先進的聲明式開發思想,極大地提升了應用介面的開發效率。 Compose顛覆性的設計理念使得其學習曲線較為陡峭,因此本書對知識點進行了系統全面的整理和編排。 全書共分11章,從寫第一行Hello World到實現一個全功能的產品級專案,説明讀者規劃出了從入門到精通的最佳學習路徑。除了對知識點細緻的講解之外,書中還穿插了大量源碼示例和最佳實踐,幫助讀者及時鞏固所學的內容,真正達到學以致用。 本書適合Jetpack Compose初學者閱讀,同時書中的很多經驗總結,對於已經有一定基礎的開發者也同樣具有參考價值。
前言 第1章 全新的Android UI框架/ 1.1Jetpack Compose是什麼?/ 1.1.1谷歌為什麼要推出Compose?/ 1.1.2命令式UI與聲明式UI/ 1.1.3Compose API設計原則/ 1.1.4Compose與View的關係/ 1.1.5不只是Android UI框架/ 1.2搭建開發環境/ 1.2.1準備所需要的開發工具/ 1.2.2部署開發環境/ 1.3創建第一個Compose應用/ 1.3.1創建新的Compose專案/ 1.3.2保持Compose版本更新/ 1.3.3在模擬器中運行Compose應用/ 1.3.4分析第一個Compose應用/ 1.3.5對Compose應用進行預覽/ 1.3.6已有項目引入Compose/ 1.4本章小結/ 第2章 瞭解常用UI組件/ 2.1Modifier修飾符/ 2.1.1常用修飾符/ 2.1.2作用域限定Modifier修飾符/ 2.1.3Modifier實現原理/ 2.2常用的基礎組件/ 2.2.1文字元件/ 2.2.2圖片元件/ 2.2.3按鈕元件/ 2.2.4選擇器/ 2.2.5對話方塊/ 2.3常用的佈局組件/ 2.3.1線性佈局/ 2.3.2幀佈局/ 2.3.3Spacer留白/ 2.3.4ConstraintLayout約束佈局/ 2.3.5Scaffold腳手架/ 2.4列表/ 2.4.1Lazy Composables/ 2.4.2LazyListScope作用域/ 2.4.3內容填充/ 2.5本章小結/ 第3章 定制UI視圖/ 3.1構建UI頁面/ 3.1.1配置顏色、字體與形狀/ 3.1.2Welcome歡迎頁/ 3.1.3LoginIn登錄頁/ 3.1.4Home主頁/ 3.1.5佈局預覽/ 3.2主題/ 3.2.1MaterialTheme介紹/ 3.2.2理解MaterialTheme與 CompositionLocal/ 3.2.3定制主題方案/ 3.3本章小結/ 第4章 狀態管理與重組/ 4.1狀態管理/ 4.1.1什麼是狀態?/ 4.1.2單向資料流程/ 4.1.3Stateless與Stateful/ 4.1.4狀態的定義/ 4.1.5狀態上提/ 4.1.6狀態的持久化與恢復/ 4.1.7使用ViewModel管理狀態/ 4.1.8LiveData、RxJava、Flow轉State/ 4.1.9狀態的分層管理/ 4.2重組與自動刷新/ 4.2.1智能的重組/ 4.2.2避免重組的“陷阱”/ 4.2.3如何確定重組範圍?/ 4.2.4優化重組的性能/ 4.3生命週期與副作用/ 4.3.1Composable的生命週期/ 4.3.2Composable的副作用/ 4.3.3副作用API/ 4.3.4非同步處理的副作用API/ 4.3.5狀態創建的副作用API/ 4.3.6副作用API的觀察參數/ 4.4本章小結/ 第5章 Compose元件渲染流程/ 5.1組合/ 5.2佈局/ 5.2.1Layout Modifier/ 5.2.2LayoutComposable/ 5.2.3固有特性測量Intrinsic/ 5.2.4SubcomposeLayout/ 5.3繪製/ 5.3.1Canvas Composable/ 5.3.2DrawModifier/ 5.3.3使用平臺原生Canvas/ 5.3.4實戰:Canvas繪製波浪載入/ 5.4本章小結/ 第6章 讓頁面動起來:動畫/ 6.1動畫分類/ 6.2高級別動畫API/ 6.2.1AnimatedVisibiliy/ 6.2.2AnimatedContent/ 6.2.3Crossfade/ 6.2.4Modifier.animateContentSize/ 6.3低級別動畫API/ 6.3.1animate*AsState/ 6.3.2Animatable/ 6.4Transition過渡動畫/ 6.4.1updateTransition/ 6.4.2rememberInfiniteTransition/ 6.5AnimationSpec動畫規格/ 6.5.1spring彈跳動畫/ 6.5.2tween補間動畫/ 6.5.3keyframes關鍵幀動畫/ 6.5.4repeatable迴圈動畫/ 6.5.5infiniteRepeatable無限迴圈動畫/ 6.5.6snap快閃動畫/ 6.5.7使用Easing控制動畫節奏/ 6.6AnimationVector動畫向量值/ 6.6.1TwoWayConverter/ 6.6.2自訂實現TwoWayConverter/ 6.7實戰:Compose實現骨架屏的動畫效果/ 6.7.1定義背景色/ 6.7.2為Brush添加動畫/ 6.7.3實現骨架屏佈局/ 6.8實戰:Compose實現收藏按鈕動畫效果/ 6.8.1實現方式1:高級別API(AnimatedContent)/ 6.8.2實現方式2:低級別API(updateTransition)/ 6.9本章小結/ 第7章 增進交互體驗:手勢處理/ 7.1常用的手勢處理Modifier/ 7.1.1Clickable點擊/ 7.1.2CombinedClickable複合點擊/ 7.1.3Draggable拖動/ 7.1.4Swipeable滑動/ 7.1.5Transformable多點觸控/ 7.1.6Scrollable滾動/ 7.1.7NestedScroll嵌套滑動/ 7.2定制手勢處理/ 7.2.1使用PointerInput Modifier/ 7.2.2手勢事件方法作用域 awaitPointerEventScope/ 7.3手勢結合動畫/ 7.4本章小結/ 第8章 為Compose添加頁面導航/ 8.1在Compose中使用Navigation/ 8.1.1認識Jetpack Navigation/ 8.1.2Navigation for Compose/ 8.1.3導航時攜帶參數/ 8.1.4Navigation搭配底部巡覽列/ 8.1.5嵌套導航圖Nested Navigation Graph/ 8.1.6導航DeepLinks/ 8.1.7Navigation對ViewModel的支持/ 8.2在Compose中使用Hilt/ 8.2.1認識Dagger Hilt/ 8.2.2在Compose中使用Hilt/ 8.3本章小結/ 第9章 Accompanist與協力廠商組件庫/ 9.1Accompanist/ 9.1.1SystemUiController/ 9.1.2Pager/ 9.1.3SwipeRefresh/ 9.1.4Flow Layouts/ 9.1.5Insets/ 9.2Lottie/ 9.2.1配置依賴/ 9.2.2Lottie動畫資源/ 9.2.3創建Lottie動畫/ 9.3Coil/ 9.3.1配置依賴/ 9.3.2AsyncImage/ 9.3.3SubcomposeAsyncImage/ 9.3.4AsyncImagePainter/ 9.4本章小結/ 第10章 專案實戰:小遊戲Tetris/ 10.1整體項目架構/ 10.2磚塊矩陣(BrickMatrix)/ 10.2.1drawBrick繪製磚塊單元/ 10.2.2drawMatrix繪製磚塊矩陣/ 10.3下落中的磚塊(Sprite)/ 10.3.1Shape磚塊組合形狀/ 10.3.2Sprite定義下落磚塊/ 10.3.3drawSprite繪製下落磚塊/ 10.4遊戲機體(GameBody)/ 10.4.1GameButton/ 10.4.2組裝Button、發送Action/ 10.4.3Clicable:分發事件/ 10.5訂閱遊戲狀態(ViewState)/ 10.5.1ViewState/ 10.5.2Action/ 10.5.3reduce/ 10.6預覽遊戲畫面/ 第11章 專案實戰:聊天應用Chatty/ 11.1整體系統架構/ 11.2登錄註冊模組/ 11.3IM聊天模組/ 11.3.1對話清單頁/ 11.3.2對話詳情頁/ 11.4連絡人模組/ 11.4.1通訊錄頁/ 11.4.2添加搜尋網頁/ 11.4.3二維碼掃描頁/ 11.4.4陌生人信息頁/ 11.5使用者資訊模組/ 11.5.1個人資訊頁/ 11.5.2資訊編輯頁/ 11.5.3連絡人信息頁/ 11.6發現模組/ 11.7適配暗黑主題/
王鵬,谷歌開發者專家(GDE),位元組跳動移動端架構師,CSDN、掘金知名博主,GDG 社區特邀講師,多次受邀在 Google DevFest、I/O Extended 等活動進行演講,國內首批一批接觸 Compose 的開發者,熱衷於 Android Jetpack 新技術的實踐與推廣。 關振智,北京郵電大學電腦系碩士,國內最早一批接觸 Compose 的開發者,Jetpack Compose 中文技術社區核心成員。掘金優秀創作者, 谷歌開發者社區特邀嘉賓講師,產出的大量技術內容在社區廣受好評。熱愛技術,樂於分享。 曾思淇,Jetpack Compose 中文技術社區主要維護者,開源技術愛好者,熱衷於 Compose 相關技術的研究與推廣,為社區貢獻了大量 Compose 入門教程,基於 Compose 開發過多個獨立 App。
客服公告
热门活动
订阅电子报