• 本文为第二篇,对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下面主要是工程的编译配置文件,主要有:

  1. build.gradle,该文件分为项目级与模块级两种,用于描述App工程的编译规则。
  2. proguard-rules.pro,该文件用于描述Java代码的混淆规则。
  3. gradle.properties,该文件用于配置编译工程的命令行参数,一般无须改动。
  4. settings.gradle,该文件配置了需要编译哪些模块。初始内容为include ':app',表示只编译app模块。
  5. 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:删除项目

  1. 在整个”Test”项目上点击右键,选择“delete”,弹出安全删除对话框,选择删除,可能第一次删除不了,多删除几次
  2. 最后,点击“File——>close project“,再到本地将剩下的.idea文件删除,下次进入时,就没有“Test”项目信息了

Android移动应用开发教程②相关推荐

  1. Android OpenGL ES 开发教程(20):颜色Color

    OpenGL ES 支持的颜色格式为RGBA模式(红,绿,蓝,透明度).颜色的定义通常使用Hex格式0xFF00FF 或十进制格式(255,0,255), 在OpenGL 中却是使用0-1之间的浮点数 ...

  2. Protobuf实现Android Socket通讯开发教程

    本节为您介绍Protobuf实现Android Socket通讯开发教程,因此,我们需要先了理一下protobuf 是什么? Protocol buffers是一种编码方法构造的一种有效而可扩展的格式 ...

  3. Android APP 快速开发教程(安卓)

    Android APP 快速开发教程(安卓) 前言 本篇博客从开发的角度来介绍如何开发一个Android App,需要说明一点是,这里只是提供一个如何开发一个app的思路,并不会介绍很多技术上的细节, ...

  4. Android Studio TV开发教程(十五) Android N及更早版本中的建议

    Android Studio TV开发教程 (转自Android官网https://developer.android.com/training/tv/start) 文章源自:光谷佳武 https:/ ...

  5. Android Studio TV开发教程(十二)帮助用户在电视上找到您的内容

    Android Studio TV开发教程 (转自Android官网https://developer.android.com/training/tv/start) 文章源自:光谷佳武 https:/ ...

  6. Android移动应用开发教程笔记①

    本文为第一篇,主要为Android的简介和Android studio的安装以及第一个安卓程序"hello world"的创建! 本文是对B站教程 动脑学院 Android教程 学 ...

  7. Android Studio TV开发教程(二)管理电视控制器

    Android Studio TV开发教程 (转自Android官网https://developer.android.com/training/tv/start) 文章源自:光谷佳武 https:/ ...

  8. Android Studio TV开发教程(五)建立电视回放应用

    Android Studio TV开发教程 (转自Android官网https://developer.android.com/training/tv/start) 文章源自:光谷佳武 https:/ ...

  9. Android移动应用开发教程④

    本文为第四篇,主要讲述了控件讲解介绍(总体思维导图),如何创建新模块,设置文本的内容,设置文本的大小(px,dp,sp不同字体大小的区别),设置文本的颜色(ARGB),设置背景颜色.最后学习了视图基础 ...

最新文章

  1. Windows Server 2003安装卡巴斯基2010成功
  2. mate40能更新鸿蒙,Mate40领衔更新!鸿蒙系统首批升级机型名单:这些机型可坐等推送...
  3. 邮件系统常见错误代码解释 --邮件服务器端(MTA)错误代码解释
  4. OpenGL SDK glew(OpenGL Extension Wrangler Library )
  5. 电磁场与电磁波第一章 矢量分析
  6. JSON是什么?如何产生的?
  7. Docker在Ubuntu16.04上安装
  8. 【C++】max_element() 和 min_element()
  9. 7. Decorator pattern(装饰器模式)
  10. XMPP即时通讯机制
  11. 自然语言处理--信息模型
  12. 检测xposed框架实现
  13. 17级智能信息处理与控制团支部大会
  14. 基于Javaweb实现餐饮管理系统
  15. Vuforia的学习(一)---Vuforia的介绍
  16. 回归问题-逐步回归(Stepwise Regression)
  17. 公众号点击图片变成另一张_公众号互动内容:小众潮流or下一个风口?
  18. php创建网址打不开,php网站无法打开怎么办
  19. 为什么有时 mysql 查询非常的慢?
  20. 消费品销售数据分析(SQL)

热门文章

  1. 两台电脑上的虚拟机相互通信
  2. safari阅读模式 html,safari浏览器阅读模式如何开启
  3. FGN: Fusion Glyph Network for Chinese Named Entity Recognition
  4. flutter 中如何获取输入文本框的内容
  5. SuSE_Linux_Enterprise_11_SP3_x86_64下载地址
  6. 基于VB算法+Picture+Timer控件制作的39种动画效果,类似屏保(完整原程序) (转)
  7. [机缘参悟-78]:深度思考-职场中注意事项与大忌-员工版
  8. [转载] 乔布斯时代的三条设计原则,苹果现在已经忘了
  9. 胡莱三国2服务器维护,扫图技巧
  10. 安装Tez 0.9.0