【愚公系列】《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:50 阅读更多 →
中小企业Agent选型指南:核心能力与实施策略

中小企业Agent选型指南:核心能力与实施策略

1. 中小企业Agent选型现状与挑战2026年,企业智能化转型已进入深水区。作为从业15年的企业数字化转型顾问,我观察到中小企业在Agent选型上普遍面临三大困境:一是预算有限但需求复杂,既要功能全面又要控制成本;二是技术团…

2026/7/23 21:09:50 阅读更多 →
嵌入式接口时序深度解析:从建立保持时间到示波器调试实战

嵌入式接口时序深度解析:从建立保持时间到示波器调试实战

1. 项目概述:为什么接口时序是嵌入式开发的“命门”干了十几年嵌入式,从8位单片机玩到现在的多核异构SoC,有一个东西始终是硬件工程师和底层驱动工程师的“必修课”,也是项目调试中最容易踩坑的地方——那就是接口时序。你可能觉得…

2026/7/23 21:08:49 阅读更多 →

最新新闻

Linux Makefile 超全详解:从原理、语法到企业级实战

Linux Makefile 超全详解:从原理、语法到企业级实战

在 Linux C/C 开发、嵌入式开发、后端服务编译场景中,Makefile 是必备核心技能。绝大多数新手只会抄模板、敲 make 命令,却不懂底层依赖逻辑、增量编译原理、语法细节,导致项目报错不会修、大型工程不会写。本文将 从零入门、层层递进&#x…

2026/7/23 21:17:54 阅读更多 →
成功上线Salesforce迁移项目

成功上线Salesforce迁移项目

2026/7/23 21:17:54 阅读更多 →
工程公司记账软件有哪些核心功能实现分项目成本利润核算

工程公司记账软件有哪些核心功能实现分项目成本利润核算

建筑行业财务核算核心难点在于分项目独立算账,每个施工项目的建材、劳务、机械、杂费收支需要单独归集,账目混杂会导致单项工程利润核算失真,无法判断项目盈亏,应收工程款台账混乱还会引发回款遗漏、坏账增加,直接影响…

2026/7/23 21:17:54 阅读更多 →
选单片机硬件设计公司,怎么避坑不踩雷?

选单片机硬件设计公司,怎么避坑不踩雷?

做过硬件的人都知道,从电子产品概念到落地量产,哪一步踩坑都够折腾大半年。开发周期一拖再拖,预算越做越高是常态;更头疼的是样品测试全过,批量生产就出问题——要么是信号完整性不合格,要么是电源稳定性差…

2026/7/23 21:17:54 阅读更多 →
报表下钻踩坑:GROUP_CONCAT 长度限制导致数据丢失,改用 JSON_ARRAYAGG

报表下钻踩坑:GROUP_CONCAT 长度限制导致数据丢失,改用 JSON_ARRAYAGG

目录一、问题出现二、原因分析三、为什么下钻场景特别容易发现?四、解决方案原方案修改方案五、为什么 JSON_ARRAYAGG 更适合下钻?六、修改后的 SQL七、注意事项八、总结背景 在开发财务报表、欠费分析等统计类功能时,经常会有这样的需求&…

2026/7/23 21:17:53 阅读更多 →
springboot作业管理系统38347-计算机课程设计/毕业设计

springboot作业管理系统38347-计算机课程设计/毕业设计

前言 📌博主介绍:一线全栈工程师,毕设实战引路人。技术栈覆盖Java、Python、C#、PHP、Node.js及UniApp跨端开发,擅长多语言项目落地与架构设计。持续分享毕设源码、开题报告、技术选型心得与职场踩坑经验。用工程化思维写代码&am…

2026/7/23 21:16:53 阅读更多 →

日新闻

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表)

更多请点击: https://intelliparadigm.com 第一章:从单点好评到指数级传播:AI副业主理人必须掌握的4层口碑渗透模型(含ROI测算表) 当AI副业主理人不再仅满足于单次服务交付,而是主动构建可复用、可裂变、可…

2026/7/23 0:00:25 阅读更多 →
AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析

AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析

更多请点击: https://codechina.net 第一章:AI写作开头钩子设计:为什么你的AI文案完读率不足18%?——基于2,346篇A/B测试报告的归因分析 在对2,346篇跨行业AI生成文案的A/B测试数据进行聚类分析后,我们发现&#xff1…

2026/7/23 0:01:26 阅读更多 →
Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具

Chitchatter完整指南:免费开源的终极点对点安全聊天工具 【免费下载链接】chitchatter Secure peer-to-peer chat that is serverless, decentralized, and ephemeral 项目地址: https://gitcode.com/gh_mirrors/ch/chitchatter Chitchatter是一款革命性的安…

2026/7/23 0:01:26 阅读更多 →

周新闻

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

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

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

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

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

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

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

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

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

2026/7/23 17:49:47 阅读更多 →

月新闻