目录

一、Android项目结构:二、各文件夹和文件的作用:1. **manifests文件夹:AndroidManifest.xml**2. **R.Java文件:**3. **res:资源文件夹:**4. **java文件夹:** **项目的源文件**5. **MainActivity.java** :

一、Android项目结构:

二、各文件夹和文件的作用:

1. manifests文件夹:AndroidManifest.xml

xmlns:tools="http://schemas.android.com/tools"

package="com.example.firstapplication">

android:allowBackup="true"

android:dataExtractionRules="@xml/data_extraction_rules"

android:fullBackupContent="@xml/backup_rules"

android:icon="@mipmap/ic_launcher"

android:label="@string/app_name"

android:roundIcon="@mipmap/ic_launcher_round"

android:supportsRtl="true"

android:theme="@style/Theme.FirstApplication"

tools:targetApi="31">

android:name=".MainActivity"

android:exported="true">

系统配置文件,位于整个项目的根目录下,是Android应用程序中重要的清单文件。为应用程序的启动和运行提供必要的基本信息。仅包含一个标签,代表整个app。包含多个标签,代表多个不同页面。描述了应用程序中的全局数据,包括了应用程序包名,组件(activities, services, 等等),它们各自的实现类,各种能被处理的数据和启动位置。关于文件中的标签:

android.intent.action.MAIN:决定应用的入口Activity,也就是我们启动应用时首先显示哪一个Activity。android.intent.category.LAUNCHER:表示activity应该被列入系统的启动器(launcher)(允许用户启动它)。Launcher是安卓系统中的桌面启动器,是桌面UI的统称。action和category都是Intent的组成部分,前者表示意图的动作,后者表示意图的类别。所以对于上面这段话,我的理解是:android.intent.action.MAIN表明了一个应用启动时首先启动这个Activity的动作。怎样启动呢?android.intent.category.LAUNCHER告诉了我们动作是什么。

2. R.Java文件:

会自动收录当前应用程序中所有的资源,并根据这些资源建立对应的ID,包括:布局资源、控件资源、String资源、Drawable资源等。我们可以简单的把R.java理解成是当前Android应用的资源文件的字典。该文件自动生成,自动维护,程序开发人员不能对其进行修改。当用户向drawable-hdpi、drawable-ldpi、drawable-mdpi文件夹中增加图片,或者在main.xml文件中配置控件以及在strings.xml文件中定义文本信息都会自动在此文件中生成一个唯一的ID,以供程序使用。project视图下打开改程序可查看R.java文件在硬盘中存储的位置:app/build/generated/not_namespaced_r_class_sources/debug/r/[packagename]/R.java。

3. res:资源文件夹:

资源文件夹,包括图片、声音、布局文件、菜单等。项目中应到的资源都包含在此文件夹中,可以看到子文件夹比较多。应用程序运行的时候,res中的内容会在启动的时候载入内存。res 文件夹中放置的所有的资源文件都会在R.java中生成相应的id。

res/drawable: 主要存放一些用户自定义的形状和背景选择器(用于改变一些控件的背景颜色)。这些资源文件都是xml类型。res/layout: 界面布局文件,文件类型为xml。可以控制各个Activity中控件的位置及相关的属性。在Android的应用程序中有两种方式生成用户界面。一种是通过静态的界面描述文件,另外一种就是通过Java文件。res/mipmap: 包含一些应用程序可以用的原生图片文件(png,gif,jpg)。Google强烈建议使用mipmap存放图片文件,可以提高系统渲染图片的速度,减轻CPU的压力。res/values: 放置应用程序中需要用到的值,如:我们常用的字符串,颜色值,数组等。Strings.xml里存储的都是键值对,这些键值对会在R.java中生成相应的id。这样,我们需要使用这些资源时,就可以使用相应的id来引用这些资源。好处: 把所有的资源提供了统一的入口,修改程序会变得更加方便。 该目录中包含了所有的XML格式的参数描述文件,如string.xml字符串描述文件、color.xml颜色描述文件、style.xml样式描述文件和array.xml数组描述文件等。

4. java文件夹: 项目的源文件

Android应用程序主要由资源文件和代码文件两部分构成。资源文件以xml格式描述,代码文件主要为java文件,用于实现业务逻辑。Java目录:项目的源代码文件,所有用户自己添加的或者允许用户修改完成一定业务逻辑的java文件全部存放于该目录下。该目录下的java文件以用户所声明的包自动组织。res 文件夹中放置的所有的资源文件都会在R.java中生成相应的id。在Android的应用程序中有两种方式生成用户界面。一种是通过静态的界面描述文件,另外一种就是通过Java文件。

5. MainActivity.java :

为了在Android系统上显示图形界面,需要使用代码继承Activity类。

public class MainActivity extends Activity {

protected void onCreate(Bundle savedInstanceState) {

super.onCreate(savedInstanceState);

setContentView(R.layout.activity_main);//声明了需要显示的用户界面

}

}

关于R.layout.activity_main的说明:res 文件夹中放置的所有的资源文件都会在R.java中生成相应的id静态常量,表示R.java文件中layout内部类的activity_main静态常量,即使用了res/layout文件夹内的activity_main.xml文件。onCreate()方法会在Activity首次启动时会被调用。savedInstanceState参数是保存当前Activity的状态信息,如果一个非running的Activity因为资源紧张而被系统销毁,当再次启动这个Activity时,可以通过这个保存下来的状态实例,即通过saveInstanceState获取之前的信息,然后使用这些信息,让用户感觉和之前的界面一模一样,提升用户体验。public void setContentView (int layoutResID)

参考阅读

评论可见,请评论后查看内容,谢谢!!!
 您阅读本篇文章共花了: