安卓应用开发(一):工具与环境

开发工具

Android Studio,用于开发 Android 应用的官方集成开发环境 (IDE)。包括以下功能:

  • 基于Gradle的构建系统
    • gradle是一个项目构建工具,将源工程打包构建为apk
  • 安卓模拟器
  • 统一环境
  • 代码编辑+模拟器实时更新
  • Github集成
  • Lint功能,可以用于性能,兼容性等问题检测
  • C++和NDK支持
  • 支持谷歌云平台,可以继承谷歌云消息和AppEngine
    安装方式:
    官网下载,打开,安装,accept协议,然后一直next到底。
    需要注意一点就是要设置一下国内代理:
    使用清华镜像站:mirrors.tuna.tsinghua.edu.cn
    一般第一次打开就会提示设置代理,如果没有提示就在setting里面找,直接搜proxy就有
    在这里插入图片描述

使用方式:
傻瓜式,根据按钮名称按就行,新建项目有很多项目模板,第一个项目可以选Empty Compose Activity,可以用它来构建 Compose 应用。这个模板只有一个屏幕。
跟着按键名称按,直到下面这一步,然后点击finish:
在这里插入图片描述
整体结构和JetBrains家的IntelliJ IDEA很像,因为本来就是基于 IntelliJ IDEA开发的
在这里插入图片描述
Android Studio的主要界面为:代码界面和设计界面(设计界面就和Qt的Designer一样,是为了让程序员直观看到应用界面)
在这里插入图片描述

项目结构

  • Android应用模块
  • 库模块
  • Google App Engine 模块

Android Studio中的项目视图默认是项目逻辑视图
在这里插入图片描述
实际上存储是这样的结构,可以点击箭头所指地方改变视图:
在这里插入图片描述
最常用的视图还是项目逻辑视图

编程语言

安卓开发最常用的语言是Java和Kotlin,Kotlin代码文件的后缀是kt,程序的入口是main,但是在安卓开发中,程序的入口是onCreate()函数。

class MainActivity : ComponentActivity() {override fun onCreate(savedInstanceState: Bundle?) { //程序入口super.onCreate(savedInstanceState)......}
}@Composable //这个称为注解,语法是@+注解名,可以理解为给函数添加一些信息
//相关资料:https://juejin.cn/post/6959860379652456484
fun Greeting(name: String) {Text(text = "Hello $name!")
}

为了及时展示效果,可以使用Preview注解,实现一个预览函数,这个函数可以不需要构建整个应用就可以查看外观

@Preview(showBackground = true)
@Composable
fun DefaultPreview() {GreetingCardTheme {Greeting("Meghan")}
}

虚拟设备

Android studio提供了虚拟安卓设备,方便开发
在工具栏的tool里面有一项Device manager,点开就可以配置一个虚拟设备,可以选择手机型号,手机系统版本,系统版本号边上有个下载按钮,可以点击下载系统镜像。
选完系统镜像后还可以配置横屏竖屏,然后点击完成
在这里插入图片描述
现在上面就会显示你的设备了,就可以直接点击边上的运行按钮运行了,之前点的话就会提示没有目标设备。

顺便歪一下,这个虚拟设备的底层是使用qemu实现的,世界闭环了!

运行效果:
在这里插入图片描述

连接手机

手机打开开发者模式,然后连上电脑,设备那一栏就会显示你的手机,然后点run就行了,APP就会发到手机,需要手动安装,然后会自动启动。

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

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

相关文章

AIGC-音频生产十大主流模型技术原理及优缺点

音频生成(Audio Generation)指的是利用机器学习和人工智能技术,从文本、语音或其他源自动生成音频的过程。 音频生成行业是AIGC技术主要渗透的领域之一。AI音频生成行业是指利用人工智能技术和算法来生成音频内容的领域。按照输入数据类型不同可以分为:根…

[qnx] 通过zcu104 SD卡更新qnx镜像的步骤

0. 概述 本文演示如果给Xlinx zcu104开发板刷入自定义的qnx镜像 1.将拨码开关设置为SD卡启动 如下图所示,将1拨到On,2,3,4拨到Off,即为通过SD启动。 2.准备SD卡中的内容 首先需要将SD格式化为FAT32的(如果已经是FAT32格式,则…

微信小程序原生代码实现小鱼早晚安打卡小程序

大家好,我是雄雄,欢迎关注微信公众号:雄雄的小课堂 小鱼早晚安打卡小程序:开启健康生活,共享正能量 在这个快节奏的时代,我们常常被各种琐事和压力所困扰,以至于忽略了对健康生活方式的追求。然…

JRT1.6发布

经过51的三天努力,完成基于JRT的质控核心部分。框架部分已经达到了第一个可生产版本。 可生产包括以下部分: 1.Web开发基础和发布运维基础 2.Linux和WIndows客户端浏览器 3.Linux和WIndows客户端打印导出程序 4.Linux和WIndows初始化程序 5.Linux和WInd…

i.MX 6ULL 裸机 IAR 环境安装

一. IAR 的安装请自行搜索 二. 使用最新版本的 IAR,需要修改 SDK 1. 在 SDK 的 core_ca7.h 加上 #include "intrinsics.h" /* IAR Intrinsics */ 2. debug 时需要修改每个工程下的 ddr_init.jlinkscript,参考链接 Solved: How to conn…

大厂Java面试题:MyBatis是如何进行分页的?分页插件的实现原理是什么?

大家好,我是王有志。 今天给大家带来的是一道来自京东的关于 MyBatis 实现分页功能的面试题:MyBatis是如何进行分页的?分页插件的实现原理是什么?通常,分页的方式可以分为两种: 逻辑(内存&…

智慧园区综合物业管理平台解决方案PPT(130页精品)

我们对智慧园区的理解 智慧园区,是通过信息技术和各类资源的整合,充分降低企业运营成本,提高工作效率,加强各类园区创新、服务和管理能力,为园区铸就一套超强的软实力。智慧园区的实现是多技术融合、多系统融合、多领域…

苹果挖走大量谷歌人才,建立神秘人工智能实验室;李飞飞创业成立「空间智能」公司丨 RTE 开发者日报 Vol.197

开发者朋友们大家好: 这里是 「RTE 开发者日报」 ,每天和大家一起看新闻、聊八卦。我们的社区编辑团队会整理分享 RTE(Real Time Engagement) 领域内「有话题的 新闻 」、「有态度的 观点 」、「有意思的 数据 」、「有思考的 文…

从简单逻辑到复杂计算:感知机的进化与其在现代深度学习和人工智能中的应用(上)

文章目录 引言第一章:感知机是什么第二章:简单逻辑电路第三章:感知机的实现3.1 简单的与门实现3.2 导入权重和偏置3.3 使用权重和偏置的实现实现与门实现与非门和或门 文章文上下两节 从简单逻辑到复杂计算:感知机的进化与其在现代…

ESG视角下的多期DID构建(2009-2022年)4.5万+数据

随着ESG信息越来越受到重视,一些第三方评级机构开始推出ESG评级产品,目前在第三方数据库能够查到华证、富时罗素、商道融绿、社会价值投资联盟以及Wind自有的ESG评级数据等。其中,商道融绿是中国最早发布ESG评级数据的机构,也是国…

【Linux 基础 IO】文件系统

文章目录 1.初步理解文件2. fopen ( )的详解 1.初步理解文件 🐧① 打开文件: 本质是进程打开文件; 🐧②文件没有被打开的时候在哪里呢? ----- 在磁盘中; 🐧③进程可以打开很多个文件吗&#xff…

Vue入门到关门之Vue3项目创建

一、vue3介绍 1、为什么要学习vue3? vue3的变化: 首先vue3完全兼容vue2,但是vue3不建议用vue2的写法;其次,vue3拥抱TypeScript,之前vue2使用的JavaScript,ts完全兼容js 最后之前学的vue2 是…