你好,Jetpack Compose

文章目录

  • 为什么选 Jetpack Compose
  • 先决条件
  • 新建项目
  • 新建虚拟设备
  • 运行项目

为什么选 Jetpack Compose

  • Jetpack Compose 是 Android 开发最新的、现代化的 UI 框架
  • 开发者几乎只需要使用 Kotlin 一门语言即可完成 App 开发(Java 是基础,有些源码是 Java 写的)
  • 更快的 UI 搭建和更简洁的代码
  • Jetpack Compose 与其他现代化的声明式 UI 具有同质性,例如 SwiftUI、Flutter、ArkUI,可举一反三

先决条件

Android Studio 下载

新建项目

  1. 打开 Android Studio,点击 New Project
    在这里插入图片描述
  2. 在模板页面选择 Empty Activity,并且是带有 Jetpack Compose 图标的,点击下一步
    在这里插入图片描述
  3. 将项目名称更改为 Compose(你可以根据你的喜好起名字,用英文字母),然后点击 Save Location 后边的文件夹,重新选一个路径,记得要把 Compose 重新加到路径上,它是以最后一个文件夹作为项目根。点击完成,最后等待 Gradle 同步完成即可,我们会得到一个初始的模板。
    在这里插入图片描述

新建虚拟设备

如果我们要运行项目,是需要连接真机或虚拟设备的,二选一即可。

Note:真机需要在手机的开发者选项中将调试打开,用充电线将电脑与手机连起来,并选择传输文件

  1. 点击侧边栏的 Divece Manager(一个手机图标,右下角是 Android 图标)。
    在这里插入图片描述
  2. 点击弹出界面上的加号 Add a new device,再点击弹出来的 Create Virtual Device
    在这里插入图片描述
  3. 选择设备型号(随你挑),点击下一步
    在这里插入图片描述
  4. 这里如果系统镜像都是灰色的,需要点击名字旁边的下载图标下载一个(点击后,选择 Accept,点击下一步)。选择好镜像后点击下一步
    在这里插入图片描述
  5. 点击完成即可。
    在这里插入图片描述
  6. 接着就会有一个新的设备,点击设备的播放键可以运行,而点击三个点的图标,里面有 Delete 可以删除设备。
    在这里插入图片描述

运行项目

  1. 当我们连接上设备后,顶栏上会有设备的名称,此时我们可以点击绿色播放按钮,将项目运行到设备上(设备第一次启动需要等待许久)。
    在这里插入图片描述
  2. 你可以尝试更改项目文件MainActivity.kt中第24行的Android为其他内容,再一次点击播放按钮(此时它是一个刷新的图标),并查看屏幕中文字的变化。
...
Greeting(
    name = "Compose for Android",
    modifier = Modifier.padding(innerPadding)
)
...

在这里插入图片描述
3. 好的,内容就到这里。现在,你已经半只脚踏进 Android 开发的大门了,虽然另外半只要进来可能不太容易。
说实话,新版本的虚拟设备那个假的摄像头影响到屏幕内容显示,强迫症犯了。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/708460.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

无线MODBUS通讯模块在供水系统中的应用

一、项目背景 我国是人口大国、农业大国,同时也是贫水大国。由于大量工业废水污染了部分河流、地表的浅层水资源,并且有逐年加重的趋势,再加上农业、绿化等灌溉对水资源的大量消耗,这些因素综合作用进一步加剧了我国水资源紧缺的…

Seate分布式锁

XA模式 在第一阶段资源协调者(TC)会向资源管理者(RM)发出一个准备的请求,RM开始处理自身的业务,处理完成后不提交事务,而是向TC响应一个执行结果,表明自己成功还是失败,如…

解析Facebook对当代文化传播的影响力

Facebook作为全球最大的社交媒体平台之一,承载着巨大的文化传播功能,对当代文化产生了深远的影响。从社会交流、价值观念到艺术创作和政治动态,Facebook已经成为了人们获取信息、表达观点和交流想法的重要平台。本文将深入解析Facebook对当代…

watcher学习小结

架构 主要是watcher-api,watcher-applier,watcher-decision-engine watcher-applier watcher-decision-engine 将DecisionEngineManager和DecisionEngineSchedulingService封装到oslo_service,然后调service的launch_service,实…

Unity接入PS5手柄和Xbox手柄以及Android平台的(以及不同平台分析)

Unity接入PS5手柄和Xbox手柄以及Android平台的(以及不同平台分析) 介绍Unity手柄小知识PC端和编辑器上的摇杆事件和滑动事件PS5手柄Xbox手柄北通手柄 安卓环境下(安卓手机或者安卓模拟器)PS5手柄Xbox手柄北通手柄 总结 介绍 最近…

最好用的邮箱管理软件推荐,邮箱管理软件哪个好?(干货篇)

在快节奏的工作与生活中,有效管理电子邮件成为提升个人与团队效率的关键。 面对海量信息流,一款好的邮箱管理软件不仅能够帮助我们高效地整理收件箱,还能确保重要邮件不会错过,同时提升通讯的便捷性和安全性。 本文将为您推荐几款…

【Java】解决Java报错:FileNotFoundException

文章目录 引言1. 错误详解2. 常见的出错场景2.1 文件路径错误2.2 文件名拼写错误2.3 文件权限问题2.4 文件路径未正确拼接 3. 解决方案3.1 检查文件路径3.2 使用相对路径和类路径3.3 检查文件权限3.4 使用文件选择器 4. 预防措施4.1 使用配置文件4.2 使用日志记录4.3 使用单元测…

浅谈TARA在汽车网络安全中的关键角色

随着现代汽车技术的迅猛发展,网络安全成为汽车行业一个不可忽视的领域。为了应对日益复杂的网络威胁,ISO/SAE 21434标准和UN R155法规提供了系统化的网络安全管理框架。其中,TARA(威胁分析与风险评估)作为核心方法论&a…

UE5-不同材质上脚步声

主要是用物理材质给不同的材质加一个标签 创建材质 首先去设置里面创建几个地形材质名称,我这里创建了Grass,Rock,Wood,Water (就是名字而已) 然后创建物理材质(物理材质可以添加到现有的普通…

使用ZIP包安装MySQL及配置教程

在本教程中,我们将指导您完成使用ZIP包安装MySQL的过程,并对配置文件进行必要的修改,以及解决可能遇到的问题。本示例以MySQL 5.7.44为例,但步骤同样适用于其他版本如MySQL 8.3.0等。请根据实际需要选择适合的版本下载&#xff1a…

语法08 C++ 数据类型之间的强制转换

强制类型转换 强制类型转换,就是把一种数据类型转化为另一种指定的数据类型。 它是一种临时的转换。 强制类型转换格式 格式:(数据类型) (表达式) 即:(要被转换成的类型)(被转换的式子); 注意&#x…

怎么批量去除EXCEL表格内时间?(已解决)

作为竞价优化师,经常碰到下载表格以后发现有冗余数据,这个时候我们该怎么快速处理呢! 第一步,选择这一行数据 第二步,右击选择“单元格格式-日期” 第三步,选择日期中的2001-3-7格式,点击“确定…

持绪电商:开一家抖音网店大概多久才能做起来

在数字化浪潮的推动下,抖音不仅是年轻人喜爱的短视频平台,更成为电商的新阵地。不少创业者和品牌纷纷入驻,希望能借力抖音的流量红利实现快速成长。但开设一家抖音网店并使其蓬勃发展,并非一朝一夕之事,它需要策略、耐…

【调试笔记-20240613-Linux-在 git 多分支间合并】

调试笔记-系列文章目录 调试笔记-20240613-Linux-在 git 多分支间合并 文章目录 调试笔记-系列文章目录调试笔记-20240613-Linux-在 git 多分支间合并 前言一、调试环境操作系统:Ubuntu 22.04.4 LTS调试环境调试目标 二、调试步骤在远端 git 服务器建立多个分支在本…

Linux 系统删除乱码文件

项目场景: 通过rm -rf 删除乱码文件,删除不了 问题描述 这时直接使用命令rm -rf 是删除不了的。只能通过删除 inode方法处理。 原因分析: 在Linux上传文件或文件夹时,由于出现连接中断,出现了大量的乱码文件&#…

C++实现以太网帧的模拟封装与发送

一、目的与要求 计算机网络实验,模拟以太网帧的创建、读取和校验。 目的要求: (1)设计以太网V2的MAC帧结构的数据结构。 (2)能够从文件中读取来自网络层的数据,并显示到屏幕上。 (3)用模2运算方法由CRC-32函数得到FCS。 (4)加上帧首部和…

【C++游戏程序】easyX图形库还原游戏《贪吃蛇大作战》(一)

一.游戏逻辑概述 游戏完成图如图下所示: 根据游戏设定,需要实现的总体框架如下: 场景中有玩家可以操纵的初始角色-贪吃蛇场景中有AI自动操作的敌人-敌对贪吃蛇场景中的彩色圆点可以被敌人或者玩家吃掉,并且增加分数玩家触碰到敌人…

基于ResNet-18的简单分类(新手,而且网络效果不咋滴,就是学个流程)

引言 先看问题: 我手边有一数据集,然后我想分分类!~~ 咳咳,最近刚做了一个:训练集有1143张,分为5类,里面图片是打乱的。测试集有248张,想把它分分类看看咋样。 再看一下效果: …

万字长文爆肝Spring(一)

Spring_day01 今日目标 掌握Spring相关概念完成IOC/DI的入门案例编写掌握IOC的相关配置与使用掌握DI的相关配置与使用 1,课程介绍 对于一门新技术,我们需要从为什么要学、学什么以及怎么学这三个方向入手来学习。那对于Spring来说: 1.1 为什么要学? …

Python 使用 Tkinter库 设置 tkinter ttk 框架的背景颜色

Tkinter 设置 tkinter ttk 框架的背景颜色 在本文中,我们将介绍如何使用 Tkinter 在 tkinter ttk 框架中设置背景颜色。Tkinter 是 Python 中常用的 GUI 工具包,ttk 则是 Tkinter 中的一个模块,提供了一套更加现代化的控件。 Tkinter 简介 …