1.2.1.2 Android系统架构
Android系统和其他的系统一样采用的分层架构,如下图,
图1.1 Android的系统构造
从上图看来,系统分成了四层:
第一层:Linux操作系统与驱动
第二层:本地代码(C/C++)框架
第三层:Java框架
第四层:Java应用程序[3]
一、 Linux操作系统层
在Android中,最内部的关键代码是由C语言实现,以Linux的内核为基点,这一层也是连接硬件和软件的纽带。
二、 本地代码(C/C++)框架层
很显然这一层用C语言写的,其中包括系统库和Android运行时。系统库支撑着Java框架,连接着上一层和这一层,其中包括了界面,数据,资料,函数相关的库。
三、 Java框架层
这一层是本软件开发的基础,很多软件的核心功能都是都是这上面实现的,该层为开发人员提供了已经简化了的组件,使得程序的开发能够快速地进行。
四、Java应用程序层
从系统的组成我们可以看出,Android还包含了很多的应用程序,这些程序就是位于这一层,在整个系统的最外层,可以被各种不同的三方软件代替。
1.2.1.3 Android应用程序
应用程序处于Android体统的最外层,主要使用了Java语言,在最后将会被编译成一个apk文件。
Android 应用程序是由各种组件组成,一个应用程序通常是由4 种组件构成:活动(Activity),服务(Service),广播接收器(BroadcastReceiver)和内容提供者(Content Provider)[4]。
一、活动
这是最常用的组件,用于用户和程序之间交互,就是一个用户界面,这就注定了一个Activity对应着一个布局,并且有关界面的事件。Activity由系统自行文护,并不有程序本省来控制,也就是说Activity拥有自己的生命周期。
二、广播接收器
广播,顾名思义就是用来播放消息,也就是对消息进行接收以及作出相应的响应,这个组件并没有用户界面,自然是不可见,然而,它可以启动活动和调用Notification方法来通知使用者。
三、服务
它和广播接收器一样是没有用户界面的,在后台运行,不可见而且生命周期很长。比如说我们经常让微信在后台接收消息,而不让它显示在屏幕上,这个时候微信就相当于一个服务。
四、内容提供者
这个组件也许很难理解,但是却经常用到,在我们安装一些软件的时候,系统总是会提醒你是否允许该软件访问或者读取联系人、信息等数据,这里就会用到内容提供者了。在Android中每一个程序的数据库都是私有的,不能被另一个程序访问,当我们需要使用到另一个程序的数据信息时。
1.2.1.4 用户界面
当我们打开一个软件,最先展示在我们面前的是用户界面(UI),所以用户界面对一个应用程序而言时候非常重要的。在Android中,提供了两个非常强大的类——视图(View)和视图组(ViewGroup),同时也为我们提供了很多视图和视图组的子类,来实现用户界面。
一、界面的基本组件
EditView为我们提供了一个编辑框,可以输入一些特定的内容。
Button是指按钮,通过点击可以触发另一个事件。
CheckBox是一个复选框,可以用在需要多选的时候。
ListView是一个可以滚动的项目清单。
二、布局
布局方法有帧布局(FrameLayout),线性布局(LinearLayout),相对布局(RelativeLayout),表格布局(TableLayout)和绝对布局(AbsoluteLayout)[5],当然,多种布局完全可以混用。 Android计划任务管理软件的设计+源代码(3):http://www.youerw.com/jisuanji/lunwen_29336.html