Android基本概念和模型
学台上开发最重要的第一步是什么?我觉得当然不是语言的问题,也更不是工具的问题。学习Windows开发,我们得了解Win32窗口的运行原理,消息队列等机制,不了解这些背后的机制和基本的运行模型,只靠RAD工具我们还是只能停留在普通应用的阶段。学习Web开发,不了解HTML DOM,HTTP协议原理等内容,,JSP等厂商技术,我们也做不到Web开发的“心想事成”,“胸有成竹”;同样如Anrs Blog中说到的正则表示式的应用,我们还得了解其背后的匹配原理。所以,我觉得面对一个全新的平台,我们得首先了解其工作和运行的基本模型和原理,才能做到以后在这个平台上的“得心应手”。
各位看官先不要被图形中的生词吓死,接下来我会详细解释每一个概念。
先来看图形中的灰色部分,这部分描述了一个完整的Android应用程序可以包含的各个组成部分,ponent(图中中间部分的基类),ponent就组成了一个完整的Android应用程序。先看图中左下方的Activity,这个组件我们可以认为它是Windows中的窗体概念,这是Android程序的基本组成部分,也就是程序的人机交互界面。比如一个简单的短信程序就应该包含三个Activity,一个短信列表界面,一个阅读短信详细内容的界面和一个编辑短信的界面。图中左上角的Service顾名思议就是服务,一个Android程序中哪些部分是服务呢?举例来说,短信程序并不只是在我们打开短信界面的时候才去收取短信,我们退出界面后,手机仍然会去收取短信,并在新的短信到达时通知我们,所以一定有某个任务在后台运行着,这就是Service了;再比如说音乐播放功能,当我们从播放界面返回手机待机界面的时候仍然可以继续听音乐,这也是一个Service的例子。其实Activity + Service是非常常见的手机软件应用,比如我要做的BlogMessage同样也是这样的结构。左边中间部分的“Broadcast Receiver”是用于接收各种系统定义事件或自定义事件的接收器,如果我们的程序想侦测一些系统事件的发生,我们就需要写一个Broadcast Receiver。例如我们的程序想在手机打开Wifi的时候立即去刷新最新的数据,或者我们想在手机来电时执行某个动作,这些都可以由Broadcast Receiver订阅特定的事件来完成。图中左边剩下的“Content Provider”,我们可以把它理解成一种特殊的Service,一种可以给其他程序提供数据的Service,例如手机中的联系人信息,我们任何程序都可以和其通信去获取联系人的信息,这就可实现为一个典型的Content Provider。
再来看图中蓝色的部分,这是一个静态的部署概念,开发的程序集的概念一样。Apk是我们Android程序发布和部署的基本单位,一个完整的Android程序就可以打包为一个或多个Apk进行发布,我们从Android Marketing上
Android基础知识 来自淘豆网m.daumloan.com转载请标明出处.