物联网移动APP架构设计

Android系统架构

在这里插入图片描述

应用层

  • SMS短信客户端程序、电话拨号程序、图片浏览器、Web浏览器等。这些应用程序都是用Java语言编写的,而且都是能够被开发人员开发的其余应用程序所替换

应用程序框架层

  • Android开发的基础,简化了组件的重用,开发人员能够直接使用其提供的组件来快速的进行应用程序的开发,也能够经过继承来实现个性化的拓展。包括各类管理器Manager.

系统运行库

  • 包括系统库和Android Runtime,系统库是应用程序框架的支撑,是链接应用程序框架层与Linux内核层的重要纽带。程序在Andro id Runtime中执行,其运行时分为核心库和Dalvik虚拟机(ART虚拟机)两部分。
库名称 定义
C库 C语言标准库,也是系统中的一个最为底层的课,C库经过Linux的系统调用来实现
多媒体框架 基于PacketVideo的OpenCORE,从功能上这个库一共分为两大部分,一部分是音频、视频的回放,另外一部分是音视频的记录
SGL 2D图像引擎
SSL Secure Socket Layer位于TCP/IP协议与各类应用层协议之间,为数据通讯提供安全支持
OpenGL ES 提供对 3D的支持
界面管理工具 提供了管理显示子系统等功能
SQLite 通用嵌入式数据库
WebKit 网络浏览器核心
FreeType 位图和矢量字体的功能
Java虚拟机 执行Java标准的字节码,在最新的5.0版本中使用ART默认的运行环境
Dalvik 执行的是Dalvik可执行格式(.dex)中的执行文件。在执行过程当中,每个应用程序即为一个进程

Linux内核层

  • 基于Linux内核,其核心系统服务如安全性、内存管理、进程管理、网路协议以及驱动模型都依赖于Linux内核。

Android驱动程序:

驱动名称 定义
显示驱动(Display Driver) 经常使用的基于Linux的帧缓冲驱动
Flash内存驱动(Flash Memory Driver) 是基于MTD的Falsh驱动程序
照相机驱动(Camera Driver) 经常使用基于Linux的VFL(Video For Linux)驱动
音频驱动(Audio Driver) 经常使用基于ALSA(高级Linux声音体系)驱动
WiFi驱动(WiFi Driver) 基于IEEEE 802.11标准的驱动程序
键盘驱动(KeyBoard Driver) 做为输入设备的键盘驱动
蓝牙驱动(BlueTooth Driver) 基于IEEE 802.15.1标准的无线传输技术
Binder IPC 驱动 Android一个特殊的驱动程序,具备单独的设备节点,提供进程间通讯的功能
Power Managerment (电源管理) 用于管理电池电量的信息