一、Aplications(应用层)
应用是用Java语言编写的云新在虚拟机上的程序。
二、Application Framework(应用框架层)
这一层是编写Google发布的核心应用时所使用的API框架,开发人员可以使用这些框架来开发自己的应用。
View System:可以用来构建应用程序,它包括列表、网格、文本框、按钮以及可嵌入的Web浏览器。
Content Providers:它可以让一个应用访问另一个应用的数据,或共享它们自己的数据。
Resource Manager:提供非代码资源的访问,如本地字符串、图形和布局文件。
Notification Manager:应用可以在状态栏中显示自定义的提示信息。
Activity Manager:用来管理应用程序生命周期并提供常用的导航退回功能。
Window Manager:管理所有的窗口程序。
Package Manager:Android系统内的程序管理。
三、Libraries、Android Runtime(系统运行库层)
当使用Android应用框架时,Android系统会通过一些C/C++库赖支持我们使用的各个组件,使其能更好地为我们服务。
Bionic系统C库:C语言标准库,系统最底层的的库,C库通过Linux系统来调用。
多媒体库(MediaFramework):Android系统多媒体库,基于PackerVideo OpenCORE,该库支持多种常见格式的音频、视频的回放和录制,以及图片,比如MPEG4、MP3、AAC、AMR、JPG、PNG等。
SGL:2D图形引擎库。
SSL:位于TCP/IP协议与各种应用层协议之间,为数据通信提供支持。
OpenGL ES 1.0:3D效果的支持。
SQLite:关系数据库。
Webkit:Web浏览器引擎。
FreeType:位图(bitmap)及矢量(vector)。
在Android操作系统中,每个Java程序都运行在Dalvik虚拟机上,其只能执行.dex的可执行文件,当Java程序通过编译后,最后还需要通过SDK中的dx工具转为成.dex格式才能正常在虚拟机上执行,Java虚拟机运行的是Java字节码,而Dalvik虚拟机运行的则是其专有的文件格式dex(Dalvik Exceutable)的文件。
Dalvik虚拟机有如下几个主要特征:
1.专有的dex文件格式。
2.dex的优化,dex文件的结构是紧凑的。
3.基于寄存器。
4.一个应用,一个虚拟机实例,一个进程。每一个Android应用度运行在一个Dalvik虚拟机实例中,每一个虚拟机实例都是一个独立的进程空间。
四、Linux Kernel(Linux内核层)
显示驱动(Display Driver):基于Linux的帧缓冲(Frame Buffer)驱动。
键盘驱动(KeyBoard Driver):作为输入设备的键盘驱动。
Flash内存驱动(Flase Memory Driver):基于MTD的Flash驱动程序。
照相机驱动(Camera Driver):常用的基于Linux的v412(Video for Linux)的驱动。
音频驱动(Audio Driver):常用的基于ALSA的高级Linux声音体系驱动。
蓝牙驱动(Bluetooth Driver):基于IEEE 802.15.1标准的无线传输技术。
WiFi驱动:基于IEEE 802.11标准的驱动程序。
Binder IPC驱动:Android的一个特殊的驱动程序,具有单独的设备节点,提供进程间通信的功能。
Power Management(电源管理):比如电池电量等。
五、Android应用程序框架
android.app:提供高层的程序模型和基本的运行环境。
android.content:包含对各种设备上的数据进行访问和发布。
android.database:通过内容提供者浏览和操作数据库。
android.graphics:底层的图形库,包含画布i、颜色过滤、点、矩形,可以将它们直接绘制到屏幕上。
android.location:定位和相关服务的类。
android.media:提供一些类管理多种音频、视频的媒体接口。
android.net:提供帮助网络访问的类,超过通常的java.net.*接口。
android.os:提供了系统服务、消息传输和IPC机制。
android.opengl:提供OpenGL的工具。
android.provider:提供访问Android内容提供者的类。
android.telephony:提供与拨打电话相关的API交互。
android.view:提供基础的用户界面接口框架。
android.util:涉及工具性的方法,例如时间日期的操作。
android.webkit:默认浏览器操作接口。
android.widget:包含各种UI元素在应用程序的布局中使用。
相关推荐
### Android入门到精通详解知识点概览 #### 第一篇:Android系统结构和SDK使用 ##### 第1章:Android的系统介绍 - **系统介绍**:Android是Google开发的一款基于Linux平台的开源操作系统,专为移动设备设计。它...
这份名为“Android入门到精通详解 (带目录)”的资料全面涵盖了Android开发的基础到高级技术,旨在帮助初学者逐步建立起扎实的技术体系。 首先,从入门阶段开始,你将学习到Android开发环境的搭建,包括安装Java ...
【Android入门Demo源码详解】 Android作为全球最受欢迎的移动操作系统之一,是许多开发者入门编程的首选平台。这个“Android入门demo源码”是专为初学者设计的学习资源,旨在通过实际操作来帮助理解Android开发的...
Android入门是进入移动应用开发领域的第一步,主要针对的是对Android操作系统和编程有一定兴趣,但尚未具备相关知识的初学者。Android是由Google主导开发的开源移动操作系统,广泛应用于智能手机、平板电脑以及智能...
《Android入门学习资料详解》 Android作为全球最受欢迎的智能手机操作系统之一,吸引着众多开发者投入其怀抱。本套学习资料旨在帮助初学者快速掌握Android开发的基本技能,内容涵盖Android开发中文文档以及一系列由...
在“0基础Android入门项目”中,初学者可以学习到Android开发的基本概念和技术,这个项目涵盖了几个关键的Android组件和视图。以下是该项目涉及的主要知识点: 1. **登录功能**:登录界面是许多应用程序的基础部分...
【Android入门小Demo】是一个适合初学者的项目,旨在教授Android应用开发的基础知识。这个小Demo专注于实现一个简单的判断题目功能,用户可以在此应用中回答是或否的问题,系统会根据用户选择判断答案的正误。这个...
Xamarin.Android入门文档是面向开发者的一份指南,旨在引导开发者如何开始使用Xamarin.Android进行应用开发。Xamarin.Android是微软公司提供的一个跨平台解决方案的一部分,允许开发者使用C#语言编写原生Android应用...
"Android入门精通示例源码"是一个非常适合初学者及进阶者的学习资源,它包含了从基础到高级的各种示例,帮助开发者逐步熟悉并掌握Android应用程序开发的核心技能。 首先,我们要了解Android的基本架构。Android系统...
《Android入门到精通》这本书是为想要学习和掌握Android应用开发的初学者量身打造的指南。Android作为全球最流行的移动操作系统,拥有庞大的用户群体,为开发者提供了广阔的应用市场和无限的创新空间。本书旨在帮助...
在Android入门学习中,贪吃蛇小游戏是一个经典的实践项目,它可以帮助初学者理解Android应用的基本架构、用户界面设计以及事件处理等核心概念。本框架旨在为Android新手提供一个清晰的学习路径,通过实现贪吃蛇游戏...
android入门学习.ppt,对于新手学习android入门有很大的帮助
"Android入门快速入门第一天"这个主题旨在帮助新接触Android开发的朋友们迅速建立起对这个平台的理解和实践能力。在这个阶段,我们将涵盖以下几个核心知识点: 1. **Android系统概述**:Android是由Google主导的...
在Android开发领域,入门是每个新手开发者必经的阶段。这份"android 入门书籍"压缩包包含了丰富的学习资源,适合那些对Android编程感兴趣并希望踏入这个领域的初学者。下面,我们将深入探讨这些书籍可能涵盖的关键...
【Android入门PPT大全】是一套专为初学者设计的教育资源,旨在帮助新手快速掌握Android应用开发的基础知识。这套PPT教程涵盖了从Android系统的基本架构到应用程序开发的各个环节,是学习Android开发的理想起点。 ...
以下是对"Android入门到精通知识总结.pdf"中提及的一些重要概念的详细说明: ### 1. **Activity的生命周期** Activity是Android应用中的核心组件,它代表了用户界面的一个屏幕。Activity有七个主要状态,包括`...
Android入门中文文档是一份专为初学者设计的指南,旨在帮助新接触Android开发的朋友们快速理解和掌握这个全球最大的智能手机操作系统的基础知识。这份文档通常包含了从安装开发环境到编写第一个应用程序的所有步骤,...
通过这个完整的Android入门Demo,开发者不仅可以学习到基础控件的使用,还能理解服务和广播的机制,掌握Android应用开发的核心概念。实践中不断练习,将有助于提升Android编程技能,为成为专业开发者奠定坚实基础。