幫助中心 | 我的帳號 | 關於我們

Jetpack Compose從入門到實戰/電腦前沿技術叢書

  • 作者:王鵬//關振智//曾思淇|責編:楊源
  • 出版社:機械工業
  • ISBN:9787111711377
  • 出版日期:2022/08/01
  • 裝幀:平裝
  • 頁數:331
人民幣:RMB 109 元      售價:
放入購物車
加入收藏夾

內容大鋼
    Jetpack Compose是谷歌推出的全新Android UI開發框架,它採用更為先進的聲明式開發思想,極大地提升了應用界面的開發效率。Compose顛覆性的設計理念使得其學習曲線較為陡峭,因此本書對知識點進行了系統全面的整理和編排。全書共分11章,從寫第一行Hello World到實現一個全功能的產品級項目,幫助讀者規劃出了從入門到精通的最佳學習路徑。除了對知識點細緻的講解之外,書中還穿插了大量源碼示例和最佳實踐,幫助讀者及時鞏固所學的內容,真正達到學以致用。
    本書適合Jetpack Compose初學者閱讀,同時書中的很多經驗總結,對於已經有一定基礎的開發者也同樣具有參考價值。

作者介紹
王鵬//關振智//曾思淇|責編:楊源

目錄
前言
第1章  全新的Android UI框架
  1.1  Jetpack Compose是什麼?
    1.1.1  谷歌為什麼要推出Compose?
    1.1.2  命令式UI與聲明式UI
    1.1.3  Compose API設計原則
    1.1.4  Compose與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.1  Modifier修飾符
    2.1.1  常用修飾符
    2.1.2  作用域限定Modifier修飾符
    2.1.3  Modifier實現原理
  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.3  Spacer留白
    2.3.4  ConstraintLayout約束布局
    2.3.5  Scaffold腳手架
  2.4  列表
    2.4.1  Lazy Composables
    2.4.2  LazyListScope作用域
    2.4.3  內容填充
  2.5  本章小結
第3章  定製UI視圖
  3.1  構建UI頁面
    3.1.1  配置顏色、字體與形狀
    3.1.2  Welcome歡迎頁
    3.1.3  LoginIn登錄頁
    3.1.4  Home主頁
    3.1.5  布局預覽
  3.2  主題
    3.2.1  MaterialTheme介紹

    3.2.2  理解MaterialTheme與
CompositionLocal
    3.2.3  定製主題方案
  3.3  本章小結
第4章  狀態管理與重組
  4.1  狀態管理
    4.1.1  什麼是狀態?
    4.1.2  單向數據流
    4.1.3  Stateless與Stateful
    4.1.4  狀態的定義
    4.1.5  狀態上提
    4.1.6  狀態的持久化與恢復
    4.1.7  使用ViewModel管理狀態
    4.1.8  LiveData、RxJava、Flow轉State
    4.1.9  狀態的分層管理
  4.2  重組與自動刷新
    4.2.1  智能的重組
    4.2.2  避免重組的「陷阱」
    4.2.3  如何確定重組範圍?
    4.2.4  優化重組的性能
  4.3  生命周期與副作用
    4.3.1  Composable的生命周期
    4.3.2  Composable的副作用
    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.1  Layout Modifier
    5.2.2  LayoutComposable
    5.2.3  固有特性測量Intrinsic
    5.2.4  SubcomposeLayout
  5.3  繪製
    5.3.1  Canvas Composable
    5.3.2  DrawModifier
    5.3.3  使用平台原生Canvas
    5.3.4  實戰:Canvas繪製波浪載入
  5.4  本章小結
第6章  讓頁面動起來:動畫
  6.1  動畫分類
  6.2  高級別動畫API
    6.2.1  AnimatedVisibiliy
    6.2.2  AnimatedContent
    6.2.3  Crossfade
    6.2.4  Modifier.animateContentSize
  6.3  低級別動畫API
    6.3.1  animate*AsState

    6.3.2  Animatable
  6.4  Transition過渡動畫
    6.4.1  updateTransition
    6.4.2  rememberInfiniteTransition
  6.5  AnimationSpec動畫規格
    6.5.1  spring彈跳動畫
    6.5.2  tween補間動畫
    6.5.3  keyframes關鍵幀動畫
    6.5.4  repeatable循環動畫
    6.5.5  infiniteRepeatable無限循環動畫
    6.5.6  snap快閃動畫
    6.5.7  使用Easing控制動畫節奏
  6.6  AnimationVector動畫矢量值
    6.6.1  TwoWayConverter
    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.1  Clickable點擊
    7.1.2  CombinedClickable複合點擊
    7.1.3  Draggable拖動
    7.1.4  Swipeable滑動
    7.1.5  Transformable多點觸控
    7.1.6  Scrollable滾動
    7.1.7  NestedScroll嵌套滑動
  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.2  Navigation for Compose
    8.1.3  導航時攜帶參數
    8.1.4  Navigation搭配底部導航欄
    8.1.5  嵌套導航圖Nested Navigation
Graph

    8.1.6  導航DeepLinks
    8.1.7  Navigation對ViewModel的
支持
  8.2  在Compose中使用Hilt
    8.2.1  認識Dagger Hilt
    8.2.2  在Compose中使用Hilt
  8.3  本章小結
第9章  Accompanist與第三方組件庫
  9.1  Accompanist
    9.1.1  SystemUiController
    9.1.2  Pager
    9.1.3  SwipeRefresh
    9.1.4  Flow Layouts
    9.1.5  Insets
  9.2  Lottie
    9.2.1  配置依賴
    9.2.2  Lottie動畫資源
    9.2.3  創建Lottie動畫
  9.3  Coil
    9.3.1  配置依賴
    9.3.2  AsyncImage
    9.3.3  SubcomposeAsyncImage
    9.3.4  AsyncImagePainter
  9.4  本章小結
第10章  項目實戰:小遊戲Tetris
  10.1  整體項目架構
  10.2  磚塊矩陣(BrickMatrix)
    10.2.1  drawBrick繪製磚塊單元
    10.2.2  drawMatrix繪製磚塊
矩陣
  10.3  下落中的磚塊(Sprite)
    10.3.1  Shape磚塊組合形狀
    10.3.2  Sprite定義下落磚塊
    10.3.3  drawSprite繪製下落磚塊
  10.4  遊戲機體(GameBody)
    10.4.1  GameButton
    10.4.2  組裝Button、發送Action
    10.4.3  Clicable:分發事件
  10.5  訂閱遊戲狀態(ViewState)
    10.5.1  ViewState
    10.5.2  Action
    10.5.3  reduce
  10.6  預覽遊戲畫面
第11章  項目實戰:聊天應用Chatty
  11.1  整體系統架構
  11.2  登錄註冊模塊
  11.3  IM聊天模塊
    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  適配暗黑主題

  • 商品搜索:
  • | 高級搜索
首頁新手上路客服中心關於我們聯絡我們Top↑
Copyrightc 1999~2008 美商天龍國際圖書股份有限公司 臺灣分公司. All rights reserved.
營業地址:臺北市中正區重慶南路一段103號1F 105號1F-2F
讀者服務部電話:02-2381-2033 02-2381-1863 時間:週一-週五 10:00-17:00
 服務信箱:bookuu@69book.com 客戶、意見信箱:cs@69book.com
ICP證:浙B2-20060032