Android基础(android studio最详细基础使用功略)_androidstudio-程序员宅基地

技术标签: java  android  android studio  开发语言  

1 目录

1.1 目标

  • 创建Android项目

  • Android Studio中的gradle的介绍

  • 使用Android Studio创建虚拟机

  • 运行项目

  • 工程创建与目录结构

1.2 重点

  • 创建Android项目

  • 使用Android Studio创建虚拟机

  • 工程创建与目录结构

1.3 难点

  • 掌握工程创建与目录结构

  • 在虚拟机上运行自己的第一个项目

2 创建Android项目

  • step1: new Android Studio project

  • step2: Phone and Tablet

  • step3: 配置项目信息

  • step4: finish

3 Android Studio中的gradle的介绍

3.1 Gradle是啥?

gradle是一个基于Apache Ant和Apache Maven概念的项目自动化建构工具。

所谓的构建过程就是:编译,测试,依赖管理,打包,部署。以前我们开发是手动导入jar包的,类似于面向过程,一步一步来,缺什么包就导什么包,很麻烦,容易出错,jar包版本还不统一,需要关心jar包与jar包之间的依赖。通过采用gradle的构建方式,只需通过complie xxxxx引入一个jar包,然后这个jar包所依赖的其他jar包gradle会自动帮引入,无需关心jar包与jar包之间的依赖,在什么地方以什么形式引入外部jar包,都委托给gradle管理了,体现了面象对象的思想,无需关心内部实现过程,直接引入就可。(注意Gradle不是一种编程语言,它不能帮你实现软件中的任何实际功能)

3.2 自动化构建工具有哪些?

Ant 2000年诞生,主要是编译代码,测试代码。

Maven 2007年诞生,主要是编译测试,依赖管理。

Gradle 2012年诞生 主要是是编译测试,依赖管理,DSL自定义扩展任务。

3.3 Android Studio中的默认工具是Gradle

Android studio的默认插件是Gradle,或许是因为Gradle编译速度比Maven 快很多,而且Gradle完全兼容kotlin语言。当我们新建一个android 项目,gradle已经默认配置好了,打开gradle-wrapper.properties文件,查看配置信息:

可以看到distributionUrl=https://services.gradle.org/distributions/gradle-5.1.1-all.zip说明默认使用的是gradle 5.1.1 的版本,当然可以改成我们本地有的版本,distributionUrl=file:///+gradle的本地路径,例如:distributionUrl=file:///c:/tools/gradle-5.6.4.zip就可以了。 android gradle插件详解地址:https://developer.android.com/studio/releases/gradle-plugin?hl=zh-cn

3.4 build.gradle

build.gradle文件分别在项目目录下和对应module目录都有存在。

下图是项目目录下的build.gradle:

接下来是module目录的build.gradle:

module目录下的的build.gradle里的dependencies {…}里面的依赖,是单单一个模块本身所需的依赖!是程序运行的编译依赖!

在External Libraries文件夹下,如图

可以看到项目添加的所有依赖,包括子依赖都会显示在里面。除build.gradle里的dependencies {…}里面添加的依赖之外的依赖都是子依赖。子依赖都是gradle智能自动的帮你添加的,它检查到你主动添加的依赖,又依赖于其他依赖,就会帮你加上。另外当gradle检查到依赖间有冲突时,出现依赖间多次引用相同jar包(只能将库里的源码打进去,而资源什么的不能打进去)、aar包(自动的将资源文件和源码一起打进去,不用担心资源缺失的问题),它只会默认选择版本较高的添加,不会重复添加。这就是gradle出色的依赖管理。

4 使用Android Studio创建虚拟机

  • step1:在android studio的工具栏中选择下图中的android 手机图样的图标,从右侧会弹出一个”Device Manager”弹窗。然后选择弹窗中间的”Create device”链接进行创建虚拟机。

  • step2:进入到”Virtual Device Configuration”中之后,选择“Phone”类型之后,再选择相应的设备,默认是Pixel 2. 然后选择”Next”按钮,进入下一步。

  • step3:进入到”System image”中,默认选择android 11(android R)进行下载。

     

  • step4:进入下载页面,下载的镜像大概有1.1G,等待下载完以后,再选择”Finish”按钮,结束android R虚拟镜像文件的下载。

  • step5:回到“Device Manager”弹窗中,可以看到列表中已经有”Pixel 2”的设备。启动相应设备即可。同时在工具栏中的设备列表中会自动出现”Pixel 2 API 30”的设备。点击播放按钮,启动虚拟机。

  • step6:下图是应用程序在虚拟设备上运行的结果。整个虚拟设备就安装成功了。

5 运行项目

 

6 工程创建与目录结构

6.1 AS工程目录结构

6.2 AS工程目录结构详解

└─ASProjectTree   

        ├─.gradle 自动编译工具产生的文件   

        ├─.idea 开发工具产生的文件   

        ├─app module模块,应用相关的东西在里边   

        ├─gradle gradle环境支持文件夹   

        ├─.gitignore Git源码版本管理忽略管理文件   

        ├─build.gradle gradle项目自动编译的配置文件   

        ├─gradle.properties   

        ├─gradlew 自动完成 gradle 环境的linux mac 脚本,配合gradle 文件夹使用   

        ├─gradlew.bat 自动完成 gradle 环境的windows 脚本,配合gradle 文件夹使用           ├─local.properties Android SDK NDK 环境路径配置   

        └─settings.gradle gradle 项目的子项目管理文件

.gradle & .idea:AS自动生成的目录文件,可忽略

6.3 app目录详解

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/m0_63658317/article/details/125772651

智能推荐

如何使用Java创建Excel(.xls 和 .xlsx)文件 并写入数据_java循环遍历写入xlsx-程序员宅基地

文章浏览阅读1.1w次,点赞5次,收藏35次。1,需要依赖的jar包,<!-- POI(operate excel) start --> <!-- the version of the following POI packages must be consistent --> <dependency> <groupId>org.apache.poi..._java循环遍历写入xlsx

20张最全的架构师技术栈图谱-程序员宅基地

文章浏览阅读1.6k次。小编根据经验收集以下20张关于架构师应该了解和掌握的技能图谱,希望这份技术知识图谱能够帮助到每一位奋斗在技术路上的小伙伴。架构师图谱微服务架构秘籍互联网大流量的方法安全秘籍阿里巴巴常用小..._技术栈 ppt

JAVA使用cdp4j爬取动态渲染网页的数据-程序员宅基地

文章浏览阅读4.9k次,点赞4次,收藏6次。JAVA使用cdp4j爬取动态渲染网页的数据欢迎使用Markdown编辑器新的改变功能快捷键合理的创建标题,有助于目录的生成如何改变文本的样式插入链接与图片如何插入一段漂亮的代码片生成一个适合你的列表创建一个表格设定内容居中、居左、居右SmartyPants创建一个自定义列表如何创建一个注脚注释也是必不可少的KaTeX数学公式新的甘特图功能,丰富你的文章UML 图表FLowchart流程图导出与导..._cdp4j

【Linux】一步一步学Linux——dpkg-deb命令(270)-程序员宅基地

文章浏览阅读2.2k次。00. 目录文章目录00. 目录01. 命令概述02. 命令格式03. 常用选项04. 参考示例05. 附录01. 命令概述dpkg-deb命令是Debian linux下的软件包管理工具,它可以对软件包执行打包和解包操作以及提供软件包信息。可以通过dpkg命令调用dpkg-deb命令的功能,dpkg命令的任何选项将被传递给dpkg-deb命令去执行。02. 命令格式用法:dpkg-d..._dpkg-deb

关于阿里云轻量级服务器开放了安全组却无法访问端口的问题_阿里云轻量级应用服务器怎么开安全组端口-程序员宅基地

文章浏览阅读905次。最近刚学习了docker,就想着使用Linux来部署,虽然我的电脑是MAC OSX,但是宝贵的256G硬盘还是不要随便浪费的好,正好我前一段时间购买了阿里云的学生机(CentOS7),确实便宜,之后我又进行了备案,准备闲暇时间在上面跑个程序什么的,但是最近就给我教育了,我在aliyun轻量级服务器上配置了docker,又在上面配置了Rancher,准备跑一下微服务,这里我映射的是8080端口,安全组中也开放了8080,但是在我访问时,却总提示我无法访问。这还能忍?于是我开始各种查资料。第一种方法是卸载_阿里云轻量级应用服务器怎么开安全组端口

控制工程中的数学建模(3)——自动控制系统的一般模型_自动控制模型-程序员宅基地

文章浏览阅读3.6k次。1.自动控控制系统的基本概念自动控制:在没有人直接参与的情况下,利用外加的设备或装置(控制器),使机器、设备或生产过程(被控对象)的某个工作状态或参数(被控量)自动地按照预定的规律运行。反馈控制原理:控制装置对被控对象施加的控制作用,是取自被控量的反馈信息,用来不断修正被控量与输入量之间的偏差,从而实现对被控量对象进行控制的任务。负反馈控制原理:由测量元件对被控量进行检测,并将它反馈至比较电路与给定值相减而得到偏差电压,经放大器放大变换后,执行元件便依据偏差电压的性质对被控量进行调节,从而_自动控制模型

随便推点

训练集、测试集和验证集(使用sklearn进行划分)_sklearn划分测试集和验证集-程序员宅基地

文章浏览阅读4.1w次,点赞8次,收藏55次。 一、训练集和测试集1. 概念我们训练机器学习模型,目的是使用已有数据来预测未知的数据,通常我们称模型对未知数据的预测能力称为泛化能力。为了评估一个模型的泛化能力,通常我们会将数据分成训练集和测试集,训练集用来训练模型,测试集用来评估模型的泛化能力。2. 使用sklearn划分训练集和测试集from sklearn.model_selection import train_te..._sklearn划分测试集和验证集

Pycharm中的terminal终端中无法识别shell命令的解决办法?_为什么在命令端可以打开sh文件而在pycharm的terminal中却打不开-程序员宅基地

文章浏览阅读2.1k次。Pycharm中的terminal终端中无法识别shell命令的解决办法?​ 首先,确定您的电脑上安装了git软件。​ 接着,打开pycharm软件,依次点击: file–>settings–>Tools–>Terminal,请在Shell path中输入正确的路径,例如:我的路径是 F:\github\Git\bin\bash.exe​ 请记住一定得是您安装的git下面的bin下面的bash.exe这个位置。​ 最后,选择: 应用–>确认,然后退出重启软件。另附上_为什么在命令端可以打开sh文件而在pycharm的terminal中却打不开

Python CSV 合并到多个sheet工作表_csv sheet-程序员宅基地

文章浏览阅读9.1k次,点赞12次,收藏38次。目标将多个CSV文件,合并到一个Excel文件中的,多个sheet工作表。前言网上大多方法都是将csv直接合并在一起,也不分别创建sheet表。还有一些解答说CSV不支持合并到多个sheet表。网上有用宏命令的,我试了,但是只能导入一个sheet表。也有用python的,大多都没什么用。尽管困难重重,最后终于还是利用pandas库实现了目标。开始下面的代码用到了,两个带数据的csv文件。(2019-04-01.csv和2019-04-02.csv)import panda_csv sheet

Fatal signal 11 (SIGSEGV) code 1 (SEGV_MAPERR)的解决方案_fatal signal 11 (sigsegv), code 1 (segv_maperr)-程序员宅基地

文章浏览阅读4.9w次,点赞4次,收藏6次。在做老化测试的时候,出现死机,而且概率很大,崩溃的log信息如下:01-01 17:17:34.870 F/libc ( 1606): Fatal signal 11 (SIGSEGV) at 0x00000018 (code=1), thread 1942 01-01 17:17:34.930 I/DEBUG ( 1167): *** *** *** *** *** *_fatal signal 11 (sigsegv), code 1 (segv_maperr)

element表单校验的一个坑 this.$refs[xxx].validate is not a function_vxe table表格校验this.$refs.feerealformtable.validate -程序员宅基地

文章浏览阅读1.5w次,点赞3次,收藏3次。this.$refs[data][0].validate((valid) => 这个[0]需要加上_vxe table表格校验this.$refs.feerealformtable.validate is not a function

Spark K-Means 算法实践之Java版_k-means spark java-程序员宅基地

文章浏览阅读5.1k次。还没时间整理,先把代码贴上来。package spark.examples;import spark.api.java.*;import spark.api.java.function.*;import java.util.HashMap;import java.util.Iterator;import java.util.List;import java.util.A_k-means spark java

推荐文章

热门文章

相关标签