Android程序框架

Android程序框架分析

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

  • Android项目目录结构
    首先我们需要创建一个android项目,在package explorer 导航器中可看到创建的项目结构,如图1.1所示。
    Android项目结构
    图 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:

<?xml version="1.0" encoding="utf-8"?>
<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> 标签进行声明,不然运行不了该页面。另外,还配有<intent-filter> 标签来描述activity进行的操作,便于运行时查找Activity。
  • android:name - 启动的Activity
  • intent-filter -声明了指定的一组组件支持的Intent值,从而形成Intentfilter。

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

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值