android 目录结构中 drawable(hdpi,ldpi,mdpi) 的区别

简介: android 目录结构中 drawable(hdpi,ldpi,mdpi) 的区别

刚接触到Android 开发,遇到的一些问题.

1.drawable(hdpi,ldpi,mdpi)有什么区别?

答:

主要是为了支持多分辨率的.

hdpi里面主要放高分辨率的图片,如WVGA (480x800),FWVGA (480x854)

mdpi里面主要放中等分辨率的图片,如HVGA (320x480)

ldpi里面主要放低分辨率的图片,如QVGA (240x320)

系统会根据机器的分辨率来分别到这几个文件夹里面去找对应的图片

所以在开发程序时为了兼容不同平台不同屏幕,建议各自文件夹根据需求均存放不同版本图片

下面将介绍Android应用程序的目录结构,为之后的应用程序构建做好准备。

接下来对项目的目录结构进行详细的介绍。

1.src目录

   src目录中存放的是该项目的源代码,其内部结构会根据用户所声明的包自动组织,该目录的组织方式为src/aaa/bbb/HelloWord.java,其中aaa/bbb为包名软件开发人员在项目开发过程中,大部分时间是对该目录下的源代码文件进行编写。

2.gen目录

   该目录下的文件全部都是ADT自动生成的,一般并不需要去修改,实际上该目录下只定义了一个R.java文件,该文件相当于项目的字典,为项目中用户界面、字符串、图片等资源都会在该类中创建其惟一的ID,当项目中使用这些资源时,会通过该ID得到资源的引用。

3.Android2.1

    该目录中存放的是该项目支持的jar包,同时其中还包含项目打包时需要的META-INF目录。

4.assets目录

  该目录用于存放项目相关的资源文件,例如文本文件等,在程序中可以使用 “getResources.getAssets().open("text.txt")”得到资源文件的输入流InputStream对象。

5.res目录

  该目录用于存放应用程序中经常使用的资源文件,其中包括图片、声音、布局文件以及参数描述文件等,其中包括多个目录,其中以drawable开头的三个文件夹用于存储.png、.9.png、.jpg等图片资源(.9.png是Android特有的图片格式,可以根据情况进行拉伸,达到不变形的效果),layout文件夹存放的是应用程序的布局文件,raw用于存放应用程序所用到的声音等资源,values存放的则是所有xml格式的资源描述文件,例如字符串资源的描述文件strings.xml、样式的描述文件styles.xml、颜色描述文件colors.xml、dimens.xml尺寸描述文件以及数组描述文件arrays.xml等。

6.AndroidManifest.xml文件

  该文件为应用程序的系统控制文件,其中对应用程序的权限、应用程序中Activity、Service等进行声明,同时还对程序的版本进行说明。

7.default.properties文件

  该文件为项目的配置文件,从不需要人为改动,系统会根据情况自动对其进行管理,其中主要描述了项目的版本等基本信息。

相关文章
|
5天前
|
安全 Android开发 数据安全/隐私保护
请说明鸿蒙操作系统与其他操作系统(如Android和iOS)的主要区别。
请说明鸿蒙操作系统与其他操作系统(如Android和iOS)的主要区别。
67 1
|
5天前
|
API 开发工具 Android开发
iOS 和 Android 平台的开发有哪些主要区别?
iOS与Android开发区别:iOS用Objective-C/Swift,App Store唯一下载渠道;Android用Java/Kotlin,多商店发布(如Google Play、华为市场)。设计上,iOS简洁一致,Android灵活可定制。开发工具,iOS用Xcode,Android用Android Studio。硬件和系统多样性,iOS统一,Android复杂。权限管理、审核流程及API各有特点,开发者需依据目标平台特性进行选择。
41 3
|
5天前
|
Java 开发工具 Android开发
鸿蒙HarmonyOS 与 Android 的NDK有什么区别?
鸿蒙(HarmonyOS)和Android的NDK(Native Development Kit)是两个不同的概念,它们在设计理念、架构、开发方式和目标平台等方面存在着一些显著的不同。
13 0
|
5天前
|
Android开发
Android Makefile中inherit-product函数和include的区别
Android Makefile中inherit-product函数和include的区别
13 0
|
5天前
|
Java 测试技术 API
安卓APP和iOS APP在测试上的区别是什么?
安卓APP和iOS APP在测试上的区别是什么?
|
5天前
|
Android开发 容器
Android安卓gravity和layout_gravity的区别
Android安卓gravity和layout_gravity的区别
54 2
|
XML 前端开发 Java
你都知道么?Android中21种drawable标签大全(下)
我们在drawable目录下可以创建很多自定义的资源,其中用的最多的应该就是selector和shape。目前在Android中有21种drawable标签,了解和利用这些标签对我们的开发有很大的帮助。这个文章我们对这21种标签做一个介绍,让大家有一个印象。 本文中有些资料取自网上,当时记录在笔记中,但是由于时间久远,忘记出处了。
256 0
|
XML API Android开发
你都知道么?Android中21种drawable标签大全(上)
我们在drawable目录下可以创建很多自定义的资源,其中用的最多的应该就是selector和shape。目前在Android中有21种drawable标签,了解和利用这些标签对我们的开发有很大的帮助。这个文章我们对这21种标签做一个介绍,让大家有一个印象。 本文中有些资料取自网上,当时记录在笔记中,但是由于时间久远,忘记出处了。
599 0
|
3天前
|
XML Android开发 数据格式
ConstraintLayout 2,Android高级开发面试
ConstraintLayout 2,Android高级开发面试