【愚公系列】《Android应用案例开发大全》002-Android 开发环境的搭建
【行业认证·权威头衔】✔ 华为云天团核心成员特约编辑/云享专家/开发者专家/产品云测专家✔ 开发者社区全满贯CSDN博客商业化双料专家/阿里云签约作者/腾讯云内容共创官/掘金亚马逊51CTO顶级博主✔ 技术生态共建先锋横跨鸿蒙、云计算、AI等前沿领域的技术布道者【荣誉殿堂】 连续三年蝉联华为云十佳博主2022-2024 双冠加冕CSDN年度博客之星TOP220222023 十余个技术社区年度杰出贡献奖得主【知识宝库】覆盖全栈技术矩阵◾ 编程语言.NET/Java/Python/Go/Node…◾ 移动生态HarmonyOS/iOS/Android/小程序◾ 前沿领域物联网/网络安全/大数据/AI/元宇宙◾ 游戏开发Unity3D引擎深度解析文章目录一、Android 开发环境的搭建1.Android Studio 和 Android SDK 下载2.Android Studio 和 Android SDK 的安装3.第一个 Android 程序1. 创建第一个 Android 应用程序2. 案例 Sample_1_1 的简单介绍一、Android 开发环境的搭建本节主要讲解基于 Android Studio 的 Android 开发环境的搭建、模拟器的创建和运行以及 Android 开发环境搭建好之后对其开发环境进行测试并创建第一个 Android 应用程序 Sample_1_1 等相关知识。1.Android Studio 和 Android SDK 下载在 Android 官方网站下载 Android Studio如图所示。单击网页中被椭圆圈中的区域开始 Android Studio 的下载。说明进入如图所示界面后读者可以自行选择下载所需版本的 Android Studio。2.Android Studio 和 Android SDK 的安装下载完成后会得到一个名称为android-studio-bundle-145.3276617-windows.exe随选择下载版本的不同此名称可能不同的可执行文件。这时就可以开始安装了具体步骤如下1双击下载的名称为android-studio-bundle-145.3276617-windows.exe的可执行文件。2进入Android Studio 安装界面后单击Next按钮开始安装。其中 Android Studio 软件已经默认勾选但同时也勾选Android SDK和Android Virtual Device项然后单击Next按钮。3接着进入 Android Studio 安装许可协议界面。阅读完许可协议之后单击I Agree按钮。在此界面可以选择 Android Studio 和 Android SDK 的安装位置选择好之后单击Next按钮。4进入界面后可以选择将 Android Studio 快捷图标放在开始菜单的哪个文件夹中。这里读者可以自行选择笔者在此处选择的是名称为Android Studio的文件夹然后单击Install按钮。5进入界面后说明 Android Studio 和 Android SDK 已经开始安装。等待几分钟之后随网络速度不同而不同Android Studio 和 Android SDK 的安装就会完成。然后单击Next按钮。6单击Finish按钮。第一次安装都会出现这个界面此界面中第一个选项的含义是如果之前安装过 Android Studio可以使用以前版本的配置文件第二个选项含义为不导入配置文件。因为这里是演示第一次安装 Android Studio 的情况所以选择第二项然后单击OK按钮。7单击OK按钮之后稍等几分钟。这是 Android Studio 配置向导的第一个界面在其中单击Next按钮之后。8进入界面后需要选择安装配置模式。其中第一个选项表示标准化安装第二个选项表示自定义安装。笔者在这里选择的是第二个选项然后单击Next按钮。9接着进入界面此界面显示了 Android SDK 需要更新的内容。单击Finish按钮Android SDK 更新开始。10进入所示的界面等待几分钟之后随网络速度不同而不同等待SDK 更新完成然后单击Finish按钮。11至此Android Studio 和 Android SDK 的安装完成读者可以开始使用 Android Studio 进行开发了。3.第一个 Android 程序前面小节已经介绍了 Android 的来龙去脉、Android SDK 的下载、Android SDK 的配置和创建及启动模拟器等重要内容接下来将带领读者构建第一个 Android 应用程序并对该程序进行简单的讲解其具体内容如下。1. 创建第一个 Android 应用程序1如图所示双击第一个选项选择创建一个新的 Android Studio 项目然后会进入如图 所示的界面在此界面可以更改标有红色标记的项目然后单击Next按钮。2单击Next按钮后会进入如图所示的界面在此界面中可以选择自己项目编译需要的 SDK 版本。这一步笔者选择默认选项然后单击Next按钮就会进入如图所示的界面。3进入界面后可以选择 Activity 的类型这里笔者选择默认的 Activity 样式然后单击Next按钮。在此界面中可以修改 Activity 的名称和 Activity 布局文件的名称然后单击Finish按钮。4接着进入到的界面说明项目创建成功。此时单击工具栏中的图标打开 AVD 管理器将会出现如图所示的界面然后单击图中被标记的Create Virtual Device按钮开始创建一个新的模拟器。5可以选择需要创建的目标设备类型以及设备的参数笔者在此选择的是默认值读者可以根据需要自行选择然后单击Next按钮。6可以自行选择想要创建的模拟器版本并且在此界面还可以下载对应模拟器的配置文件。然后单击Next按钮在此界面可以设置模拟器的名称等信息然后单击Finish按钮说明模拟器创建成功。7模拟器创建成功之后单击图标启动模拟器。启动模拟器需要一些时间等待几分钟后将进入如图所示的界面说明模拟器已经启动成功。然后单击 Android Studio 主界面工具栏中的图标编译运行项目。8此界面功能为选择项目运行的目标设备。如图所示Android Studio 已经默认选中刚才创建的模拟器。然后单击OK按钮项目开始进行编译打包运行。等待几分钟后就会出现如图所示的界面说明项目运行成功。2. 案例 Sample_1_1 的简单介绍通过前面的学习读者已经能够创建并运行简单的 Android 程序了但可能对 Android 项目还不够了解接下来将通过对 Sample_1_1 程序做详细介绍使读者了解 Android 项目的目录结构以及 Sample_1_1 的运行机理。1在 Android Studio 中提供了几种不同的项目结构类型其中Project结构类型和Android结构类型比较常用下面对Project结构类型下的 Android 项目结构做详细的讲解。app 目录项目中的 Android 模块。Android Studio 中项目分为 Project工作间、Module模块两种概念在创建项目时会默认创建一个模块这里的 app 就是一个 Module一个 Android 应用程序的文档结构。lib 目录存放 Android 项目依赖的类库例如项目中用到的.jar文件。src 目录Android 项目的源文件目录存放应用程序中所有用到的资源文件。androidTest 目录存放应用程序单元测试代码读者可以在这里进行单元测试。main 目录Android 项目的主目录其中java目录用来存放.java源代码文件res存放资源文件包含图像、字符串资源、Activity 布局等资源AndroidManifest.xml是项目的配置文件。app 目录下 build.gradleAndroid 项目 Gradle 构建脚本。build 目录Android Studio 项目的编译目录。gradle 目录存放项目用到的构建工具。gradle 目录下 build.gradleAndroid Studio 项目的构建脚本。External Libraries 目录显示项目所依赖的所有类库。2上面介绍了 Sample_1_1 项目中各个目录和文件的作用接下来介绍的是该项目的系统控制文件AndroidManifest.xml该文件的主要功能为定义该项目的使用架构、版本号及声明 Activity 组件等其具体代码如下。代码位置见随书源代码/第1章/Sample_1_1 目录下的AndroidManifest.xml。?xml version1.0 encodingutf-8?!-- XML 的版本以及编码方式 --manifestxmlns:androidhttp://schemas.android.com/apk/res/androidpackagecom.example.sample_1_1applicationandroid:allowBackuptrueandroid:iconmipmap/ic_launcher!--定义了该项目手机中的图标--android:labelstring/app_name!-- 定义了该项目在手机中的名称 --android:supportsRtltrue android:themestyle/AppThemeactivityandroid:name.MainActivityintent-filteractionandroid:nameandroid.intent.action.MAIN/categoryandroid:nameandroid.intent.category.LAUNCHER//intent-filter!-- 声明 Activity 可以接受的 Intent --/activity/application/manifest第 1~3 行定义了程序的版本、编码方式、用到的架构以及该程序所在的包。第 5~9 行定义了程序在手机上的显示图标、显示名称以及显示风格。第 10~15 行定义了一个名为MainActivity的 Activity 以及该 Activity 能够接受的 Intent。3上面介绍了 Sample_1_1 项目的系统控制文件AndroidManifest.xml接下来介绍的是该项目的布局文件activity_main.xml该文件的主要功能为声明 XML 文件的版本以及编码方式、定义布局并添加控件 TextView其具体代码如下。代码位置见随书源代码/第1章/Sample_1_1/app/src/main/res/layout 目录下的activity_main.xml。?xml version1.0 encodingutf-8?!-- XML 的版本以及编码方式 --RelativeLayoutxmlns:androidhttp://schemas.android.com/apk/res/androidxmlns:toolshttp://schemas.android.com/toolsandroid:idid/activity_mainandroid:layout_widthmatch_parentandroid:layout_heightmatch_parentandroid:paddingBottomdimen/activity_vertical_marginandroid:paddingLeftdimen/activity_horizontal_marginandroid:paddingRightdimen/activity_horizontal_marginandroid:paddingTopdimen/activity_vertical_margintools:contextcom.example.sample_1_1.MainActivity!-- 定义一个布局 --TextViewandroid:layout_widthwrap_contentandroid:layout_heightwrap_contentandroid:textHello World!/!-- 向布局中添加一个 TextView 控件 --/RelativeLayout第 2~11 行定义了布局方式为RelativeLayout且左右和上下的填充方式为match_parent。第 12~15 行向该布局中添加了一个TextView控件其宽度和高度模式分别为wrap_content、wrap_content在 TextView 控件显示的内容为 “Hello World!”。4上面介绍了本项目的布局文件activity_main.xml接下来将为读者介绍的是项目的主控制类MainActivity本类为继承自 Android 系统AppCompatActivity的子类其主要功能为调用父类的onCreate方法并切换到main布局其具体代码如下。代码位置见随书源代码/第1章/Sample_1_1/src/main/java/com.example.sample_1_1 目录下的MainActivity.java。packagecom.example.myapplication;importandroid.support.v7.app.AppCompatActivity;// 引入相关类importandroid.os.Bundle;publicclassMainActivityextendsAppCompatActivity{// 定义一个 ActivityOverrideprotectedvoidonCreate(BundlesavedInstanceState){// 重写的 onCreate 回调super.onCreate(savedInstanceState);// 调用基类的 onCreate 方法setContentView(R.layout.activity_main);// 指定当前显示的布局}}第 4 行是对继承自AppCompatActivity的子类的声明。第 5~9 行重写了AppCompatActivity的onCreate回调方法在onCreate方法中先调用基类的onCreate方法然后指定用户界面为R.layout.activity_main对应的文件为src/main/res/layout/activity_main.xml。5上面介绍了本项目的主控制类MainActivity接下来将为读者介绍app目录下 Android 项目的 Gradle 构建脚本build.gradle文件该文件声明了用于编译的 SDK 版本、用于 Gradle 编译项目的工具版本和项目引用的依赖等信息其具体代码如下。代码位置见随书源代码/第1章/Sample_1_1 目录下的build.gradle。apply plugin: com.android.application // 使用 com.android.application 插件 android { compileSdkVersion 24 // 用于编译的 SDK 版本 buildToolsVersion 24.0.3 // 用于 Gradle 编译项目的工具版本 defaultConfig { applicationId com.example.myapplication // 应用程序包名 minSdkVersion 15 // 最低支持的 Android 版本 targetSdkVersion 24 // 目标版本 versionCode 1 // 版本号 versionName 1.0 // 版本名称 testInstrumentationRunner android.support.test.runner.AndroidJUnitRunner } buildTypes { release { minifyEnabled false proguardFiles getDefaultProguardFile(proguard-android.txt), proguard-rules.pro } } } dependencies { // 用于配置项目引用的依赖 compile fileTree(dir: libs, include: [*.jar]) androidTestCompile (com.android.support.test.espresso:espresso-core:2.2.2, { exclude group: com.android.support, module: support-annotations }) compile com.android.support:appcompat-v7:24.2.1 testCompile junit:junit:4.12 }Android Studio 是基于 Gradle 来对项目进行构建的因此build.gradle文件对开发人员来说非常重要很多关于项目的配置都需要在其中完成。有兴趣的读者可以参考其他的书籍资料详细学习一下 Gradle将大有裨益。

相关新闻

北京华恒智信助力国有温泉酒店破解人才选拔无标准难题

北京华恒智信助力国有温泉酒店破解人才选拔无标准难题

【客户行业】国有企业;旅游行业;温泉度假【问题类型】人才盘点【客户背景】某温泉酒店是国有企业下属公司,该温泉酒店有室内室外温泉池共30余个,除温泉外,该酒店还有各种类型套房,包括:豪华套房…

2026/7/23 21:09:28阅读更多 →
OMAP5912核心外设实战:USB、摄像头、串口与DMA驱动开发详解

OMAP5912核心外设实战:USB、摄像头、串口与DMA驱动开发详解

1. 项目概述:从芯片手册到实战,拆解OMAP5912核心外设如果你手头有一块基于TI OMAP5912双核处理器的老设备,比如一些早期的PDA、工业手持终端或者多媒体网关,想要为它开发驱动或者进行系统级优化,那么芯片手册里那几百页…

2026/7/23 21:07:28阅读更多 →
传智教育再拓新局!开设“AI具身智能机器人开发学科”抢占物理AI万亿赛道

传智教育再拓新局!开设“AI具身智能机器人开发学科”抢占物理AI万亿赛道

当大模型、AIGC、虚拟数字人等线上AI产业逐步成熟,人工智能产业迎来关键跃迁:AI从虚拟数字世界走向真实物理场景,具身智能机器人将成为新质生产力的核心载体,撬开人工智能下半场的新竞争格局。继率先搭建完成虚拟AI开发人才、AI应…

2026/7/23 21:07:28阅读更多 →
Qwen-VL多模态大模型:部署、微调与应用实践

Qwen-VL多模态大模型:部署、微调与应用实践

1. Qwen-VL模型概述Qwen-VL(通义千问视觉语言大模型)是阿里巴巴云推出的多模态大模型系列,基于Qwen(通义千问)语言大模型扩展而来。这个系列模型能够同时处理图像、文本和边界框输入,输出文本和边界框标注&…

2026/7/24 2:24:32阅读更多 →
AI降重工具横评:千笔与SpeedAI对比分析

AI降重工具横评:千笔与SpeedAI对比分析

1. 项目概述:AI内容检测工具横评背景在内容创作领域,AI生成内容的泛滥已经成为一个不可忽视的现象。根据我过去半年对30多个内容平台的跟踪观察,超过60%的机构开始部署AI检测机制,这对创作者尤其是学生群体造成了实质性的影响。最…

2026/7/24 2:24:32阅读更多 →
AI专著生成工具:核心功能与选型指南

AI专著生成工具:核心功能与选型指南

1. AI专著生成工具的核心价值解析在学术研究领域,专著撰写一直是衡量学者专业深度和学术影响力的重要指标。传统专著创作往往需要耗费研究者数月甚至数年的时间,从文献收集、框架搭建到内容撰写和反复修改,每个环节都充满挑战。特别是在当前学…

2026/7/24 2:24:32阅读更多 →
支付业务-预付卡

支付业务-预付卡

预付卡(也称储值卡)是一种预先充值、先付费后消费的支付工具,其核心特点和运作机制如下:一、核心定义与特点​​预付性质​​持卡人需在消费前将资金存入卡内(如充值、购买),消费时直接从卡内余…

2026/7/24 2:24:32阅读更多 →
bash信号处理与trap命令:编写健壮的脚本

bash信号处理与trap命令:编写健壮的脚本

信号概述与脚本中捕获的必要性 在Linux系统中,信号是一种进程间异步通信机制。当用户按下Ctrl+C、系统关机或进程异常终止时,内核会向相关进程发送信号。对于长时间运行的脚本,若未正确处理信号,可能导致临时文件残留、资源泄漏等问题。通过bash内置的trap命令,我们可以捕…

2026/7/24 2:24:32阅读更多 →
基于YOLO与DeepSeek的智能无人机检测系统开发实践

基于YOLO与DeepSeek的智能无人机检测系统开发实践

1. 项目概述这个基于深度学习的无人机识别检测系统整合了当前最前沿的计算机视觉技术和现代化Web开发框架,构建了一个功能完善、性能优异的无人机检测平台。系统核心采用YOLOv8至v12系列目标检测算法,结合DeepSeek大语言模型的智能分析能力,实…

2026/7/24 2:22:32阅读更多 →
Go语言静态资源打包方案对比与实践指南

Go语言静态资源打包方案对比与实践指南

1. 项目背景与核心需求在Go语言开发中,我们经常需要处理静态资源文件的打包问题。无论是Web应用的模板文件、前端资源,还是配置文件、证书等,都需要随程序一起分发。传统做法是将这些文件与编译后的二进制文件放在同一目录下,但这…

2026/7/24 0:58:53阅读更多 →
Go语言实现高性能LDAP认证服务的架构与实践

Go语言实现高性能LDAP认证服务的架构与实践

1. 项目背景与核心价值LDAP(轻量级目录访问协议)作为企业级身份认证的黄金标准,已经服务了超过80%的财富500强公司。我在金融科技领域实施统一认证体系时,发现传统Java方案存在启动慢、内存占用高等痛点。而Go语言凭借其协程并发模…

2026/7/24 0:58:53阅读更多 →
【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

【AI面试官实战指南】:用ChatGPT模拟10类高频技术岗面试,3天提升应答精准度92%

更多请点击: https://intelliparadigm.com 第一章:AI面试官实战指南的核心价值与适用场景 AI面试官并非替代人类HR的“黑箱工具”,而是以可解释、可审计、可迭代的方式,赋能招聘全链路的关键基础设施。其核心价值在于将主观经验沉…

2026/7/24 0:58:53阅读更多 →
我的编程之路:第一篇博客

我的编程之路:第一篇博客

大家好,我是一名编程初学者,同时这也是我编程学习之路上的第一篇博客。在这里,我想要向大家介绍我的一些想法和规划。a.自我介绍我是一个刚刚接触编程的新手,目前在学习c语言,我对编程世界充满了强烈的好奇。当然&…

2026/7/24 0:00:06阅读更多 →
【LeetCode 54】螺旋矩阵

【LeetCode 54】螺旋矩阵

问题描述: 解法: 1、模拟(参考自【LeetCode 54】螺旋矩阵-CSDN博客) int *spiralOrder(int **matrix, int matrixSize, int *matrixColSize, int *returnSize) {static const int dirs[4][2] {{0, 1}, {1, 0}, {0, -1}, {-1, …

2026/7/24 0:00:06阅读更多 →
2026 WAIC:模型隐身、智能体疯野,厂商竞赛聚焦办公场景与商业闭环

2026 WAIC:模型隐身、智能体疯野,厂商竞赛聚焦办公场景与商业闭环

知春路不相信模型领先今年WAIC大会,昔日AI六小龙来了五家,分别是Kimi、阶跃星辰、Minimax、百川智能、零一万物。连放弃基模的百川和零一万物都来了,唯一缺席的竟是近几个月来风光无限的智谱。(DeepSeek一直不参加)WAI…

2026/7/24 0:00:06阅读更多 →
YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

YOLOv8推理性能优化:从1.2FPS到35FPS的全链路加速实践

如果你在部署 YOLOv8 时,发现推理速度只有可怜的 1-2 FPS,而别人的演示视频却能跑到 30 FPS 以上,那么问题很可能不在模型本身,而在于你的整个处理链路。很多开发者拿到一个训练好的 YOLOv8 模型后,会直接使用官方示例…

2026/7/23 22:58:43阅读更多 →
Coze与Dify对比指南:低代码AI应用开发从入门到实战

Coze与Dify对比指南:低代码AI应用开发从入门到实战

1. 从零到一:为什么你需要了解 Coze 和 Dify?如果你对 AI 应用开发感兴趣,但一看到“大模型”、“智能体”、“工作流”这些词就头疼,觉得门槛太高,那这篇文章就是为你准备的。很多开发者,包括我自己&#…

2026/7/23 18:58:18阅读更多 →
AI生图工具怎么选?2026年6月版实测对比

AI生图工具怎么选?2026年6月版实测对比

做自媒体的朋友应该都有体会:配图一直是个让人头疼的问题。2026年,AI生图工具已经非常成熟了,但工具太多反而不知道怎么选。以下是截至2026年6月我对主流AI生图工具的实测对比。Midjourney V8.1:速度之王2026年6月11日&#xff0c…

2026/7/23 18:58:18阅读更多 →