2.应用程序框架:所有应用程序的开发人员都有权使用上述核心应用所使用到的所有API接口。应用程序架构的目标便是为了简化开发过程,同时简化关于组件的重用;通常来说,所有的应用程序都可以自由发布它自己设计开发的功能模块,而且别的应用程序都能够在框架的安全限制范围内随意使用该功能模块,以达到简化自己的设计和研发的目的。
3.Android程序库:Android系统封装有很多开发人员惯于使用的C/C++库,这些库文件通过上面所说的应用程序框架来服务于各类的应用程序的开发和代码的编写。Android系统中的组件都可以使用这些C/C++库文件。Android程序库的关键库文件有很多,常见的有系统C库、媒体库等。
4.Android 运行库:这是Android系统自带的一个非常关键的库文件。这个库不仅封装有Java编程语言的核心库的几乎所有的功能,而且还包含很多重要的系统文件和工具,这些都是开发人员在编程开发时是必不可少的,同时也是系统正常运行的基础之一。
5.Linux内核:由于Android系统时基于Linux内核开发的,因此,其所有的系统应用和关键服务,如系统的安全性、对内存的组织分配、对进程的调度等等,都和Linux相同。作为连接软件和硬件的硬件抽象层,Linux在软件和硬件的交互方面起着决定性作用。
2.2 Android应用程序的构成
基于Android平台的应用程序通常由以下四个组件构成:活动(Activity),意图(Intent),服务(Service),内容提供器(Content Provider)。不过,并非所有的应用程序都必须包括上述所有四个组件。我们可能只需其中的一个或者几个便可以实现自己所需实现的功能。因此,你需要首先确定你将要使用哪些组件,并且在AndroidManifest.xml中将这些组件一一列出。作为一个XML格式的配置文件,AndroidMainfest的最重要的用途便是定义应用程序中所有要用到的的组件、这些组件所实现的作用及所需要的要求等。
四种组件说明如下:
1.活动Activity:活动是Android系统所有组件当中最为常见的一种。在一个应用程序中,每个活动都是拥有一个相对独立的屏幕。这也就意着,所有的活动都必须拥有自己的、单独的用户操作界面。实现特定的活动方式也很简单,就是新建一个Activity的子类,这样,我们只需要重写这个类中继承自父类的方法,就可以完成自己需要的活动。上述Activity类作为用户操作的界面,通常会包含相应的用户操作接口。该接口通常由一个或者多个View控件构成。通常来说,手机中的应用程序都不是单个屏幕,而是包含多个屏幕的,也就是说每个应用会包含多个Activity。不同的屏幕之间不仅可以实现轻易地相互跳转,而且可以将处理的结果以一定的形式传递给其他的屏幕。也就是说,不同的Activity之间具有很好的交互性。
当我们新打开一个屏幕时,之前的屏幕会被停止被保存到历史堆栈之中。也就是说,最多只会有一个Activity在被执行。那么,当用户想要返回之前的屏幕时,系统只需要从历史堆栈之中取出相应的屏幕返回给用户即可。当某一屏幕不会再被使用之时,系统会自动的将其从历史堆栈之中删除,从而节约存储空间。不过,默认情况下,系统会保存所有的屏幕,包括系统主屏幕和所有的应用程序的屏幕,直到用户通知系统某一屏幕不在使用时,系统才会将其删除。
2.意图Intent:Android系统实现不同屏幕之间的来回切换的方法就是利用Intent类。Intent类主要是用来说明一个应用程序接下来的意图,即它接下来想要做什么。在所有关于Intent的介绍之中,都认为Intent有两个部分最是重要,那就是某一特定的动作和与这一特定动作相对应的数据。动作的种类很多,其中最为常见的包括MAIN、VIEW、EDIT、PICK等。大家都知道,如果每一个活动都带有一份数据的副本,那将占用很多不必要的资源。因此我们将数据存储到一起,并把存储数据的地址保存给相应的活动即可,其中,地址则以URI(统一资源定位符)的形式表示。 基于Android系统的电子相册系统的设计与实现 (3):http://www.youerw.com/jisuanji/lunwen_14477.html