Android基础——3:项目结构详解

标题

2.2.3 Studio项目详解
platform-tools

system-images:需手动创建
用模拟器时,的系统镜像。无此,无法创建模拟器。
tools目录:
ddms.bat专门调试Android程序用的。

  1. .gradle和.idea

  2. app
    项目中代码、资源等都在此目录下。

  3. build
    编译时自动生成的文件
  4. gradle
    此目录包含gradle.wrapper的配置文件。使用gradle.wrapper的方式,会自动根据本地的缓存情况决定是否联网下载gradle。Android Studio默认没有启用gradle.wrapper,打开方式:导航栏 –>File –>Settings –>Build,Execution,Deployment –>Gradle,进行配置更改。
  5. .gitignore
    将指定的目录和文件排除在版本控制之外。
  6. build.gradle
    项目全局的gradle构建脚本。
  7. gradle.properties
    此文件是全局的gradle配置文件,这里配置的属性会影响到项目中所有的gradle编译脚本。
  8. gradlew和gradlew.bat
    这两个文件是在命令行中执行gradle命令的,gradlew是在Linux或Mac系统中使用,gradlew.bat是在windows系统中使用。
  9. [Project name].iml
    iml文件是所有IntelliJ IDEA项目都会自动生成的文件,用于标识这是一个IntelliJ IDEA项目。
  10. local.properties
    此文件制定本机中的Android SDK路径,
  11. settings.gradle
    此文件用于指定项目中所有引入的模块。

2.2.4 app目录详解

  1. build
  2. libs
  3. androidTest
  4. java
  5. res
  6. AndroidManifest.xml
  7. test
  8. .gitignore
  9. app.iml
  10. build.gradle
  11. proguard-rules.pro

项目中资源详解
mipmap放程序icon,安卓会做特殊优化。

详解build.gradle

layout系列
-res/layout-land 横屏
-res/layout-port 竖屏
layout-finger
layout-land-finger
finger使用在对手指触摸支持很好的屏幕(finger-friendly touchscree)

mipmap
在AndroidStudio上创建的项目中会包含有一个mipmap的文件夹,里面存放着app的ic_launcher图标,在Eclipse上这些图标是放置于drawble文件夹下的。那是不是app的所有icon都应放在mipmap中呢?

基本知识:

ldpi 0.75

mdpi 1 (安卓里面以160为标准)

hdpi 1.5

xhdpi 2.0

xxhdpi 3.0

xxxhdpi 4.0

像素密度: dpi

像素:px

独立像素:dp或dip

像素密度 = √{(长度像素数^2+宽度像素数^2)}/屏幕尺寸 ;即名屏幕每英寸所占的像素数。

dp = (dpi/160)*px (安卓里面以160为标准)

· 1.相同屏幕大小,如5英寸,160dpi即每英寸有160个像素,其1dp = 1px,此时160dp = 160px,屏幕所占尺寸为1英寸;320dpi即每英寸有320个像素,其1dp = 2px,此时160dp = 320px,屏幕所占尺寸为1英寸;其它像素密度类比。

· 2.同一像素密度,如160dpi,不管在多少尺寸屏幕下,因为每一英寸所占像素数相同,且1dp = 1px,故不管多少dp,其所占像素数相同,所占物理尺寸也相同。

· Logo标准:48x48,即mdpi放48x48的,ldpi, hdpi, xhdpi,xxhdpi, xxxhdpi相对应为36x36, 72x72, 96x96,144x144, 192x192

· 启动图标准:320x480,即mdpi放320x480的,ldpi, hdpi, xhdpi, xxhdpi, xxxhdpi相对应为 240x320, 480x800, 720x1280, 1080x1920

百度:

MIP map技术帮助避免了不想要的锯齿边缘(称为锯齿状图形)在图像中出现,这种锯齿状图形可能是由于在不同分辨率下使用bitmap图像产生的。

google:

为了加快渲染速度和减少图像锯齿,贴图被处理成由一系列被预先计算和优化过的图片组成的文件,这样的贴图被称为 MIP map或者 mipmap。

度娘和wiki的说明来看,mipmap确实可以加快渲染速度,而且是为了解决在不同分辨率下使用bitmap产生的问题,这就不难理解Launcher图标为什么在mipmap目录下了。在Launcher界面,图标很可能因为选中效果等动画进行放大缩小,因此可以使用mipmap来让动画更加丝滑流畅。

AndroidDeveloper上 android 4.3关于Mipmap的说明:

Mipmapping for drawables

Using a mipmap as the source for yourbitmap or drawable is a simple way to provide a quality image and various imagescales, which can be particularly useful if you expect your image to be scaledduring an animation.

大意就是如果期望图像在动画中缩放,使用mipmap作为bitmap或者drawable的来源是一个提供有质量的多尺寸规格的图片的简单办法。

StackOverFlow
在stackoverflow上看了相关的讨论后,觉得这位大哥解释的比较在理,更容易理解
所以,最开始的两种说法都存在一定问题,既不是把所有图标都放置在mipmap下,也不是说mipmap只能够放Launcher图标。如果图标有固定的尺寸,不需要更改,那么drawable更加适合。如果需要变大变小变大变小的,有动画的,放在mipmap中能有更高的质量。

参考

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值