Android Studio开发(一) 构建项目

1、项目创建测试

1.1 前言

Android Studio 是由 Google 推出的官方集成开发环境(IDE),专门用于开发 Android 应用程序。

  • 基于 IntelliJ IDEA: Android Studio 是基于 JetBrains 的 IntelliJ IDEA 开发的,提供了丰富的功能和插件支持,使开发 Android 应用更加高效和便捷。

  • 功能丰富: Android Studio 提供了许多功能丰富的工具,如代码编辑器、调试器、布局编辑器、性能分析工具等,帮助开发者快速构建高质量的 Android 应用。

  • Gradle 构建系统: Android Studio 使用 Gradle 作为构建系统,使项目配置和构建更加灵活和可控,可以方便地管理依赖关系、资源文件等。

  • 模拟器和调试器: Android Studio 集成了 Android 模拟器和调试器,开发者可以方便地在模拟器或真机上调试和测试应用程序。

  • 布局编辑器: Android Studio 提供了强大的布局编辑器,支持可视化设计界面和 XML 布局文件的编辑,帮助开发者快速构建用户界面。

  • 版本控制: Android Studio 集成了版本控制系统,如 Git,使团队协作开发更加方便,可以轻松管理代码版本和协作开发。

1.2 新建项目

选择file-->New-->New Project进行项目创建,选用Empty Activity:

选择编程语言和兼容的最低安卓版本后点击finish即可:

创建完成后的项目如图所示:

1.3 运行项目

在如图所示的位置点击下拉选择Device Manager:

进行虚拟设备创建,首先选择设备的外观信息:

然后选择虚拟设备的Android版本,并进行下载:

最后选择设备名称和屏幕的放置形式:

点击运行按钮可以查看新建工程的运行效果:

展示运行界面:

2、项目文件介绍

新建项目的目录结构大致如下:

2.1 app目录

2.1.1 manifests

manifests:包含应用程序的清单文件(AndroidManifest.xml),其中定义了应用程序的组件(如活动、服务、接收器等)以及应用程序的权限等信息。

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"xmlns:tools="http://schemas.android.com/tools"><applicationandroid:allowBackup="true" // 允许备份android:dataExtractionRules="@xml/data_extraction_rules" // 数据提取规则android:fullBackupContent="@xml/backup_rules" // 完全备份内容android:icon="@mipmap/ic_launcher" // 应用图标android:label="@string/app_name" // 应用名称android:supportsRtl="true" // 支持RTL布局android:theme="@style/Theme.MyApplication" // 应用主题tools:targetApi="31"> // 工具:目标API版本为31<activityandroid:name=".MainActivity" // 指定活动的类名android:exported="true"> // 允许其他应用启动该活动<intent-filter><action android:name="android.intent.action.MAIN" /> // 指定为主活动<category android:name="android.intent.category.LAUNCHER" /> // 指定为启动器</intent-filter></activity></application></manifest>
2.1.2 java

包含Java代码文件,包括应用程序的源代码文件,按照包名结构组织。

2.1.3 res

包含资源文件:

  • drawable

    • 包含图形资源文件,如图片(.png、.jpg等)。
    • 可以按照不同分辨率(hdpi、mdpi、xhdpi等)存放不同版本的图片。
  • layout

    • 包含布局文件,定义应用程序的界面布局。
    • 使用XML文件编写,描述UI元素的位置、大小和交互方式。
  • values

    • 包含各种资源值文件,如字符串(strings.xml)、颜色(colors.xml)、尺寸(dimens.xml)等。
    • 可以在代码中引用这些值,实现资源的重用和统一管理。
  • mipmap

    • 包含应用程序图标资源文件。
    • 用于存放应用程序的图标,支持不同分辨率的图标。
  • xml

    • 用于存放应用程序的配置信息

2.2 gradle script

2.2.1 build.gradle (Project)

定义了整个项目的构建配置,包括项目的构建脚本依赖关系、全局配置等。

2.2.2 build.gradle (Module:app)

定义了当前模块(app模块)的构建配置,包括应用程序的依赖关系、版本信息等。

plugins {// 应用com.android.application插件,用于构建Android应用程序id 'com.android.application'
}android {// 定义应用程序的命名空间namespace 'com.example.myapplication'// 编译SDK的版本compileSdk 33defaultConfig {// 应用程序的包名applicationId "com.example.myapplication"// 最低支持的SDK版本minSdk 24// 目标SDK版本targetSdk 33// 版本号versionCode 1// 版本名称versionName "1.0"// 测试运行器testInstrumentationRunner "androidx.test.runner.AndroidJUnitRunner"}buildTypes {release {// 是否启用代码混淆minifyEnabled false// 混淆规则文件proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'}}compileOptions {// 源码和目标代码的兼容性sourceCompatibility JavaVersion.VERSION_1_8targetCompatibility JavaVersion.VERSION_1_8}
}dependencies {// AppCompat库implementation 'androidx.appcompat:appcompat:1.4.1'// Material Design组件库implementation 'com.google.android.material:material:1.5.0'// ConstraintLayout库implementation 'androidx.constraintlayout:constraintlayout:2.1.3'// 单元测试库testImplementation 'junit:junit:4.13.2'// Android测试库androidTestImplementation 'androidx.test.ext:junit:1.1.3'// Espresso测试库androidTestImplementation 'androidx.test.espresso:espresso-core:3.4.0'
}
2.2.3 proguard-rules.pro

用于配置 ProGuard 的混淆规则,用于在构建 Release 版本时对代码进行混淆,以保护代码安全并减小 APK 大小。

2.2.4 gradle.properties

该文件用于存储Gradle构建脚本中使用的属性值。

2.2.5 gradle-wrapper.properties

Gradle包装器的配置文件,用于指定Gradle的版本等信息。

2.2.6 local.properties

存储本地环境相关的配置信息,通常包括 SDK 路径、密钥等。

2.2.7 settings.gradle

定义了项目的模块信息,包括模块的名称、路径等。

3、总结

本文讲解了Android Studio创建工程的一般过程,使用模拟器运行新建项目;讲解了项目的目录结构。

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

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

相关文章

大数据开发-Hadoop分布式集群搭建

大数据开发-Hadoop分布式集群搭建 文章目录 大数据开发-Hadoop分布式集群搭建环境准备Hadoop配置启动Hadoop集群Hadoop客户端节点Hadoop客户端节点 环境准备 JDK1.8Hadoop3.X三台服务器 主节点需要启动namenode、secondary namenode、resource manager三个进程 从节点需要启动…

【Bugs】java: 错误: 不支持发行版本 xx

文章目录 报错场景&#xff1a;报错原因&#xff1a;解决方法&#xff1a; 报错场景&#xff1a; IDEA运行Java项目报错&#xff0c;点击运行之后&#xff0c;IDEA在编译代码的时候就出现报错&#xff1a; 报错类型一&#xff1a;java: 错误: 不支持发行版本 21报错类型二&am…

华为数通方向HCIP-DataCom H12-821题库(多选题:81-100)

第81题 在如图所示的网络中,所有的交换机运行RSTP协议,假如SWB的E1接口故障后, RSTP的处理过程时: A、SWB删除MAC地址表中以E1为目的的端口的端口项 B、在所有非边缘转发端口.上向外发送拓扑改变通知( Topology Change Notication ),通知其他交换机网络中出现了拓扑改变 C、重…

Linux第70步_新字符设备驱动的一般模板

1、了解“申请和释放设备号函数” int alloc_chrdev_region(dev_t *dev, unsigned baseminor, unsigned count, const char *name) //注册字符设备驱动 //dev&#xff1a;保存申请到的设备号 //baseminor&#xff1a;次设备号的起始地址 //count&#xff1a;要申请的设备数…

低密度奇偶校验码LDPC(九)——QC-LDPC译码器FPGA全并行设计

往期博文 低密度奇偶校验码LDPC&#xff08;一&#xff09;——概述_什么是gallager构造-CSDN博客 低密度奇偶校验码LDPC&#xff08;二&#xff09;——LDPC编码方法-CSDN博客 低密度奇偶校验码LDPC&#xff08;三&#xff09;——QC-LDPC码概述-CSDN博客 低密度奇偶校验码…

【操作系统概念】 第3章:进程

文章目录 0.前言3.1进程概念3.1.1 进程3.1.2 进程状态3.1.3 进程控制块&#xff08;PCB&#xff09; 3.2、进程调度3.2.1 调度队列3.2.2 调度程序3.2.3 上下文切换 3.3 进程操作3.3.1 进程创建3.3.2 进程终止 3.4 进程间通信 0.前言 早期的计算机一次只能执行一个程序。这种程序…

安泰ATA-P1005压电叠堆放大器在纳米定位台驱动中的应用

纳米定位台是一种高精度的微纳米级定位设备&#xff0c;主要用于微纳米加工、显微镜下的样品定位、纳米精度的测量和调试等领域。内置高性能压电陶瓷&#xff0c;运动范围可达500μm&#xff0c;具有体积小、无摩擦、响应速度快、高精度位移等特点&#xff0c;ATA-P1005压电叠堆…

stm32学习笔记:I2C通信外设原理(未完)

软件实现和硬件实现 串口通信为异步时序&#xff0c;用软件实现很麻烦&#xff0c;基本上用硬件实现 而I2C协议通信为同步时序&#xff0c;软件实现简单且灵活&#xff0c;硬件实现比较麻烦&#xff0c;故软件比较常用 但I2C硬件实现功能比较大&#xff0c;执行效率高&#xff…

【Proteus仿真】【Arduino单片机】坐姿矫正提醒器设计

文章目录 一、功能简介二、软件设计三、实验现象联系作者 一、功能简介 本项目使用Proteus8仿真Arduino单片机控制器&#xff0c;使用LCD1602液晶显示模块、HC-SR04超声波模块、蜂鸣器、按键、人体红外传感器等。 主要功能&#xff1a; 系统运行后&#xff0c;LCD1602显示超声…

Linux运维:在线/离线安装Telnet客户端和Telnet服务

Linux运维&#xff1a;在线/离线安装Telnet客户端和Telnet服务 前言1.1 在线安装Telnet1.2 离线安装Telnet1.3 Telnet服务有关的命令 &#x1f496;The Begin&#x1f496;点点关注&#xff0c;收藏不迷路&#x1f496; 前言 Telnet是一种用于远程登录到其他计算机的协议&…

未来已来!AI大模型引领科技革命

未来已来&#xff01;AI大模型正以惊人的速度引领着科技革命。随着科技的发展&#xff0c;人工智能在各个领域展现出了非凡的能力和潜力&#xff0c;大模型更是成为了科技领域的明星。从自然语言处理到图像识别&#xff0c;从智能推荐到语音识别&#xff0c;大模型的应用正在改…

Nuxt2升级Nuxt3指南(一):升级准备

一、项目环境说明 升级前&#xff1a;Node: 14.19.1; Nuxt&#xff1a;2.12.2&#xff1b;Vue&#xff1a;2.6.11&#xff1b;Element-UI&#xff1a;2.4.11 升级后&#xff1a; Node: 18.14.0 ; Nuxt: 3.10.3&#xff1b;Vue&#xff1a;3.4.19&#xff1b;Element-Plus&#…