入门篇Android学习笔记——项目结构及相关基础知识

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了入门篇Android学习笔记——项目结构及相关基础知识相关的知识,希望对你有一定的参考价值。

android项目具有其自身的结构规范,完好的遵循结构规范,可以让开发事半功倍。下图分别从Android视图和Project视图展示了Android项目的项目结构:

技术分享

图中左侧是Android视图,右侧是Project视图。从两个结构图的对比,可以发现Android视图更加关注Android开发工作,而Project视图更加关注整体结构,虽然两个视图有一些不同,但主体结构并没有什么区别。

接下来,主要通过Android视图,描述一下Android项目中各个目录的用途和含义,明白Android视图中各目录的用户和含义后,找到Project视图中的对应目录就不是什么难事儿了。

项目结构:

APP:Android项目代码,通常的编码工作都在这里进行。

manifests:存放AndroidManifest.xml文件,此文件是Android项目中的配置清单文件。因为Android项目的模型是一个父类调用子类的模型,简单来说,这个模型是由开发者继承Android系统提供的父类来实现App自己的子类,然后Android系统在核实的时候去调用开发者实现的App。所以这个配置清单文件就十分重要,只有通过这个文件,Android系统才知道开发者的应用里到底有些什么内容,开发者要在此文件中申明应用包含的组件。

java:存放Android项目中的java代码。

<包名>:存放java代码。

<包名>(androidTest):存放Android 测试代码。

<包名>(test):存放Unit测试代码。

res:存放Android项目所需资源文件。

drawable:存放图片资源文件,在Android系统中,Google推荐使用png格式的图片资源,在此目录下,不同屏幕密度的同名图片资源将以文件夹格式显示。

layout:存放布局资源文件,在此目录下,不同屏幕尺寸的同名布局资源将以文件夹格式显示。

menu:存放菜单资源文件,在此目录下,不同屏幕尺寸的同名菜单资源将以文件夹格式显示。

mipmap:存放图片资源文件,约等同于drawable目录,此目录在Android 4.2版本被引入,Android对此目录中的图片资源提供了更好的缩放性能。

values:存放值资源,在此目录下,同名同类型的资源将以文件夹格式显示。

colors.xml:图片资源文件

dimens.xml:距离资源文件

string.xml:字符串资源文件

style.xml:样式资源文件

Gradle:Android项目构建文件,存放Gradle构建文件以及其他配置文件。

多终端设备支持

在Android系统中,存在着各式各样的屏幕尺寸和各式各样的系统版本。也就是人们所说的碎片化严重。针对这个问题,Google其实已经提供了非常完好的技术支持。比如:

多屏幕密度支持

在Android设备上,关于屏幕有两个参数,一个是尺寸,如4.7寸,5.2寸,一个是分辨率,如768 x 1280, 480 x 800。尺寸表示屏幕的物理大小,分辨率表示屏幕的像素点数量,3.8寸屏幕具有768 x 1280的分辨率和7寸屏幕具有768 x 1280的分辨率,显然显示效果是不同的。这个不同就是因为屏幕密度引起的,简单的可以把屏幕密度理解为单位面积上像素点的数量。

以图片资源为例,Andorid提供了针对不同屏幕密度的图片适配支持,只需要对目标资源文件夹进行不同的命名就可以简单实现。下面列举出了常用的图片适配支持:

drawable:通用图片资源目录

drawable-nodpi:不需要缩放的图片资源目录

drawable-ldpi:低屏幕密度图片资源

drawable-mdpi:中屏幕密度图片资源

drawable-hdpi:高屏幕密度图片资源

drawable-xhdpi:超高屏幕密度图片资源,在这之上还有(drawable-xxhdpi,drawable-xxxhdpi)

多屏幕尺寸支持

除了对屏幕密度提供了完好支持,Android系统也对屏幕尺寸提供了完好吃吃,以布局文件为例:

layout:通用布局文件资源

layout-land:宽屏布局文件资源

layout-small:小屏幕布局文件资源

layout-w820dp:屏幕宽度为820dp的布局文件资源

多语言支持

Android系统作为全球智能设备占有率最高的系统,对多语言的支持自然必不可少,以值资源文件为例:

values:通用值资源

values-es.xml:西班牙语言环境值资源

values-zh.xml:简体中文语言环境值资源

多系统版本支持

为了解决系统碎片化,那么多系统版本的支持自然必不可少,以值资源文件为例;

values:通用值资源

values-v21.xml:Android 5.0及以上版本的值资源

度量单位

很多Android初学者总是不明白在Android系统中的度量单位,下面对一些常见的度量单位进行解释:

dp:可以简单理解为屏幕密度,1dp在高屏幕密度和低屏幕密度的设备上的表现是不同的,为了尺寸能随屏幕密度的变动而变动,一直保持与屏幕的比例,通常来说都建议只用dp作为度量单位。

dip:等同于dp,只是换了一个马甲而已。

sp:可以简单理解为绝对的像素,sp不随屏幕密度的变化而变化,在不同设备间一直保持固定大小,对于希望保持固定大小的内容,可以使用sp作为度量单位,例如在小屏幕上对文字使用dp,可能因为屏幕过小,而导致文字等比缩放后,文字过小而无法阅读的情况,这时候,使用sp将保持文字在不同设备上的大小是一致的.

px:忘记这个在web开发中最常用到的单位吧,在Android系统中,它是不被推荐使用的,所以它的含义,也就不解释了,希望所有Android开发者都能忘掉它。

 

 

 

 

欢迎转载,转载同时请尊重版权,附上本文原文链接:点击这里

 

 

==============================

 更多内容,欢迎查看本人博客:林彦君的博客

==============================

以上是关于入门篇Android学习笔记——项目结构及相关基础知识的主要内容,如果未能解决你的问题,请参考以下文章

Redis学习笔记- 基础篇-基础结构及语法

Redis学习笔记- 基础篇-基础结构及语法

Qt快速入门学习笔记(基础篇)

HarmonyOS鸿蒙学习笔记基于eTS的入门应用结构简单梳理

HarmonyOS鸿蒙学习笔记基于eTS的入门应用结构简单梳理

Android入门学习笔记(更新中ing)