继上篇介绍了如何创建一个Android的应用程序,本人接着上篇扼要地讲一下Android的程序结构。

在建立HelloAndroid程序的过程中,ADT插件会自动建立一些目录和文件,如下图所示:

Android程序结构

这些目录和文件有其固定的作用,有的允许修改,有的则不能进行修改,了解这些文件和目录,对Android程序开发有着很重要的作用。

HelloAndroid根目录下包含4个子目录src,assets,res和gen,一个库文件android.jar,以及两个工程文件Androidmanifest.xml和default.properties。

src 目录是源代码目录,所有允许用户修改的Java文件和用户自己添加的Java文件都保存在这个目录中。HelloAndroid工程建立初期,ADT根据用户在工程中向导的Create Activity选项,自动建立HelloAndroid.java文件。

assets 目录用来存放原始格式的文件,例如音频文件、视频文件等二进制格式文件。此目录中的资源不能够被R.java文件索引,因此只能以字节流的形式进行读取。一般情况下为空。

res 目录是资源目录,Android程序所有的图像、颜色、风格、主题、界面布局和字符串等资源都保存在其下的三个子目录中。其中,drawable目录用来保存图像文件,layout目录用来保存与用户界面相关的布局文件,values目录保存颜色、风格、主题和字符串等资源。

gen目录用来保存ADT自动生成的Java文件,例如R.java或AIDL文件。

android.jar 文件是Android程序所能引用的函数库文件,Android通用平台所支持API都包含在这个文件中。

default.properties文件记录了Android工程的相关设置,例如编译目标和apk设置等,该文件不能手工修改,如果需要更改其中的设置,必须通过右键单击工程名称,在弹出的快捷菜单中选择Properties选项修改。从default.properties文件的代码中可以发现,大部分都是内容注释,只有其中的 target=android-8是有效的代码,说明了Android程序的编译目标。

default.properties文件的代码如下:

AndroidManifest.xml 是XML格式的Android程序声明文件,包含了Android系统运行Android程序前所必须掌握的重要信息,这些信息包括应用程序的名称、图标、包名称、模块组成、授权和SDK最低版本等,而且每个Android程序必须在根目录下包含一个AndroidManifest.xml 文件。

XML是一种可扩展标记语言,本身独立于任何编程语言,能够对复杂的数据进行编码,且易于理解。Android工程中多处使用了XML文件,使应用程序开发更加具有弹性,且易于后期的维护和理解。

AndroidManifest.xml文件的代码如下:

在AndroidManifest.xml文件中,根元素是manifest,包含了xmlns:android,package,android:versionCode,android:versionName等4个属性。xmlns:android定义了Android的命名空间,值为http://schemas.android.com/apk/res/android;package定义了应用程序的包名称;android:versionCode定义了应用程序的版本号,是一个整数值,数值越大说明版本越新,但仅在程序内部使用,并不提供给应用程序的使用者;android:versionName定义了应用程序的版本名称,是一个字符串,仅限于为用户提供一个版本标识。

manifest元素仅能包含一个application元素,application元素中能够声明Android程序中最重要的4个组成部分,包括Activity、Service、BroadcastReceiver和ContentProvider,所定义的属性将影响所有组成部分。

更多相关文章

  1. android Manifest.xml全局配置文件中根标签中package属性及标签
  2. Android系统build/core下.mk文件分析
  3. Android Studio下的目录结构
  4. android使用webview上传文件(支持相册和拍照)
  5. Android进程管理机制及优化 for HTC HeRO(其它设备也可参考)+自动
  6. Android ImageView使用网络资源文件
  7. Android的文件存储(写入和读取)
  8. 文件对应

随机推荐

  1. android表格数据移动功能
  2. Android(安卓)Spinner
  3. android之MultiAutoCompleteTextView
  4. Android——Hardware Acceleration
  5. Android(安卓)通知Notification的两种实
  6. Android(安卓)开发者该学点Linux 命令了
  7. ANDROID 【GRIDVIEW】 DETAILED ANNOTATI
  8. How to Run Android(安卓)Applications o
  9. Android点击通知栏,不启动新的activity
  10. Android判断当前的Activity