当前位置: 首页 > news >正文

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

开发工具

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.lryc.cn/news/341898.html

相关文章:

  • 基于springboot+vue+Mysql的在线动漫信息平台
  • C++设计模式-结构型设计模式
  • open-webui+ollama本地部署Llama3
  • 个人对行为型设计模式的理解 @by_TWJ
  • 苹果挖走大量谷歌人才,建立神秘人工智能实验室;李飞飞创业成立「空间智能」公司丨 RTE 开发者日报 Vol.197
  • 行业唯一!易保全牵头编制的《区块链数据访问安全技术通则》发布
  • Rust Rocket创建第一个hello world的Web程序 Rust Rocket开发常用网址和Rust常用命令
  • 第G9周:ACGAN理论与实战
  • Linux网络部分——DNS域名解析服务
  • 预处理详解
  • Python的创建和使用自定义模块
  • Python根据预设txt生成“你画我猜”题目PPT(素拓活动小工具)
  • 小程序地理位置接口权限直接抄作业
  • 【Osek网络管理测试】[TG3_TC6]等待总线睡眠状态_2
  • BEV下统一的多传感器融合框架 - FUTR3D
  • c#和python的flask接口的交互
  • Python测试框架Pytest的参数化详解
  • KernelSU 如何不通过模块,直接修改系统分区
  • 红日靶场ATTCK 1通关攻略
  • CellMarker | 人骨骼肌组织细胞Marker大全!~(强烈建议火速收藏!)
  • 游戏名台词大赏
  • OpenCV如何在图像中寻找轮廓(60)
  • java 泛型题目讲解
  • pptx 文件版面分析-- python-pptx(python 文档解析提取)
  • http的basic 认证方式
  • 【信息系统项目管理师练习题】信息系统治理
  • RabbitMQ之顺序消费
  • 轻松上手的LangChain学习说明书
  • 【论文笔记】Training language models to follow instructions with human feedback A部分
  • 嵌入式交叉编译:x265