JetPack Compose 实战:打造一个 Compose 版本的「玩 Android

兼容现有的所有代码,方便您随时随地采用。借助实时预览和全面的 Android Studio 支持,实现快速迭代。
  • 功能强大

    凭借对 Android 平台 API 的直接访问和对于 Material Design、深色主题、动画等的内置支持,创建精美的应用。

我来补充一下我个人的理解

  1. 响应式编程

打破了以往先声明布局,再绑定数据的模式,声明 View 的同时绑定数据,数据有更新,View 也将自动更新,并通过 diff 差量算法来实现最小化更新

  1. 代码简洁

原本我们一般需要一个 xml 来描述一个布局,另外通过 Kotlin 绑定数据,现在所有的布局描述和数据绑定都在 Kotlin 中完成

  1. 高性能

由于不需要解析 xml,所以性能更快,另外 Compose 重新设计了 View 的测量、布局、绘制流程,可以有效的减少测量次数,使嵌套影响性能成为过去

  1. 跨平台(暂未实现)

根据 Google 的规划,Compose 将会支持跨平台,这点其实不难理解,毕竟 Compose 的 API 设计已经完全脱离了平台特性,更像是一个 Flutter 的变种,所以我认为 Compose 的未来不可限量!

实战

Compose 代码全部通过 Kotlin 实现,使用了大量的 Kotlin 特性,因此 Compose 也只支持使用 Kotlin 语言。

你还在相信 Google 爸爸说的不会放弃 Java 吗?都是骗人的!

prd.jpg

下载最新的 Android Studio Preview 版本,不要担心不稳定,Preview 版本是可以和正式版共存的,在 Mac 上,可以直接拖到应用程序,LaunchPad 上就会多一个 Preview 版本的图标。

下载地址:developer.android.com/studio/prev…

New 一个 Project,选择 Empty Compose Activity

new-project.jpg

IDE 就会自动添加 Compose 所需要的依赖

接下来就可以愉快的 coding 了~

案例

我前后用了 2 个月的时间,在工作之余使用 Compose 做了一个「玩 Android」客户端,完成了以下功能

  • 登录、注册
  • 等级、排名、积分、收藏
  • 首页、搜索
  • 广场
  • 公众号

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数初中级安卓工程师,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年最新Android移动开发全套学习资料》送给大家,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。
img
img
img
img

由于文件比较大,这里只是将部分目录截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频
如果你觉得这些内容对你有帮助,可以添加下面V无偿领取!(备注Android)
img

尾声

面试成功其实都是必然发生的事情,因为在此之前我做足了充分的准备工作,不单单是纯粹的刷题,更多的还会去刷一些Android核心架构进阶知识点,比如:JVM、高并发、多线程、缓存、热修复设计、插件化框架解读、组件化框架设计、图片加载框架、网络、设计模式、设计思想与代码质量优化、程序性能优化、开发效率优化、设计模式、负载均衡、算法、数据结构、高级UI晋升、Framework内核解析、Android组件内核等。

不仅有学习文档,视频+笔记提高学习效率,还能稳固你的知识,形成良好的系统的知识体系。这里,笔者分享一份从架构哲学的层面来剖析的视频及资料分享给大家梳理了多年的架构经验,筹备近6个月最新录制的,相信这份视频能给你带来不一样的启发、收获。

Android进阶学习资料库

一共十个专题,包括了Android进阶所有学习资料,Android进阶视频,Flutter,java基础,kotlin,NDK模块,计算机网络,数据结构与算法,微信小程序,面试题解析,framework源码!

image

大厂面试真题

PS:之前因为秋招收集的二十套一二线互联网公司Android面试真题 (含BAT、小米、华为、美团、滴滴)和我自己整理Android复习笔记(包含Android基础知识点、Android扩展知识点、Android源码解析、设计模式汇总、Gradle知识点、常见算法题汇总。)

《2017-2020字节跳动Android面试历年真题解析》

如果需要PDF版本可以自行领取!

0665753282)]

如果需要PDF版本可以自行领取!

  • 24
    点赞
  • 23
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
Jetpack Compose一个全新的Android UI工具包,可以帮助开发者更快速、更简单地构建Android应用程序的用户界面。以下是一个Jetpack Compose实战项目的简介: 项目名称:Compose Countdown Timer 项目描述:这是一个基于Jetpack Compose的倒计时计时器应用程序。用户可以设置计时器的时间,并在计时器倒计时时观看动画。 实现步骤: 1.创建一个Compose项目并添加所需的依赖项。 2.创建一个计时器组件,该组件将显示计时器的当前时间,并在计时器倒计时时触发动画。 3.创建一个设置计时器时间的组件,该组件将允许用户设置计时器的时间。 4.将计时器组件和设置时间组件组合在一起,以创建一个完整的倒计时计时器应用程序。 代码示例: ```kotlin @Composable fun CountdownTimer() { var time by remember { mutableStateOf(0) } var isRunning by remember { mutableStateOf(false) } LaunchedEffect(isRunning) { while (isRunning && time > 0) { delay(1000) time-- } } Box( modifier = Modifier.fillMaxSize(), contentAlignment = Alignment.Center ) { if (time > 0) { Text( text = time.toString(), fontSize = 60.sp, fontWeight = FontWeight.Bold ) } else { Text( text = "Time's up!", fontSize = 60.sp, fontWeight = FontWeight.Bold ) } } } @Composable fun SetTime(onTimeSelected: (Int) -> Unit) { var time by remember { mutableStateOf(0) } Column( modifier = Modifier.fillMaxWidth(), horizontalAlignment = Alignment.CenterHorizontally ) { Text( text = "Set time", fontSize = 24.sp, fontWeight = FontWeight.Bold, modifier = Modifier.padding(vertical = 16.dp) ) Row( modifier = Modifier.padding(vertical = 16.dp) ) { Text( text = "Minutes:", fontSize = 18.sp, modifier = Modifier.padding(end = 8.dp) ) OutlinedTextField( value = time.toString(), onValueChange = { time = it.toIntOrNull() ?: 0 }, keyboardOptions = KeyboardOptions(keyboardType = KeyboardType.Number), modifier = Modifier.width(100.dp) ) } Button( onClick = { onTimeSelected(time) }, modifier = Modifier.padding(vertical = 16.dp) ) { Text(text = "Start timer") } } } @Composable fun ComposeCountdownTimer() { var time by remember { mutableStateOf(0) } var isRunning by remember { mutableStateOf(false) } if (time == 0) { SetTime(onTimeSelected = { selectedTime -> time = selectedTime * 60 isRunning = true }) } else { CountdownTimer() } } ```

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值