Android移动应用开发教程②
- 本文为第二篇,对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”项目信息了
Android移动应用开发教程②相关推荐
- Android OpenGL ES 开发教程(20):颜色Color
OpenGL ES 支持的颜色格式为RGBA模式(红,绿,蓝,透明度).颜色的定义通常使用Hex格式0xFF00FF 或十进制格式(255,0,255), 在OpenGL 中却是使用0-1之间的浮点数 ...
- Protobuf实现Android Socket通讯开发教程
本节为您介绍Protobuf实现Android Socket通讯开发教程,因此,我们需要先了理一下protobuf 是什么? Protocol buffers是一种编码方法构造的一种有效而可扩展的格式 ...
- Android APP 快速开发教程(安卓)
Android APP 快速开发教程(安卓) 前言 本篇博客从开发的角度来介绍如何开发一个Android App,需要说明一点是,这里只是提供一个如何开发一个app的思路,并不会介绍很多技术上的细节, ...
- Android Studio TV开发教程(十五) Android N及更早版本中的建议
Android Studio TV开发教程 (转自Android官网https://developer.android.com/training/tv/start) 文章源自:光谷佳武 https:/ ...
- Android Studio TV开发教程(十二)帮助用户在电视上找到您的内容
Android Studio TV开发教程 (转自Android官网https://developer.android.com/training/tv/start) 文章源自:光谷佳武 https:/ ...
- Android移动应用开发教程笔记①
本文为第一篇,主要为Android的简介和Android studio的安装以及第一个安卓程序"hello world"的创建! 本文是对B站教程 动脑学院 Android教程 学 ...
- Android Studio TV开发教程(二)管理电视控制器
Android Studio TV开发教程 (转自Android官网https://developer.android.com/training/tv/start) 文章源自:光谷佳武 https:/ ...
- Android Studio TV开发教程(五)建立电视回放应用
Android Studio TV开发教程 (转自Android官网https://developer.android.com/training/tv/start) 文章源自:光谷佳武 https:/ ...
- Android移动应用开发教程④
本文为第四篇,主要讲述了控件讲解介绍(总体思维导图),如何创建新模块,设置文本的内容,设置文本的大小(px,dp,sp不同字体大小的区别),设置文本的颜色(ARGB),设置背景颜色.最后学习了视图基础 ...
最新文章
- Windows Server 2003安装卡巴斯基2010成功
- mate40能更新鸿蒙,Mate40领衔更新!鸿蒙系统首批升级机型名单:这些机型可坐等推送...
- 邮件系统常见错误代码解释 --邮件服务器端(MTA)错误代码解释
- OpenGL SDK glew(OpenGL Extension Wrangler Library )
- 电磁场与电磁波第一章 矢量分析
- JSON是什么?如何产生的?
- Docker在Ubuntu16.04上安装
- 【C++】max_element() 和 min_element()
- 7. Decorator pattern(装饰器模式)
- XMPP即时通讯机制
- 自然语言处理--信息模型
- 检测xposed框架实现
- 17级智能信息处理与控制团支部大会
- 基于Javaweb实现餐饮管理系统
- Vuforia的学习(一)---Vuforia的介绍
- 回归问题-逐步回归(Stepwise Regression)
- 公众号点击图片变成另一张_公众号互动内容:小众潮流or下一个风口?
- php创建网址打不开,php网站无法打开怎么办
- 为什么有时 mysql 查询非常的慢?
- 消费品销售数据分析(SQL)
热门文章
- 两台电脑上的虚拟机相互通信
- safari阅读模式 html,safari浏览器阅读模式如何开启
- FGN: Fusion Glyph Network for Chinese Named Entity Recognition
- flutter 中如何获取输入文本框的内容
- SuSE_Linux_Enterprise_11_SP3_x86_64下载地址
- 基于VB算法+Picture+Timer控件制作的39种动画效果,类似屏保(完整原程序) (转)
- [机缘参悟-78]:深度思考-职场中注意事项与大忌-员工版
- [转载] 乔布斯时代的三条设计原则,苹果现在已经忘了
- 胡莱三国2服务器维护,扫图技巧
- 安装Tez 0.9.0