Android程序框架

Android程序框架分析

每一个平台都有一个自己的结构框架。我们在刚开始学习Java或C++时,会发现都会一个程序入口main方法,以及存储方式和项目的文件结构。所以,在学习android过程中,我们第一步也需要对Android的目录结构、文件类型和功能及该平台的main方法进行分析。

  • Android项目目录结构
    首先我们需要创建一个android项目,在package explorer 导航器中可看到创建的项目结构,如图1.1所示。
    Android程序框架_第1张图片
    图 1.1 Andriod项目结构

大概解释一下图1.1中文件夹的用处:
- src : 项目的源文件及所有包(.java)
- gen : 存放自动生成的R文件,R.java 定义项目中所有资源的索引文件
- res : 包含项目中的资源文件,如布局文件(layout)、图片(drawable)、常量(values)等。在values文件中还包含了 strings.xml 、dimens.xml 、style.xml
- style.xml :存放android下显示的样式
- dimens.xml :存放屏幕适配所用到的尺寸
- strings.xml :存放android字符串
- AndroidManifest.xml: android应用程序的入口文件. 声明了android里边的组件. 和相关配置信息.

每一个安卓项目都必须要有AndroidManifest .xml 文件和R.java,这是Java项目中没有的。下面依次介绍一下,先看看R文件中的代码清单1.2。
代码清单1.2:

package com.example.test;

    public final class R {
    public static final class attr {
    }
    public static final class drawable {
        public static final int ic_launcher=0x7f020057;
    }
    public static final class layout {
        public static final int activity_main=0x7f030018;
    }
    public static final class string {
        public static final int app_name=0x7f0a000d;
        public static final int hello_world=0x7f0a000e;
    }
}

R文件定义了很多的常量,这些常量跟res文件中相互对应,也就是说R文件是所有资源的索引文件。R.java文件不能手动添加,当我们在添加新的资源项时,R.java将会自动生成。

接下来看看AndroidManifest.xml文件,如代码清单1.3。
代码清单1.3:


<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.example.test" android:versionCode="1" android:versionName="1.0" >

    <uses-sdk  android:minSdkVersion="14" android:targetSdkVersion="21" />

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

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

manifest>

下面来仔细分析一下该文件。

  • xmlns:android -声明命名空间,使标准属性能在文件中使用,提供大部分元素的数据
  • package-声明应用程序包
  • application -组件声明,可以包括 activity 、service、receiver、provider等标签,还有一写icon、主题及必要的权限。注意的是一个manifest只能包括 一个或零个application元素,不能超过一个。
  • android:icon -程序图标
  • android:label -应用程序的名字
  • activity -用于与用户交互,用户每次打开一个应用程序的页面就是一个activity。注意:每个Activity必要要有 标签进行声明,不然运行不了该页面。另外,还配有 标签来描述activity进行的操作,便于运行时查找Activity。
  • android:name - 启动的Activity
  • intent-filter -声明了指定的一组组件支持的Intent值,从而形成Intentfilter。

    以上是对R文件以及AndroidManifest.xml文件的描述,接下来会对其他文件进行描述。

你可能感兴趣的:(Andriod)