- 本文为第二篇,对Android开发做一个全面但不深入的了解,让大家对Android开发有一个笼统印象。主要讲述了如何利用真机调试Android应用,关于开发Android应用的语言的选择,以及Android应用的工程结构:其中包括manifests子目录,java子目录,res子目录,Gradle Scripts目录以及清单文件。最后讲解了如何在Android studio中删除Module或者整个项目。
- 本文是对B站教程 动脑学院 Android教程 学习过程中所做的笔记!
- 本文大部分为从视频中选取的知识点,其中有文字和小部分图片是由我自己编写的。
- 本文承接上一篇文章《Android移动应用开发教程①》
- 下一篇篇链接:《Android移动应用开发教程③》
一:前言
1.1:对运行环境的理解
既然Android操作系统是基于Linux系统开发的,那我直接在Linux系统上安装Android应用是不是可以直接运行?
答案是错误的,Android系统只是基于Linux系统开发的,不等同于Linux系统。Linux只是Android系统这个房子的地基,而不是房子的所有。故即使是在Linux系统上开发Android应用还是要安装模拟器来运行Android应用。
1.2:利用真机调试
可见下图
注:不同手机开发者选项开启可能不同,建议自己查询一下如何开启。
在进行完以上四个步骤之后,在Android studio中运行按钮旁边可以切换到已经连接的手机。
1.2.1:真机是如何和PC连接的?
PC和Android OS通过adb(Android debug bridge)连接,中文翻译叫安卓连接桥。而adb是在SDK中的一个工具。
1.2.2:真机和模拟器的优缺点
模拟器:我们可以在模拟器上下载各种版本模拟器,可以进行兼容性测试。
真机:在需要硬件需求的时候,例如调用摄像头之类的,真机更有优势。
1.3:开发涉及的编程语言
1.3.1:关于Java和kotlin
APP开发主要有两大技术路线,分别是原生开发和混合开发。原生开发就是主要用Google公司提供的技术。而混合开发是利用一些其他技术。两种开发方式各有优劣,而本教程主要学习原生开发。
原生开发中流行的语言是Java和kotlin语言。虽然kotlin语言很火,但是Java算是kotlin的基础,所以学习和用Java语言开发Android应用很重要。故本教程主要使用Java语言。
1.3.2:关于c/c++
如下图
1.3.3:关于xml
如下图
1.4:Android开发所使用的数据库
手机上无法操作如MySQL,oracle,SqlServer等大型数据库,但是Android内部有专门的内置数据库sqlite。它遵循关系数据库的设计理念,SQL语法类似于MySQL。而SQLite无需单独安装,故APP无需配置链接信息即可直接增删改查。它被归为嵌入式数据库。
二:Android应用的工程结构
2.1:APP工程层次
- APP工程分为两个层次,第一个层次是项目(project),第二个层次是模块(module)
- 模块依赖于项目,每个项目至少有一个模块,也能有多个模块。
- 一般所说的“编译运行APP”,指的是运行某个模块,而不是运行某个项目,因为模块才对应实际的APP
2.2:APP项目的目录说明
APP项目下面有两个分类:App(代表App模块),Gradle scripts。
App下面有3个子目录 gradle scripts下面主要是工程的编译配置文件。
下面将在Android studio中说明
2.2.1:manifests子目录
manifests子目录,下面只有一个XML文件,即AndroidManifest.xml,它是App的运行配置文件。
2.2.2:java子目录
java子目录,下面有3个com.example.myapp包,其中第一个包存放当前模块的Java源代码,后面两个包存放测试用的Java代码。
2.2.3:res子目录
res子目录,存放当前模块的资源文件。res下面又有4个子目录:
- drawable目录存放图形描述文件与图片文件。
- layout目录存放App页面的布局文件。
- mipmap目录存放App的启动图标。
- values目录存放一些常量定义文件,例字符串常量strings.xml、像素常量dimens.xml、颜色常量colors.xml、样式风格定义styles.xml等。
- xml文件夹中存放各种xml文件。
2.2.4:Gradle Scripts目录
Gradle Scripts下面主要是工程的编译配置文件,主要有:
- build.gradle,该文件分为项目级与模块级两种,用于描述App工程的编译规则。
- proguard-rules.pro,该文件用于描述Java代码的混淆规则。
- gradle.properties,该文件用于配置编译工程的命令行参数,一般无须改动。
- settings.gradle,该文件配置了需要编译哪些模块。初始内容为include ':app',表示只编译app模块。
- local.properties,项目的本地配置文件,它在工程编译时自动生成,用于描述开发者电脑的环境配置,包括SDK的本地路径、NDK的本地路径等。
关于gradle:gradle是一个项目自动化构建工具,帮我们做了依赖,打包,部署,发布,各种渠道的差异化管理等等。(类似于maven)
2.2.5:清单文件
每个应用的根目录中都必须包含一个AndroidManifest.xml,并且文件名必须一模一样。
这个文件中包含了APP的配置信息,系统需要根据里面的内容运行APP的代码,显示界面。
三:在Android studio中删除项目或Module
3.1:删除Module
在一个项目的app上右键,选择“Open Module Setting”,然后选择左上角的“-”号,将此module从“Test”项目列表中移除(并没有真正的从硬盘删除)
再次在“app”上点击右键,出现“delete”选项,点击“delete”,将其从“Test”项目列表中彻底移除(此时真正的从硬盘移除)
3.2:删除项目
- 在整个”Test”项目上点击右键,选择“delete”,弹出安全删除对话框,选择删除,可能第一次删除不了,多删除几次
- 最后,点击“File——>close project“,再到本地将剩下的.idea文件删除,下次进入时,就没有“Test”项目信息了