你好,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 开发的大门了,虽然另外半只要进来可能不太容易。
说实话,新版本的虚拟设备那个假的摄像头影响到屏幕内容显示,强迫症犯了。

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

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

六西格玛助力便携式产品功耗大降:打造绿色节能新标杆!

随着功能的日益强大,便携式电子产品的功耗问题也日益凸显,成为制约产品性能提升和用户体验改善的关键因素。为了应对这一挑战,越来越多的企业开始探索应用六西格玛方法来降低便携式产品的功耗,实现绿色节能的目标。 六西格玛是一…

Allegro光绘Gerber文件、IPC网表、坐标文件、装配PDF文件导出打包

Allegro光绘Gerber文件、IPC网表、坐标文件、装配PDF文件导出打包 一、Gerber文件层叠与参数设置二、装配图文件设置导出三、光绘参数设置四、Gerber孔符图、钻孔表及钻孔文件输出五、输出Gerber文件六、输出IPC网表七、导出坐标文件八、文件打包 一、Gerber文件层叠与参数设置…

12. Django 第三方功能应用

12. 第三方功能应用 因为Django具有很强的可扩展性, 所以延伸了第三方功能应用. 通过本章的学习, 读者能够在网站开发过程中快速实现API接口开发, 验证码生成与使用, 站内搜索引擎, 第三方网站实现用户注册, 异步任务和定时任务, 即时通信等功能.12.1 Django Rest Framework框…

基于C++、MFC和Windows套接字实现的简单聊天室程序开发

一、一个简单的聊天室程序 该程序由服务器端和客户端两个项目组成,这两个项目均基于对话框的程序。服务器端项目负责管理客户端的上线、离线状态,以及转发客户端发送的信息。客户端项目则负责向服务器发送信息,并接收来自服务器的信息&#…

表 达式树

》》》可以借助 LINQPad工具 using System; using System.Collections.Generic; using System.Data.Entity; using System.Linq; using System.Linq.Expressions; using System.Text; using System.Threading.Tasks; using System.Transactions;namespace EFDemo {public class…

C语言最终文章-二叉树

文章目录 前言二叉树的性质二叉树的存储方式顺序存储堆及其应用TopK问题堆排序 链式存储二叉树的练习1.二叉树查找值为x的节点2.判断是否为完全二叉树LC226.翻转二叉树[LC572. 另一棵树的子树](https://leetcode.cn/problems/subtree-of-another-tree/description/)两道选择题 …

单片机建立自己的库文件(4)

文章目录 前言一、新建自己的外设文件夹1.新建外设文件夹,做项目好项目文件管理2.将之前写的.c .h 文件添加到文件夹中 二、在软件中添加项目 .c文件2.1 编译工程保证没问题2. 修改项目列表下的名称 三、在软件项目中添加 .h文件路径四、实际使用测试总结 前言 提示…

Stable Diffusion文生图模型训练入门实战(完整代码)

Stable Diffusion 1.5(SD1.5)是由Stability AI在2022年8月22日开源的文生图模型,是SD最经典也是社区最活跃的模型之一。 以SD1.5作为预训练模型,在火影忍者数据集上微调一个火影风格的文生图模型(非Lora方式&#xff…

创新实训2024.06.17日志:大模型微调总结

前段时间其实我们已经部署了大模型,并开放了对外的web接口。不过由于之前某几轮微调实验的大模型在对话时会有异常表现(例如响应难以被理解),因此我在项目上线后,监控了数据库里存储的对话记录。确定了最近一段时间部署…

多叉树的DFS深度优先遍历,回溯法的基础算法之一

一、前言 多叉树一般用于解决回溯问题。 想必大家都学过二叉树,以及二叉树的深度优先遍历和广度优先遍历,我们思考:能不能将二叉树的DFS转化为多叉树的DFS? 二、多叉树的结构 多叉树的本质,就是一棵普通的树&#x…

【秋招突围】2024届秋招笔试-小红书笔试题-第三套-三语言题解(Java/Cpp/Python)

🍭 大家好这里是清隆学长 ,一枚热爱算法的程序员 ✨ 本系计划跟新各公司春秋招的笔试题 💻 ACM银牌🥈| 多次AK大厂笔试 | 编程一对一辅导 👏 感谢大家的订阅➕ 和 喜欢💗 📧 清隆这边…

Redis作者长文总结LLMs, 能够取代99%的程序员

引言 这篇文章并不是对大型语言模型(LLMs)的全面回顾。很明显,2023年对人工智能而言是特别的一年,但再次强调这一点似乎毫无意义。相反,这篇文章旨在作为一个程序员个人的见证。自从ChatGPT问世,以及后来使…

如何用多线程执行 unittest 测试用例实现方案

前言 使用python做过自动化测试的小伙伴,想必都知道unittest和pytest这两个单元测试框架,其中unittest是python的官方库,功能相对于pytest来要逊色不少,但是uniitest使用上手简单,也受到的很多的小伙伴喜爱。一直以来都…

自然语言处理学习路线(1)——NLP的基本流程

NLP基本流程 【NLP基本流程】 0. 获取语料 1. 语料预处理 2. 特征工程&选择 3. 模型训练 4. 模型输出&上线 【NLP基本流程图】 Reference 1. 自然语言处理(NLP)的一般处理流程!-腾讯云开发者社区-腾讯云 2. https://zhuanlan.zhihu.com/p/55…

leetcode 1355 活动参与者(postgresql)

需求 表: Friends ---------------------- | Column Name | Type | ---------------------- | id | int | | name | varchar | | activity | varchar | ---------------------- id 是朋友的 id 和该表的主键 name 是朋友的名字 activity 是朋友参加的活动的名字 表: Activit…

【每日刷题】Day67

【每日刷题】Day67 🥕个人主页:开敲🍉 🔥所属专栏:每日刷题🍍 🌼文章目录🌼 1. 23. 合并 K 个升序链表 - 力扣(LeetCode) 2. 1189. “气球” 的最大数量 - …

动力学笔记01——共振频率和共振带的数学定义

文章目录 0、背景描述1、正文2. 位移、速度、加速度的共振频率并不相同 0、背景描述 过去一年,我基本都在考虑塔架(尤其是混塔)频率仿真/模态分析的问题。关于这个问题,不仅有地基刚度,还有塔筒本身以及其他影响频率的…

MAC认证

简介 MAC认证是一种基于接口和MAC地址对用户的网络访问权限进行控制的认证方法,它不需要用户安装任何客户端软件。设备在启动了MAC认证的接口上首次检测到用户的MAC地址以后,即启动对该用户的认证操作。认证过程中,不需要用户手动输入用户名…

Linux ubuntu安装pl2303USB转串口驱动

文章目录 1.绿联PL2303串口驱动下载2.驱动安装3.验证方法 1.绿联PL2303串口驱动下载 下载地址:https://www.lulian.cn/download/16-cn.html 也可以直接通过CSDN下载:https://download.csdn.net/download/Axugo/89447539 2.驱动安装 下载后解压找到Lin…

R语言dplyr统计指定列里面种类个数和比例

输入数据框&#xff1a;dfuorf&#xff0c;Type列有uORF和overlpaORF两种类型 dfuorf1 <- dfuorf %>%group_by(Type) %>% summarise(Countn()) %>% mutate(percentCount/sum(Count)) %>% mutate(percent1 (paste0(round((Count/sum(Count)), 2)*100,"%&…