Android 项目文件结构分析

一.项目结构

Android Studio(以下均简称AS)的项目结构默认为Android模式的项目结构,但是Android模式的项目结构(图1.1)

图1.1

并非项目真正的结构,只是方便用户开发,若要查看真是目录结构,可以切换置Project模式(图1.2)。

图1.2

 

二.文件目录详解

图2.1是一张Project模式下的文件目录结构。

图2.1

下面我们就来逐一分析个文件/目录的作用

 1. .gradle和.idea

 这两个目录都是AS自行生成的文件,请不要去自行编辑。

 2. app

 这个文件一般是我们主要要用到的文件目录,详细的目录结构见图2.2

图2.2

 

  -build

   AS在编译时自动生成的文件。

  -libs

   使用的第三方jar包将被放入此路径。

  -androidTest

   编写测试用例,可以对项目进行一些自动化的测试。

  -java

   我们写的java代码被放在这个路径下。

  -res

   资源文件,我们用到的图片、布局、字符串都被放在这个路径下。

图2.3

我们这里说下res下各文件夹的作用

    --drawable:图片

    --layout:布局文件

    --mipmap-(*)hdpi:应用图标

    --values:串、样式、颜色设置

我们直到各个文件夹的作用了,那么如何引用这些资源呢?

我们打开res/values/string.xml查看到该文件的代码,如下:

<resources>
    <string name="app_name">helloWorld</string>
</resources>

这里定义了一个程序名的字符串,我们可以用两种方法来引用它:

*在代码中通过R.string.hello_world来获得该串引用;

*在xml中通过@string/hello_world来获得该串引用;(见如下AndroidManifest.xml文件的调用)

 

  -AndroidManifest.xml

   整个安卓项目的配置文件,你的程序用到的四大组件都要在这里注册。关于AndroidManifest.xml文件的详细说明见如下分  析。(在看以下分析前建议先看完res资源文件介绍)。

   这份是AndroidManifest.xml的代码:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.example.helloworld">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:roundIcon="@mipmap/ic_launcher_round"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
    </application>

</manifest>

下面我们着重看以下这一部分

<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<activity android:name=".MainActivity">
    <intent-filter>
        <action android:name="android.intent.action.MAIN" />

        <category android:name="android.intent.category.LAUNCHER" />
    </intent-filter>
</activity>
</application>

 相关参数说明:

    --android:icon:项目的应用图标

    --android:label:项目的名称

 

  -test

   用来编写Unit Test,项目测试的另一种方法(之前提到了androidTest)。

  -.gitnore

   将指定的文件或目录排除在版本控制范围外。

  -app.iml

   IDEA自动生成的文件。

  -build.gradle

   app模块的gradle构建脚本。

  -proguard-rules.pro

   代码的混淆规则,用于防破解。

 3. build

 项目编译自动生成的文件

 4. gradle

 包含gradle wrapper的配置文件,联网时系统会自动下载gradle。

 5. .gitignore

 涉及版本控制,后面会提到。

 6. build.gradle

 全局的gradle脚本,不需要修改。

 7. gradle.properties

 全局的gradle的配置文件

 8. gradlew和gradlew.bat

 用来在命令行界面执行gradle命令的,前者是mac/linux的,后者是windows的。

 9. helloWorld.iml

 IDEA特征文件

 10. local.properties

 本机的Android SDK路径。

 11. settings.gradle

 指定项目中所有引入的模块。

 

三.MainActivity的函数执行

先上代码

package com.example.helloworld;

import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.util.Log;

public class MainActivity extends AppCompatActivity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);
    }
}

这里要说明的有以下几点:

AppCompatActivity 这是一个向下兼容的Activity(Activity是Android提供活动的基类)。
onCreate() 这是一个活动创建时必须执行的方法。
setContentView() 调用此方法给当前活动引入一个activity_main的布局。

关于布局文件都是在res/layout下的。

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
为了满足广大Android开发爱好者与从业者的学习需求,我们精心整理并上传了一份全面而实用的Android项目资源包。这份资源包内容丰富,涵盖了从基础知识到实战应用的全方位内容,旨在为开发者们提供一个便捷、高效的学习平台。 一、文件手册 资源包中的文件手册部分,详细记录了Android开发的核心知识点和常用技术。无论是初学者还是有一定经验的开发者,都能从中找到所需的学习资料。手册采用了简洁明了的排版方式,使得查阅更加方便快捷。同时,手册内容深入浅出,既适合新手入门,也能为老手提供有价值的参考。 二、项目实战与练习 为了让学习者能够将理论知识与实践相结合,我们特别准备了项目实战与练习部分。这部分内容包含了多个精心设计的Android项目案例,从需求分析、设计思路到实现过程,都有详细的讲解和代码示例。学习者可以通过实际操作,深入了解Android开发的整个流程,提升自己的实战能力。 此外,我们还提供了一系列练习题,旨在巩固所学知识,检验学习成果。这些练习题既有基础题,也有难度较高的挑战题,适合不同层次的学习者进行练习。 三、Android开发工具集 在Android开发过程中,选择合适的工具能够大大提高开发效率。因此,我们整理了常用的Android开发工具集,包括开发工具、测试工具、性能优化工具等。这些工具都是经过我们精心筛选和测试的,能够帮助开发者们更加高效地进行Android开发工作。 总的来说,这份Android项目资源包是一份不可多得的学习资料,无论你是初学者还是有一定经验的开发者,都能从中受益匪浅。我们希望通过这份资源包,为广大Android开发爱好者与从业者提供一个更加便捷、高效的学习平台,共同推动Android开发领域的发展。

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

水能zai舟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值