Android开发札记初级(三)探索Android Studio Ⅱ

Android 的项目组织结构

打开AS,让我们来理清 Hello World 程序的文件组织结构:

这是AS利用项目构建工具 Gradle(以后会专门分析一下)组织的项目文件结构,默认是以 Android 的方式(谷歌官方推荐的文件结构)展现的,其右边的三角形按钮点开后还有 Project、Packages、Scratches、ProjectFiles、Problems 等组织方式,用得最多的是 Project 和 Android,两者的区别在于:Project 会列出该项目的所有文件,而 Android 只会列出与项目紧密相关的主要文件,为了以后更好地掌握 Android 文件结构,我建议切换成 Project(类似于 eclipse 的目录结构) ,如图:

这里是第一部分的截图,不要被吓到咯,我们从上往下开始分析一些主要的文件(现阶段我们主要关注的目录会加粗显示):

  • Hello World:这其实一个工作空间(Project),在这里面我们还可以新建多个项目(Module)。

  • .gradle:Gradle编译系统,版本由wrapper指定。

  • .idea:系统自动生成的 Android Studio IDE 所需要的文件,包括版权、字典、jar 包信息、项目名称和编译信息等等。

  • app:指的就是一个Module,存放着与应用相关的文件。

  • app | build:编译后产生的项目相关文件,在 build | output | apk 里面有个app-debug.apk可以拷贝然后安装到手机上。

  • app | libs:依赖的库所在的位置(jar和aar),为项目需要添加的.jar 包或.so 包等外接库。

  • app | src:是该项目源代码存放目录, src | androidTest 为系统自动生成的用于测试的目录。

  • src | main:里面是主要的项目目录和代码。

  • src | main | java:放着创建应用时创建的包,包里面存放着所有 java 代码,现在只有一个活动类HelloWorldActivity.java

  • main | res:里面存放着工程的资源文件。其中 drawable 和 mipmap(纹理映射技术) 的区别在于,把图片放到 mipmap 可以提高系统渲染图片的速度和图片质量,主要是对图片缩放(scale)进行优化,减少GPU压力。但是谷歌建议大家只把 app 启动图标(ic_launcher.png)放在对应的mipmap 里面,而PNG、JPEG、GIF、XML、点九图等图片格式还是全部放在 drawable 文件里。res目录下所有的资源文件都会在 R.Java 文件下生成对应的资源 id,我们可以直接通过资源 id 访问到对应的资源;这个 R 文件可以理解为字典,res 下每个资源都都会在这里生成一个唯一的 id!

  • res | layout :存放着布局文件(hello_world_layout.xml)。

  • res | values

    • colors.xml:定义各种颜色的文件。
    • dimens.xml: 定义应用程序要使用的尺寸资源,以达到复用的目的,通过dimens资源文件可以方便地实现屏幕适配。
    • strings.xml:定义程序中窗体显示的文本值。
    • styles.xml:定义程序风格样式。
    • arrays.xml:定义数组资源。(图中未出现)
    • attrs.xml:自定义控件时用的较多,自定义控件的属性(图中未出现)。
  • app | values-w820dp:规定设备的可用宽度至少要达到 820dp 才可以引用dimens.xml中的尺寸资源值。
  • AndroidManifest.xml:这是你整个 Android 项目的配置文件。
  • app | test:为单元测试代码存放目录。
  • app | .gitignore:当前项目在上传到 Git 的时候忽略的文件。后面同名的是项目工作空间的,以此类推。
  • app | app.iml:app模块的配置文件(.iml 是Intellij 的模块文件,而AS是基于Intellij 的,所以会用到它)。
  • app | build.gradle:设置了模块的 gradle 构建配置。(全局的build.gradle主要是声明仓库源,gradle 的版本号说明等)
  • app | proguard-rules.pro:就是用户自定义添加代码混淆规则的文件。代码混淆就是将类名、方法名、Field 名变成如 a、b、c 或者 1、2、3 等难以阅读和理解的名字,以防止你的 app 被逆向工程和被反编译阅读源码。sdk | tools | proguard | proguard-android.txt 是谷歌默认的代码混淆规则文件,如果要启用代码混淆,在 app | gradle 的 buildTypes 里,将minifyEnable false 变成 minifyEnable true

让我们接着看后面的文件:

  • build:代码编译后系统生成的项目空间文件存放的位置。

  • gradle:gradle目录,wrapper 的 jar 和配置文件所在的位置。

  • projectFilesBackup:项目工作空间备份文件。

  • setting.gradle:这个文件是全局的项目配置文件,里面主要声明一些需要加入 gradle 的 module。

  • local.properties:设置 key ,SDK&JDK&NDK 的路径配置通过 File | Project Structure 更改。

  • gradlew & gradlew.bat:自动完成 gradle 环境的脚本,在 linux 和OS X 下直接运行 gradlew 会自动完成 gradle 环境的搭建。

  • External Libraries: 项目依赖的外部库, 编译时系统自动下载的。

下一节我们来熟悉一下AS 的其他区域。

Fin~

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,047评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 90,807评论 3 386
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 158,501评论 0 348
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 56,839评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 65,951评论 6 386
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,117评论 1 291
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,188评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 37,929评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,372评论 1 303
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,679评论 2 327
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,837评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,536评论 4 335
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,168评论 3 317
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,886评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,129评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,665评论 2 362
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,739评论 2 351

推荐阅读更多精彩内容