任何平台下的应用程序开发,都有属于自己的程序架构。
搞应用程序开发,不能像无头苍蝇般蒙头乱转,沉下心来,先把最核心,最关键的东西弄懂。Android应用程序开发的核心知识就是它的程序架构。
一、理解架构
其实程序架构并没有那么玄乎。
Windows下开发MFC应用程序,有它自己的一套架构。
3D游戏引擎开发的项目,有它自己的一套架构。
只要是软件开发平台,都有自己适用的程序架构。
从最浅层看,这些架构都有“源码”,“资源”等部分,当你创建一个Android的项目后,Eclipse的项目浏览栏如图:
名为“HappyRunner”的项目中有如下文件夹:
·src:项目的源码
·gen: 项目打包后的jar包
·Android version-xx: 依赖于android xx版本的jar包
·Android Dependencies :其它一些依赖的jar包
·bin : 生成的可执行文件及其相关文件
·libs :依赖库,jar文件
·res: 资源文件,如ICON图标、布局文件(\layout)和常熟(\values)
android项目中有一个重要的文件类型,xml文件。
xml文件格式简单,设计来传输和存储数据,被不同的应用程序广泛作为数据交换的公共语言。xml文件在android应用程序中的作用类似于网页编程和QT界面编程的CSS文件,主要用于界面设计和布局。
每个android项目都有一个“AndroidManifest.xml”设置文件,里面包含这个Android应用程序具有哪些Activity、Service或者Receiver。
Android应用程序有一下3类:
·前端Activity(Foreground Activity):运行在手机前端程序中。
·后台服务(Background Services):系统服务(System Service)、系统广播信息(Broadcast)和广播信息接收器(Receiver)。
·间隔执行Activity(Intermittent Activity):如线程(Threading)、Notification Manager。
架构与程序包的区别:
如java的jar包,C/C++的命名空间,这些包是一些写好的标准的模块,是被编程者(其实是程序)调用的,大大提高了软件开发的速度;而架构则是文件组织和活动的规则,不同的资源(如代码、图片资源、布局文件、jar包等)按架构的规则编译成可执行文件APK,APK在架构的规则下按一定规律运行,这个规律,即程序的生命周期。
二、程序的生命周期
android项目没有main函数,那程序如何开始呢?
首先得知道程序运行的入口啊!
有两种方法设置项目的入口,即第一个执行的activity:
·AndroidManifest.xml文件中设置。
·在Eclipse图形界面的“Run as”->“Run Configurations”设置Launch Action。
Android的生命周期如图: