首页 > 其他分享 >谷歌内部流出Jetpack Compose最全上手指南,含项目实战演练!

谷歌内部流出Jetpack Compose最全上手指南,含项目实战演练!

时间:2023-06-19 11:02:32浏览次数:37  
标签:实战 Compose Jetpack 最全 API UI Android


谷歌内部流出Jetpack Compose最全上手指南,含项目实战演练!_UI

简介

Jetpack Compose是在2019Google i/O大会上发布的新的库。Compose库是用响应式编程的方式对View进行构建,可以用更少更直观的代码,更强大的功能,能提高开发速度。

Compose 并不是像 RecyclerView、ConstraintLayout 这种做了一个或者几个高级的 UI 控件,而是直接抛弃了我们写了 N 年的 View 和 ViewGroup 那一套东西,从上到下撸了一整套全新的 UI 框架。直白点说就是,它的渲染机制、布局机制、触摸算法以及 UI 的具体写法,全都是新的。

客观地讲,Compose 确实是一套比较难学的东西,因为它毕竟太新也太大了,它是一个完整的、全新的框架,确实让很多人感觉「学不动」,这也是个事实。

那怎么办呢?学不动怎么办呢?

如果你是因为缺少学习资料,而我正好薅到这本谷歌内部大佬根据实战编写的《Jetpack Compose最全上手指南》,从入门到精通,教程通俗易懂,实例丰富,既有基础知识,也有进阶技能,能够帮助读者快速入门,是你学习Jetpack Compose的葵花宝典,快收藏起来!!!

第一章 初识 Jetpack Compose

1. 为什么我们需要一个新的UI 工具?

2. Jetpack Compose的着重点

  • 加速开发
  • 强大的UI工具
  • 直观的Kotlin API

谷歌内部流出Jetpack Compose最全上手指南,含项目实战演练!_android_02

3. API 设计

谷歌内部流出Jetpack Compose最全上手指南,含项目实战演练!_android_03

4. Compose API 的原则

  • 一切都是函数
  • 顶层函数(Top-level function)
  • 组合优于继承
  • 信任单一来源

谷歌内部流出Jetpack Compose最全上手指南,含项目实战演练!_UI_04

5. 深入了解Compose

  • Core
  • Foundation
  • Material

谷歌内部流出Jetpack Compose最全上手指南,含项目实战演练!_Android_05

6. 插槽API

第二章 Jetpack Compose构建Android UI

1. Android Jetpack Compose 最全上手指南

  • Jetpack Compose 环境准备和Hello World
  • 布局
  • 使用Material design 设计
  • Compose 布局实时预览
  • ……

谷歌内部流出Jetpack Compose最全上手指南,含项目实战演练!_Android_06

2. 深入详解 Jetpack Compose | 优化 UI 构建

  • Compose 所解决的问题
  • Composable 函数剖析
  • 声明式 UI
  • 组合 vs 继承
  • 封装
  • 重组
  • ……

谷歌内部流出Jetpack Compose最全上手指南,含项目实战演练!_Android_07

3. 深入详解 Jetpack Compose | 实现原理

  • @Composable 注解意味着什么?
  • 执行模式
  • Positional Memoization (位置记忆化)
  • 存储参数
  • 重组
  • ……

谷歌内部流出Jetpack Compose最全上手指南,含项目实战演练!_Android_08

第三章 Jetpack Compose 项目实战演练(附Demo)

1. Jetpack Compose应用1

  • 开始前的准备
  • 创建DEMO
  • 遇到的问题

2. Jetpack Compose应用2

3. Jetpack Compose应用做一个倒计时器

  • 数据结构
  • 倒计时功能
  • 状态模式
  • Compose 布局
  • 绘制时钟

谷歌内部流出Jetpack Compose最全上手指南,含项目实战演练!_API_09

4. 用Jetpack Compose写一个玩安卓App

  • 准备工作
  • 引入依赖
  • 新建 Activity
  • 创建 Compose
  • PlayTheme
  • 画页面
  • 底部导航栏
  • 管理状态
  • 添加页面

谷歌内部流出Jetpack Compose最全上手指南,含项目实战演练!_API_10

5. 用Compose Android 写一个天气应用

  • 开篇
  • 画页面
  • 画背景
  • 画内容
  • ……

谷歌内部流出Jetpack Compose最全上手指南,含项目实战演练!_Android_11

6. 用Compose快速打造一个“电影App”

  • 成品
  • 实现方案
  • 实战
  • 不足
  • ……

谷歌内部流出Jetpack Compose最全上手指南,含项目实战演练!_API_12



标签:实战,Compose,Jetpack,最全,API,UI,Android
From: https://blog.51cto.com/u_16163452/6511715

相关文章

  • 从入门到精通,Android Jetpack 架构实战教程合集
    Jetpack是Google推出的一些库的集合,包含组件、工具、架构方案等,其优势众多:可以减少空指针异常崩溃、内存泄漏,为开发出健壮且流畅的程序提供强力保障;可以消除大量重复样板式的代码,加速Android的开发进程;可以统一开发模式,抛弃传统的MVC,MVP…对于谷歌而言,AndroidJetpack是他......
  • Jetpack系列-Lifecycle使用和源码分析
    1简介和简单使用1.1简介Lifecycle是Jetpack中一个生命周期感知型组件,可执行操作来响应另一个组件(如Activity和Fragment)的生命周期状态的变化。该组件通过感知Activity和Fragment的生命周期事件,在内部维护一个状态,该状态又可以转换成生命周期事件。主要作用就是进行系统组件......
  • Compose 状态保存:rememberSaveable 原理分析
    前言我曾经在一篇介绍ComposeNavigation的文章中提到了Navigation的状态保存实际是由rememberSaveable实现的,有同学反馈希望单独介绍一下rememberSaveable的功能及实现原理。我们都知道remember可以保存数据、避免状态因重组而丢失,但它依然无法避免在ConfigurationCha......
  • Jetpack系列-Room+ViewModel+LiveData+ViewBinding实现MVVM
    Room能和LiveData很好的结合实现MVVM,Room可以利用LiveData的观察者模式,感知Lifecyle的状态,实现数据驱动UI,避免MVP模式下更新UI需要大量回调接口的繁琐。下面整合Room、ViewModel、LiveData、ViewBinding,实现一个简单的MVVM示例项目。1引入依赖引入ViewModel依赖:dependencies{......
  • 通过 docker-compose 快速部署 Apache Ambari 保姆级教程
    目录一、概述二、前期准备1)部署docker2)部署docker-compose三、ApacheAmbari编排部署1)获取Ambari安装包2)yum源配置文件3)用户和库初始化sql文件4)启动脚本bootstrap.sh5)修改源码6)构建镜像Dockerfile7)配置hosts8)编排docker-compose.yaml9)开始部署10)检测五、通过ApacheAmb......
  • 申威3231服务器Redis性能验证-及最全信创CPU性能分析
    申威3231服务器Redis性能验证-及最全信创CPU性能分析背景公司里面新进了几台服务器.有台申威服务器.因为前段时间参与过一次申威的POC验证.当时对性能有一点简单的理解.但是因为不方便,没有测试更多.这次有了一台实体机器,并且可以上网,所以感觉可以方便的多了.本来想使用......
  • 融合模型stacking14条经验总结和5个成功案例(互联网最全,硬核收藏)_机器学习_人工智能_
    来自Toby老师,《融合模型stacking14条经验总结和5个成功案例》我也看了很多关于融合模型stacking文章,很多作者倾向于赞美融合模型stacking,对其缺点轻描淡写,这容易误导初学者。一叶障目就是这意思。我的很多学员喜欢用融合模型作为论文或专利创新点,这是一个热门技术。最近有个同学在......
  • 申威3231服务器Redis性能验证-及最全信创CPU性能分析
    申威3231服务器Redis性能验证-及最全信创CPU性能分析背景公司里面新进了几台服务器.有台申威服务器.因为前段时间参与过一次申威的POC验证.当时对性能有一点简单的理解.但是因为不方便,没有测试更多.这次有了一台实体机器,并且可以上网,所以感觉可以方便的多了.本来想......
  • docker compose启动目录
    目的对于使用dockercompose启动的容器,我们可以使用命令诊断其启动的目录。 方法song@song-VirtualBox:~$dockerpsCONTAINERID  IMAGE                            COMMAND                 CREATED      STA......
  • 最全的iOS物理引擎demo
    概述最全的iOS物理引擎demo,实现重力、碰撞、推力、摆动、碰撞+重力、重力弹跳、仿摩拜单车贴纸效果、防iMessage滚动效果、防百度外卖首页重力感应等效果!详细一、准备工作1、需要Xcode8+iOS8的运行环境2、本例子实现重力、碰撞、推力、摆动、碰撞+重力、重力弹跳、仿......