android 是一个开放的系统,这个系统体积非常庞大,不同的开发者在开发过程中并不需要掌握整个android 系统,只要进行其中某一个部分的开发 android 的开发分四个层次
1. Linux操作系统及驱动, 该层由C 语言实现
2. 本地代码框架,该层次由C,C++实现
3. java框架,该层主要由java 实现
4. java应用程序,该层主要由java 实现
应用程序层:
所有的应用程序都是使用java 语言编写的,通过调用应用程序框架层(Application Framework)所提供的API 来完成。
应用程序框架层:
为开发人员提供了可以完全访问核心应用程序所使用的API 框架。
•活动管理器:管理应用程序生命周期并提供常用的导航回退功能。比如:开启应用程序需要的资源和退出应用程序时需要的释放资源。
•窗口管理器:管理所有开启的窗口程序。
•内容提供器:使应用程序可以访问另一个应用程序的数据(如联系人数据库),或者共享它们的数据。
•视图系统:可以用来构建应用程序,它包括列表list 、网格grid 、文本框text box 、按钮button 、图形绘制等,以及可嵌入的web 浏览器
•通知管理器:使应用程序可以再状态栏中显示自定义的提示信息。
•包管理器:管理所有安装在Android 系统中的应用程序。比如:信息查看和卸载程序等。
•资源管理器:提供各种资源供应程序使用。比如:字符资源、图像资源、音频资源。
•硬件服务:电话拨打和接听等相关功能、管理地图服务的相关功能、有关蓝牙服务的相关功能、WIFI 服务相关功能、USB 服务相关功能、传感器服务相关功能。 系统运行时库:
系统运行库层包括程序库和Android 运行库两部分
1)程序库:Android 包含一些C/C++库,这些库能被Android 系统中的不同组件使用,它们通过应用程序框架为开发者提供服务,核心库的功能介绍:
Surface Manager:对显示子系统进行管理,并且为多个应用程序提供2D 和3D 图层的无缝融合。
Media Framework:基于PacketVideoOpenCORE ,该库支持多种格式的音频和视频的回放和录制,同时支持静态图像文件。编码格式包括:MPEG4、H.264、MP3、AAC 、AMR 、JPG 、PNG 。
SQLite :对于所有应用程序可用、功能强劲的轻型关系型数据库引擎
OpenglES 支持OpenGL ES1.x和OpenGL ES 2.0该库可以使用硬件3D 加速或者使用高度优化的3D 软加速
FreeType :位图、矢量和字体显示
Webkit :最新的Web 浏览器引擎,支持Android 浏览器和一个可嵌入的Web 服务器。
SSL :安全通信相关技术处理,为网络通信提供安全及数据完整性的一种安全协议。
Libe :Android 并没有采用glibc 作为C 库,而是采用了Google 自己开发的Bionic Lib 。它从BSD 继承了标准的C 系统函数库,是专门为基于嵌入式Linux 设备定制的。
2)Android 运行库:
Android 运行时库又分为核心库和Dalvik 虚拟机两部分。核心库提供了Java 语言核心库的大多数功能,这里主要通过JNI 的方式向应用程序框架层提供调用底层程序库的接口。Dalvik 虚拟机是为了能同时高效地运行多个VMs 而实现的。 Linux 内核层:
Android 依赖于Linux2.6内核提供的核心系统服务,例如安全、内存管理、进程管理、网络栈、驱动模块等,Android 对内核进行了增强。
android 是一个开放的系统,这个系统体积非常庞大,不同的开发者在开发过程中并不需要掌握整个android 系统,只要进行其中某一个部分的开发 android 的开发分四个层次
1. Linux操作系统及驱动, 该层由C 语言实现
2. 本地代码框架,该层次由C,C++实现
3. java框架,该层主要由java 实现
4. java应用程序,该层主要由java 实现
应用程序层:
所有的应用程序都是使用java 语言编写的,通过调用应用程序框架层(Application Framework)所提供的API 来完成。
应用程序框架层:
为开发人员提供了可以完全访问核心应用程序所使用的API 框架。
•活动管理器:管理应用程序生命周期并提供常用的导航回退功能。比如:开启应用程序需要的资源和退出应用程序时需要的释放资源。
•窗口管理器:管理所有开启的窗口程序。
•内容提供器:使应用程序可以访问另一个应用程序的数据(如联系人数据库),或者共享它们的数据。
•视图系统:可以用来构建应用程序,它包括列表list 、网格grid 、文本框text box 、按钮button 、图形绘制等,以及可嵌入的web 浏览器
•通知管理器:使应用程序可以再状态栏中显示自定义的提示信息。
•包管理器:管理所有安装在Android 系统中的应用程序。比如:信息查看和卸载程序等。
•资源管理器:提供各种资源供应程序使用。比如:字符资源、图像资源、音频资源。
•硬件服务:电话拨打和接听等相关功能、管理地图服务的相关功能、有关蓝牙服务的相关功能、WIFI 服务相关功能、USB 服务相关功能、传感器服务相关功能。 系统运行时库:
系统运行库层包括程序库和Android 运行库两部分
1)程序库:Android 包含一些C/C++库,这些库能被Android 系统中的不同组件使用,它们通过应用程序框架为开发者提供服务,核心库的功能介绍:
Surface Manager:对显示子系统进行管理,并且为多个应用程序提供2D 和3D 图层的无缝融合。
Media Framework:基于PacketVideoOpenCORE ,该库支持多种格式的音频和视频的回放和录制,同时支持静态图像文件。编码格式包括:MPEG4、H.264、MP3、AAC 、AMR 、JPG 、PNG 。
SQLite :对于所有应用程序可用、功能强劲的轻型关系型数据库引擎
OpenglES 支持OpenGL ES1.x和OpenGL ES 2.0该库可以使用硬件3D 加速或者使用高度优化的3D 软加速
FreeType :位图、矢量和字体显示
Webkit :最新的Web 浏览器引擎,支持Android 浏览器和一个可嵌入的Web 服务器。
SSL :安全通信相关技术处理,为网络通信提供安全及数据完整性的一种安全协议。
Libe :Android 并没有采用glibc 作为C 库,而是采用了Google 自己开发的Bionic Lib 。它从BSD 继承了标准的C 系统函数库,是专门为基于嵌入式Linux 设备定制的。
2)Android 运行库:
Android 运行时库又分为核心库和Dalvik 虚拟机两部分。核心库提供了Java 语言核心库的大多数功能,这里主要通过JNI 的方式向应用程序框架层提供调用底层程序库的接口。Dalvik 虚拟机是为了能同时高效地运行多个VMs 而实现的。 Linux 内核层:
Android 依赖于Linux2.6内核提供的核心系统服务,例如安全、内存管理、进程管理、网络栈、驱动模块等,Android 对内核进行了增强。