深入理解android

上传人:艾力 文档编号:30721189 上传时间:2018-01-31 格式:PPT 页数:24 大小:2.36MB
返回 下载 相关 举报
深入理解android_第1页
第1页 / 共24页
深入理解android_第2页
第2页 / 共24页
深入理解android_第3页
第3页 / 共24页
深入理解android_第4页
第4页 / 共24页
深入理解android_第5页
第5页 / 共24页
点击查看更多>>
资源描述

《深入理解android》由会员分享,可在线阅读,更多相关《深入理解android(24页珍藏版)》请在金锄头文库上搜索。

1、第1讲,深入理解Android,纲要,分享故事什么是Android(安卓)Android系统架构()Android系统的初始化过程 Android开发方式小结,分享故事,从前,有两个饥饿的人得到了一位长者的恩赐:一根鱼竿和一篓鲜活硕大的鱼。其中,一个人要了一篓鱼,另一个人要了一根鱼竿,于是他们分道扬镳了。得到鱼的人原地就用干柴搭起篝火煮起了鱼,他狼吞虎咽,还没有品出鲜鱼的肉香,转瞬间,连鱼带汤就被他吃了个精光,不久,他便饿死在空空的鱼篓旁。另一个人则提着鱼竿继续忍饥挨饿,一步步艰难地向海边走去,可当他已经看到不远处那片蔚蓝色的海洋时,他浑身的最后一点力气也使完了,他也只能眼巴巴地带着无尽的遗憾

2、撒手人间。!又有两个饥饿的人,他们同样得到了长者恩赐的一根鱼竿和一篓鱼。只是他们并没有各奔东西,而是商定共同去找寻大海,他俩每次只煮一条鱼,他们经过遥远的跋涉,来到了海边,从此,两人开始了捕鱼为生的日子,几年后,他们盖起了房子,有了各自的家庭、子女,有了自己建造的渔船,过上了幸福安康的生活 启示:一个人只顾眼前的利益,得到的终将是短暂的欢愉;一个人目标高远,但也要面对现实的生活。只有把理想和现实有机结合起来,才有可能成为一个成功之人。有时候,一个简单的道理,却足以给人意味深长的生命启示。,1、什么是Android,单词的直译 Android:机器人Android是现在十分热门的一个手机操作系统

3、,是Google于2007年11月5日宣布的基于Linux平台开发的开源手机操作系统 ,号称是首个为移动终端打造的真正开放和完整的移动软件。 android手机:搭载android系统的智能手机。,1、什么是Android,智能手机软件平台有: Symbian, Windows Mobile, RIM BlackBerry, Android, iPhone, Palm, Brew, Java/J2ME。,2、Android平台架构及特性,Android系统在底层建立在Linux系统之上,该平台由操作系统、中间件、用户界面和应用软件四层组成。,2、Android平台架构及特性,应用程序层Andr

4、oid的应用程序通常涉及用户界面和用户交互,这类程序是用户实实在在能感觉得到的。Android的应用程序目前以Java程序进行编写。Android本身提供了桌面 ,联系人,电话,浏览器等众多核心应用。开发者还可以使用应用程序框架层的API实现自己的程序,2、Android平台架构及特性,应用程序框架 开发人员可以利用这套应用框架,开发出很好的应用程序。应用框架主要部分: 1.Views(UI组件) 2.Content Providers 3.Resource Manager 4.Notification Manager 5.Activiy Manager,2、Android平台架构及特性,函数

5、库C库:系统最底层的库,C库是用linux的系统来调用多媒体框架(MediaFrameword):android多媒体核心部分,基于PacketVideo的openCode,从功能上分为2部分:音频和视频的回放(playback)、音频和视频的记录(Recoder)SGL:2D图像引擎 OpenGL:3D的支持SSL:安全协议界面管理工具(sm):管理显示子系统WebKit:网络浏览器核心SQLite: 通用嵌入式关系型数据库FreeType:位图和矢量字体,2、Android平台架构及特性,Linux 内核 Android 的核心系统服务依赖于 Linux 2.6 内核,如安全性,内存管理,

6、进程管理, 网络协议栈和驱动模型。 Linux 内核也同时作为硬件和软件栈之间的抽象层。,2、Android平台架构及特性,3、Android系统的初始化过程,Android系统本身非常强大,在深入分析每个模块的具体功能之前,有必要对其启动过程进行分析。1、首先会启动Linux基础系统,然后引导加载Linux Kernel并启动初始化进程(Init),如图所示: 图1-1启动Init进程,3、Android系统的初始化过程,2、接着启动Linux守护进程(daemons)。 图1-2启动Linux守护进程,3、Android系统的初始化过程,3、在启动Linux守护进程的同时还需要启动Zygo

7、te进程,如下图所示:4、再接着,需要初始化runtime进程,过程如下图所示。 1-3 初始化runtime进程,3、Android系统的初始化过程,5、runtime进程初始化后,将发送一个请求到Zygote,开始启动系统服务。这时Zygote将为系统服务进程建立一个虚拟机实例,并启动系统服务,如图1-4所示。 图1-4启动系统服务,3、Android系统的初始化过程,6、系统服务将启动原生系统服务,主要包括Surface Flinger和Audio Flinger。这服务将注册到服务管理器(Service Manager)作为IPC服务目标,如图1-6所示。 图1-5启动本地服务并注册,

8、3、Android系统的初始化过程,7、系统服务将启动Android管理服务,Android管理服务将都被注册到服务管理器上,如图1-6所示。 图1-6 启动并注册Android服务,3、Android系统的初始化过程,8、当系统加载完所有的服务之后会处于等待状态,但是,每一个应用程序都将启动一个单独的进程。这时,系统将启动一个Home进程和一个Contacts进程,各个进程通过IPC机制进行交互。 在这里,整个启动过程就结束了,可以在上面运行应用程序了。,4、 Android开发方式,Android系统开发(移植) Android系统的开发属于底层的的开发工作,主要针对Android系统本身

9、进行完善和将其移植到其他的硬件平台,因此需要掌握Android系统架构中的Linux内核层和系统运行库层。 Android 系统开发主要涉及Libraries和Android Runtime这两部分,一般就是在本地编写C/C+。 Android 系统移植则主要涉及硬件抽象层和Linux内核层,移植主要工作是将驱动移植到不同的硬件上,使其能够完美地运行Android 系统。,4、 Android开发方式,在Android系统需要移植的内容主要包括以下各个部分:显示部分(Display):包括framebuffer驱动+Gralloc模块用户输入部分(Input):包括Event驱动+EventH

10、ub多媒体编解码(Codec):包括Codec驱动+ Codec插件音频部分(Audio):包括Audio驱动+ Audio硬件抽象层视频输出部分(Vedio Out):包括视频显示驱动+Overlay硬件抽象层摄像头部分(Camera):包括Camera+ Camera硬件抽象层全球定位系统(GPS):包括GPS+ GPS硬件抽象层无线(WIFI):Wlan驱动和协议+WIFI的适配层蓝牙部分(Blue Tooth):BT驱动和协议+BT的适配层传感器部分(Sensor): Sensor驱动+ Sensor硬件抽象层震动器部分(Vibrator): Vibrator驱动+ Vibrator硬

11、件抽象层电池部分(Battery):Power Supply驱动+电池的硬件抽象层,4、 Android开发方式,Android系统的移植可以分为以下几个类型:基本图形用户界面(GUI)部分,包括显示及用户输入部分;和硬件相关的加速部分,包括媒体编解码和OpenGL;音视频输入输出环节,包括音频、视频和摄像头部分连接部分,包括无线WIFI,BlueTooth,GPS;附属部件:包括传感器、背光、振动等。,4、 Android开发方式,Android应用开发 Android应用开发主要是根据Android系统所提供的API来完成各种应用程序的编写。所使用的API属于Android的应用框架层。 应用开发属于上层开发,不需要接触底层的C/C+代码,所以开发前,我们只需要准备Android SDK和模拟器(你可能也需要使用IDE,推荐使用Eclipse)。,小结,了解Android概念及发展掌握Android的架构掌握应用程序启动的过程了解Android的开发方式,

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 行业资料 > 其它行业文档

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号