Android基础(android studio最详细基础使用功略)_手下留键盘的博客-程序员秘密

技术标签: 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

智能推荐

「初学者商城」- 接口 - 配置 swagger-ui 页面描述信息(优化)_intomylife的博客-程序员秘密

1. 前言正准备拉分支的,突然发现 swagger-ui 主页面的描述信息还是硬编码出来的,想着就是取一下对应工程版本号显示就可以了,然后就仅作为一次新的提交没必要打标签的,最后发现并不是想的那么简单…2. 源码完整项目地址:https://github.com/intomylife/osc-apiv1.4.5 标签地址:https://github.com/intomylife/osc-api/releases/tag/v1.4.5v1.4.5 下载地址:zip,tar.gz注:对于标签

The 2016 ACM-ICPC Asia Qingdao 重现赛---题解_AAAAAAAC——的博客-程序员秘密

A - Relic Discovery 题意:Recently, paleoanthropologists have found historical remains on an island in the Atlantic Ocean. The most inspiring thing is that they excavated in a magnificent cave and fo...

如何在Ubuntu 20.04安装NotePad++_ubuntu安装notepad_AI浩的博客-程序员秘密

How to Install Notepad++ on Ubuntu 20.04Written by Rahul, Updated on May 18, 2020Notepad++ is one of the loved one application by Windows users. Which provides a large number of options to work with it including the syntax highlighting. Notepad++ is.

OkHttp遇到的坑[email protected]的博客-程序员秘密

public PersterNetapi(){OkHttpClient okHttpClient = new OkHttpClient();Request request = new Request.Builder().url("http://www.weather.com.cn/data/cityinfo/101010100.html").build();Call cal

C语言开启多线程_c语言多线程_国家级庸才的博客-程序员秘密

文章目录文章目录文章目录多线程C语言中的多线程创建多线程阻塞和分离等待和退出线程标识和判断独占数据线程对象线程存储共享数据互斥条件互斥原子操作内存栅栏多线程总结多线程计算机发展初期为单核单任务,windows开始发展为单核多任务,而后是多核多任务,多任务开始为多进程,后来出现了多线程,多核为多进程和多线程提供了更好的支持,不仅可以分配时间线,还可以分配空闲的核心。进程是一个独立功能的程序,为了防止程序之间相互干扰,操作系统在内存中为进程之间筑了一道墙,这就导致进程之间切换和通信变得困难。线程是一个

padding and margin._weixin_30402343的博客-程序员秘密

paddingis the space between the content and theborder, whereasmarginis the space outside the border:转载于:https://www.cnblogs.com/listened/p/3451892.html

随便推点

Netplan addresses 含义_eno3s0: addresses: - 172.16.16.156/24 gateway4: 17_七两雨的博客-程序员秘密

以前搭建linux都是用redhat,最近学习ubuntu,18.04LTS版本配置IP地址用的是netplan,发现配置是这样的network: version: 2 renderer: networkd ethernets: enp3s0: addresses: - 10.10.10.2/24 gateway4: 10.10.1...

padding操作_masterShaw的博客-程序员秘密

之前对卷积网络中padding操作一直存在错误理解,以为padding=SAME为输入和输出尺寸一样大,但是最近看了一些论文和资料后发现,之前的理解错误,下面是tensorflow中源码的实现,可以看出padding=VALID和padding=SAME的计算公式...

浅谈饿汉式单例模式小问题_Zy_JiBai的博客-程序员秘密

引用:https://www.cnblogs.com/smallFishs/p/6185627.html 第一次写文章,而且我也是刚刚知道这个问题的原因,还是我老师给我解释的,写出来一方面是为了加深记忆方便理解,另一方面希望有更多人知道这个原因,下面看一下这个问题。 看一下这段代码,大...

LeetCode - Unique Email Addresses_H_MZ的博客-程序员秘密

Every email consists of a local name and a domain name, separated by the @ sign.For example, in [email protected], alice is the local name, and leetcode.com is the domain name.Besides lower...

Redis学习笔记1--Redis简介_weixin_34192732的博客-程序员秘密

2019独角兽企业重金招聘Python工程师标准>>> ...

模型结构可视化工具-Netron_sc_kobe的博客-程序员秘密

今天在将tensorflow保存的checkpoint类型模型冻结,转化为.pb模型输出后,想要打开.pb文件,但是找不到合适的工具,偶然间看到一篇博客,里面介绍的模型结构可视化工具-Netron 可以打开此类型。netron介绍和安装安装包:https://github.com/lutzroeder/netron/releases/tag/v4.6.6使用方法:打开Netron,点 open model 即可添加你所要打开的模型结构...

推荐文章

热门文章

相关标签