Android应用结构分析

manifests目录中的AndroidManifest.xml文件是项目的系统配置文件,或称为清单文件。每个Android程序都必须拥有该文件。它为Android系统提供了启动和运行该项目时所必需要了解的基本信息

java的com包:该目录是源代码目录,所有用户自己添加的或者允许用户修改的java文件全部存放于该目录下。如果在创建项目时,设定的包为com.hello.hesky.hello,那么自动建立的MainActivity.java文件就存放在该包内。程序开发人员可以根据需要,在java目录下添加包或者添加java文件

res目录是资源目录,包含本项目中所使用的全部资源文件。新建一个项目,res目录下会有四类子目录:drawable、layout、mipmap 和values。

drawable:主要存放一些用户自定义形状和背景选择器(Android Selector)。背景选择器用于改变ListView或者Button等控件的背景颜色。

layout:存放界面布局文件,文件类型为XML。Android使用XML元素设定屏幕的布局。每个布局文件包含整个屏幕或部分屏幕的视图资源。

mipmap:包含一些应用程序可以用的原生图标文件(*.png、*.gif、*.jpg)。google强烈建议使用mipmap存放图片文件。把图片放到mipmaps可以提高系统渲染图片的速度,提高图片质量,减少GPU压力。

values:存放XML格式的资源描述文件,默认包含颜色(colors.xml)、尺寸(dimens.xml)、字符串(string.xml)和样式(styles.xml)。

values:存放XML格式的资源描述文件,默认包含颜色(colors.xml)、尺寸(dimens.xml)、字符串(string.xml)和样式(styles.xml)。

build.gradle(Project:Hello)文件,

repositories代码托管库:设置之后可以在项目中轻松引用google和jcenter上的开源项目

1.资源描述文件(values目录中文件) colors.xml:该文件用于定义颜色常量

<color>:定义颜色资源的标签。 <color name="colorPrimary">#3F51B5</color>:定义颜色常量,颜色资源名称为“colorPrimary”,颜色值为3F51B5。 颜色值可以有RGB、RRGGBB,ARGB和AARRGGBB四种数据形式。每一种数据形式都为十六进制,必须以“#”开头。

1.资源描述文件(values目录中文件) string.xml:该文件用于定义和存储项目中的字符串资源

声明了一个字符串资源,字符串的名称为“app_name”,字符串的内容为 “HelloAndroid”。Android中将字符串设定为资源,目的就是为了方便实现国际化。

2.界面布局文件(res目录中文件) Android中采用XML文件进行界面布局,可将布局界面的代码和业务逻辑控制的Java代码分离开来,使应用程序的结构更加简单清晰。

AndroidManifest.xml:每个Android项目必须有的,它是整个Android应用的全局描述文件。 该文件通常包括如下信息: 应用程序的包名,该包名将会作为该应用的唯一标识。 应用程序所包含的组件,如Activity、Service、BroadcastReceiver、ContentProvider等。 应用程序兼容的最低版本。 应用程序使用系统所需的权限声明。 其他程序访问该程序所需的权限声明。 下面是一份简单的AndroidManifest.xml清单文件:

application元素 manifest标签下,仅能包含一个application元素。 只要在package中实现的Activity、Service、BroadcastReceiver和ContentProvide四大组件信息都需要在application元素下声明。 application元素的属性解释如下。 android:allowBackup="true"设置允许备份文件。 android:icon="@ mipmap/ic_launcher"定义了应用程序的图标,@ mipmap/ic_launcher是一种资源引用方式,标志着图标是在存放在/res/mipmap目录下的资源文件,资源文件的名称为ic_launcher。 android:supportsRtl="true"设置应用程序可以支持RTL布局。此属性只有在API 17之后才生效。 android:theme="@style/AppTheme" >设置应用程序的主题是AppTheme。

activity元素 activity元素是对Activity组件的声明。 属性android:name定义了该Activity的名称。该名称可以是包含着包名的完整的类名,如android:name=" cn.edu.neusoft.helloandroid.MainActivity";也可以省略包名,简化为android:name=".MainActivity"。 在<activity>标签下,可以定义0个或多个<intent-filter>标签,该标签用于设定Intent过滤条件 <activity>标签下的<action android:name="android.intent.action.MAIN"和<category android:name="android.intent.category.LAUNCHER" />,用于声明本Activity是应用程序启动后首先被执行的Activity。无论应用程序中有多少个Activity,只有一个Activity能这样声明。

猜你喜欢

转载自blog.csdn.net/w2597014466/article/details/82699468
今日推荐