Android核心模块内容概述

Android核心模块内容概述--千锋3G学院

 

Android作为一个移动设备的平台,其软件层次结构包括了一个操作系统(OS),中间件(MiddleWare)和应用程序(Application)。
     根据Android的软件框图,其Android核心模块结构自下而上分为以下几个层次:
     第一、操作系统层(OS)
     第二、各种库(Libraries)和Android 运行环境(RunTime)
     第三、应用程序框架(Application Framework)
     第四、应用程序(Application)
     以下分别介绍Andoid各个层次的软件的重点及其相关技术:
     ● Android核心模块之操作系统层(OS)
     Android使用Linux2.6作为操作系统,Linux2.6是一种标准的技术,Linux也是一个开放的操作系统。Android对操作系统的使用包括核心和驱动程序两部分,Android的Linux核心为标准的Linux2.6内核,Android更多的是需要一些与移动设备相关的驱动程序。主要的驱动如下所示:
     显示驱动(Display Driver):常用基于Linux的帧缓冲(Frame Buffer)驱动。
     Flash内存驱动(Flash Memory Driver)
     照相机驱动(Camera Driver):常用基于Linux的v4l(Video for )驱动。
     音频驱动(Audio Driver):常用基于ALSA(Advanced Linux Sound Architecture,高级Linux声音体系)驱动。
     WiFi驱动(Camera Driver):基于IEEE 802.11标准的驱动程序
     键盘驱动(KeyBoard Driver)
     蓝牙驱动(Bluetooth Driver)
     Binder IPC驱动: Andoid一个特殊的驱动程序,具有单独的设备节点,提供进程间通讯的功能。
     Power Management(能源管理)
     ● Android核心模块之各种库(Libraries)和Android 运行环境(RunTime)
     本层次对应一般嵌入式系统,相当于中间件层次。Android的本层次分成两个部分一个是各种库,另一个是Android 运行环境。本层的内容
     大多是使用C++实现的。
     在其中,各种库包括:
     ▅ C库 :C语言的标准库,这也是系统中一个最为底层的库,C库是通过Linux的系统调用来实现。▅ 多媒体框架(MediaFrameword):这部分内容是Android多媒体的核心部分,基于PacketVideo(即PV)的OpenCORE,从功能上本库一共分为两大部分,一个部分是音频、视频的回放(PlayBack),另一部分是则是音视频的纪录(Recorder)。
     ▅ SGL:2D图像引擎。
     ▅ SSL:即Secure Socket Layer位于TCP/IP协议与各种应用层协议之间,为数据通讯提供安全支持。
     ▅ OpenGL ES 1.0 :本部分提供了对3D的支持。
     ▅ 界面管理工具(Surface Management):本部分提供了对管理显示子系统等功能。
     ▅ SQLite:一个通用的嵌入式数据库
     ▅ WebKit:网络浏览器的核心
     ▅ FreeType:位图和矢量字体的功能。
     Android 的各种库一般是以系统中间件的形式提供的,它们均有的一个显着特点就是与移动设备的平台的应用密切相关。
     Android 运行环境主要指的虚拟机技术——Dalvik。Dalvik虚拟机和一般JAVA虚拟机(Java VM)不同,它执行的不是JAVA标准的字节码(bytecode )而是Dalvik可执行格式(.dex)中执行文件。在执行的过程中,每一个应用程序即一个进程(Linux的一个Process)。 二者最大的区别在于Java VM是以基于栈的虚拟机(Stack-based),而Dalvik是基于寄存器的虚拟机(Register-based)。显然,后者最大的好处在于可以根据硬件实现更大的优化,这更适合移动设备的特点。
     ● Android核心模块之应用程序框架(Application Framework)
     Android的应用程序框架为应用程序层的开发者提供APIs,它实际上是一个应用程序的框架。由于上层的应用程序是以JAVA构建的,因此本层次提供的首先包含了UI程序中所需要的各种控件:
     例如: Views (视图组件)包括 lists(列表), grids(栅格), text boxes(文本框), buttons(按钮)等。甚至一个嵌入式的Web浏览器。
     一个Andoid的应用程序可以利用应用程序框架中的以下几个部分:
     Activity (活动)
     Broadcast Intent Receiver (广播意图接收者)
     Service (服务)
     Content Provider (内容提供者)
     ● Android核心模块之应用程序(Application)
     Android的应用程序主要是用户界面(User Interface)方面的,通常以JAVA程序编写,其中还可以包含各种资源文件(放置在res目录中)JAVA程序及相关资源经过编译后,将生成一个APK包。Android本身提供了主屏幕(Home),联系人(Contact),电话(Phone),浏览器(Browers)等众多的核心应用。同时应用程序的开发者还可以使用应用程序框架层的API实现自己的程序。这也是Android开源的巨大潜力的体现。

时间: 2024-09-20 05:48:47

Android核心模块内容概述的相关文章

《Cisco防火墙》一2.2 防火墙服务模块的概述

2.2 防火墙服务模块的概述 Cisco防火墙 Cisco的防火墙服务模块(Firewall Service Module,FWSM)是为其Catalyst 6500系列交换机量身打造的防火墙解决方案,它可以提供Cisco ASA的状态化监控技术.FWSM与ASA防火墙系列有着共同的祖先,那就是PIX防火墙.自然而然,这三款产品(命令行界面中)的配置命令和配置思路都是非常接近的. FWSM服务模块是专用于防火墙服务的模块.这款产品可以与Catalyst 6500系列的其他服务模块(如应用控制引擎

Hadoop2源码分析-HDFS核心模块分析

1.概述 这篇博客接着<Hadoop2源码分析-RPC机制初识> 来讲述,前面我们对MapReduce.序列化.RPC进行了分析和探索,对Hadoop V2的这些模块都有了大致的了解,通过对这些模块的研究,我们明白了MapReduce的运行流程以及内部的实现机制,Hadoop的序列化以及它的通信 机制(RPC).今天我们来研究另一个核心的模块,那就是Hadoop的分布式文件存储系统--HDFS,下面是今天分享的内容目录: HDFS简述 NameNode DataNode 接下来,我们开始今天的

Nodejs进阶:核心模块net入门与实例讲解

本文摘录自<Nodejs学习笔记>,更多章节及更新,请访问 github主页地址. 模块概览 net模块是同样是nodejs的核心模块.在http模块概览里提到,http.Server继承了net.Server,此外,http客户端与http服务端的通信均依赖于socket(net.Socket).也就是说,做node服务端编程,net基本是绕不开的一个模块. 从组成来看,net模块主要包含两部分,了解socket编程的同学应该比较熟悉了: net.Server:TCP server,内部通过

android studio 模块更新问题

问题描述 android studio 模块更新问题 我在公司的电脑上写的module,下班了我又把它拷回去继续写,然后把项目下面的模块文件夹删掉,拷入最新的文件夹(同一个module,同一文件夹.只是家里电脑可能是我前几天的版本,现在要拷入的是我最近两天在公司写的改进的),但是打开发现code还是我前几天的内容.很奇怪,文件都删掉了,怎么保存着之前的,同步了之后也没用.我只能删了module重新导入,有什么别的好的办法吗? 解决方案 Android Studio SDK更新问题Android

Nodejs进阶:核心模块Buffer常用API使用总结

本文摘录自<Nodejs学习笔记>,更多章节及更新,请访问 github主页地址.欢迎加群交流,群号 197339705. 模块概览 Buffer是node的核心模块,开发者可以利用它来处理二进制数据,比如文件流的读写.网络请求数据的处理等. Buffer的API非常多,本文仅挑选 比较常用/容易理解 的API进行讲解,包括Buffer实例的创建.比较.连接.拷贝.查找.遍历.类型转换.截取.编码转换等. 创建 new Buffer(array) Buffer.alloc(length) Bu

《深入理解Nginx:模块开发与架构解析》一2.4 用HTTP核心模块配置一个静态Web服务器

2.4 用HTTP核心模块配置一个静态Web服务器 静态Web服务器的主要功能由ngx_http_core_module模块(HTTP框架的主要成员)实现,当然,一个完整的静态Web服务器还有许多功能是由其他的HTTP模块实现的.本节主要讨论如何配置一个包含基本功能的静态Web服务器,文中会完整地说明ngx_http_core_module模块提供的配置项及变量的用法,但不会过多说明其他HTTP模块的配置项.在阅读完本节内容后,读者应当可以通过简单的查询相关模块(如ngx_http_gzip_f

nodejs的require模块(文件模块/核心模块)及路径介绍_基础知识

在nodejs中,模块大概可以分为核心模块和文件模块. 核心模块是被编译成二进制代码,引用的时候只需require表示符即可,如(require('net')). 文件模块,则是指js文件.json文件或者是.node文件.在引用文件模块的时候后要加上文件的路径:/.../.../xxx.js表示绝对路径../xxx.js表示相对路径(同一文件夹下的xxx.js),../表示上一级目录.如果既不加/.../.../又不加./的话,则该模块要么是核心模块,要么是从一个node_modules文件夹

Nodejs进阶:核心模块net入门学习与实例讲解_node.js

模块概览 net模块是同样是nodejs的核心模块.在http模块概览里提到,http.Server继承了net.Server,此外,http客户端与http服务端的通信均依赖于socket(net.Socket).也就是说,做node服务端编程,net基本是绕不开的一个模块. 从组成来看,net模块主要包含两部分,了解socket编程的同学应该比较熟悉了: net.Server:TCP server,内部通过socket来实现与客户端的通信. net.Socket:tcp/本地 socket的

Android 复制文本内容到系统剪贴板的最简单实例(分享)

这个例子很简单,直接上截图和代码. 布局文件activity_copy.xml代码如下: <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" android:layout_width="match_parent" android:layou