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

作者: Newamber | 来源:发表于2016-11-10 19:50 被阅读0次

    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~

    相关文章

      网友评论

        本文标题:Android开发札记初级(三)探索Android Studio

        本文链接:https://www.haomeiwen.com/subject/lxmxpttx.html