1.Android应用程序开发技术结构图

从上层到底层共包括四层,分别是:

  • 应用程序层、

我们现阶段编写的就是应用程序层,我们需要在应用程序框架的基础上。

  • 应用程序框架层、

举个通俗的例子,其实就是一个房子的全部建好了(框架),然后你只需要去装饰它。

  • 系统库和Android运行时(Runtime):

系统库包括九个子系统,分别是图层管理、媒体库、SQLite、OpenGLEState、FreeType、WebKit、SGL、SSL和libc

(Runtime):Sun公司提供了虚拟机,不适合运行在Android的平台,所以谷歌开发了一个虚拟机(DVM),自己开发了Core Libraries(和心包)相当于Java的JDK

  • Linux内核

Linux内核提示了一个操作系统的核心功能,也是作为硬件与软件栈的抽象层。驱动:显示驱动、摄像头驱动、键盘驱动、WiFi驱动、Audio驱动、flash内存驱动、Binder(IPC)驱动、电源管理等

Android体系结构包括 android体系结构中的应用程序_应用程序

2.基于组件的应用程序开发

  • 组件的概念是什么呢?

如果我们需要去组装一台台式电脑。我们并不需要很专业的知识,只需要把,电脑运行所需要的零件配合起来工作就可以,比如,我们需要,CPU、主板、电源、显卡、网卡、显示器等一个个零件结合起来,一台电脑就可以工作了。

对于软件设计我们同样想通过这种方式,去做一件事,我们可以不同的人去开发不同的组件,然后当我们需要什么就去拿过来,配合使用,这样会使我们的开发变得简单和高效率。

Android体系结构包括 android体系结构中的应用程序_应用程序_02

Android 四大组件: 

(1).Android 组件(一): Activity

  • Activity是一个应用程序组件,提供一个屏幕,用户可以用来交互为了完成某项任务。
  • Activity中所有操作都与用户密切相关,是一个负责与用户交互的组件,可以通过setContentView(View)来显示指定控件
  • 在一个android应用中,一个Activity通常就是一个单独的屏幕,它上面可以显示一些控件也可以监听并处理用户的事件做出响应。Activity之间通过Intent进行通信。

 

(2).Android 组件 (二):Service

  • Service(服务)是一个一种可以在后台执行长时间运行操作而没有用户界面的应用组件。服务可由其他应用组件启动(如Activity),服务一旦被启动将在后台一直运行,即使启动服务的组件(Activity)已销毁也不受影响。 此外,组件可以绑定到服务,以与之进行交互,甚至是执行进程间通信 (IPC)。 例如,服务可以处理网络事务、播放音乐,执行文件 I/O 或与内容提供程序交互,而所有这一切均可在后台进行。

(3).Android 组件 (三) :Content Provider

  • Android中的Content provider机制可支持在多个应用中存储和读取数据。这也是跨应用共享数据的方式之一,还有文件,sharePreference,SQLite数据库等方式存储共享数据库,但是ContentProvider更好的提供了数据共享接口的统一性。在android系统中,没有一个公共的内存区域,供多个应用共享存储数据。
  • Android提供了一些主要数据类型的Content provider,比如音频、视频、图片和私人通讯录等。可在android.provider包下面找到一些android提供的Content provider。可以获得这些Content provider,查询它们包含的数据,当然前提是已获得适当的读取权限。

(4).Android 组件 (四) :BroadcastReceiver

  • Android:系统在产生某个事件时发送广播,应用程序使用广播接收者接收这个广播,就知道系统产生了什么事件。
  • Android系统在运行的过程中,会产生很多事件,比如开机、电量改变、收发短信、拨打电话、屏幕解锁
  • 能监控手机发生的一切,就可以针对手机当中出现的各种情况作出相应的变化。