手机安卓Android系统概述

上传人:油条 文档编号:56801157 上传时间:2018-10-15 格式:PPT 页数:45 大小:4.84MB
返回 下载 相关 举报
手机安卓Android系统概述_第1页
第1页 / 共45页
手机安卓Android系统概述_第2页
第2页 / 共45页
手机安卓Android系统概述_第3页
第3页 / 共45页
手机安卓Android系统概述_第4页
第4页 / 共45页
手机安卓Android系统概述_第5页
第5页 / 共45页
点击查看更多>>
资源描述

《手机安卓Android系统概述》由会员分享,可在线阅读,更多相关《手机安卓Android系统概述(45页珍藏版)》请在金锄头文库上搜索。

1、Android,Welcome everybody!陈 逢,Agenda,Android简介 系统框架介绍 系统启动分析 APP开发平台搭建 Emulator 演示,Agenda,Android简介 系统框架介绍 系统启动分析 APP开发平台搭建 Emulator 演示,引入,Android印象(一):海信之Android,引入,Android印象(二),引入,Android印象(三) 美国旧金山时间2010年5月19日上午10点30分,万众瞩目的Google I/O大会正式开幕, Google TV 亮相,Android概念,What ? 机器人?,Android一词的本义指“机器人”,同时

2、也是Google于2007年11月5日宣布的基于Linux平台的开源手机操作系统的名称,该平台由操作系统、中间件、用户界面和应用软件组成,号称是首个为移动终端(电视?)打造的真正开放和完整的移动软件。 它采用了软件堆层(software stack,又名软件叠层)的架构,主要分为三部分:底层以Linux核心为基础,由c语言开发,只提供基本功能。中间层包括函数库Library和虚拟机Virtual Machine,由C+开发。最上层是各种应用软件,包括通话程序,短信程序等,应用软件则由各公司自行开发,以java编写。,Android 特点,特性 应用程序框架 支持组件的复用和更换 Dalvik

3、虚拟机 专门为移动设备进行过优化 集成的浏览器 基于开源的 WebKit 引擎 ,TV上会内置Chrome浏览器 优化的图形机制 自定义的2D图形库,基于OpenGL ES 1.0规范的3D图形实现(本项为硬件加速器可选) SQLite 轻量级的数据库,支持结构化数据的存储 媒体支持 面向常见的音频、视频以及静态图形档案格式 (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF) GSM 技术 GSM:global system for mobile communications (依赖硬件支持) Bluetooth, EDGE, 3G, and WiFi (

4、依赖硬件支持) Camera, GPS, compass, and accelerometer (依赖硬件支持) Rich development environment 丰富的开发环境,包含一套硬件仿真器,一些用于程序调试、内存和性能剖析的工具,以及支持Eclipse集成开发环境的插件(ADT )。,Agenda,Android简介 系统框架介绍 系统启动分析 APP开发平台搭建 Emulator 演示,Framework,文件呈现形式,各个层的呈现形式,Zygote是Linux依据init.rc产生的第一个Process,Framework -Application,Application

5、s (应用) Android将预装一组核心应用程序,包括email客户端、短信服务、日历日程、地图服务、浏览器、联系人和其他应用程序。所有应用程序都是Java编程语言编写的。,Framework - Application Frameworks(一),Application Frameworks (应用框架) 上文所提的核心应用程序就是依赖框架层次API开发的,程序员们当然也可以充分使用这些API。应用架构设计的初衷是:简化组件复用机制;任何应用都能发布自己的功能,这些功能又可以被任何其他应用使用(当然要受来自框架的强制安全规范的约束)。和复用机制相同,框架允许组件的更换。 所有应用都是一组服

6、务和系统,一般包含: 一套丰富且可扩展的视图 组件,含有lists, grids, text boxes, buttons, 甚至嵌入的网络浏览器 Content Providers (内容提供器) 使一个应用可以访问另外一个应用的数据(如联系人),或者使一个应用内部可以共享自身数据 Resource Manager (资源管理器),提供对非编码资源例如本地化字符串、图形和布局文件的访问通道 Notification Manager (通告管理器),使应用在状态栏显示自定义的警报通知。 Activity Manager (行动管理器)负责管理应用的生命周期,提供通用导航回退支持 *MVC(Mo

7、udle-View-Control),Framework - Application Frameworks(二),应用框架是某特定应用领域(Domain)中,程式间的共同结构。让该领域中的程式师们,依共同结构开发程序,使程序间具有一致性,增加程序的清晰,以低程序的设计与维护费用。所谓共同结构,包括通用的类别、物件、函数,及其间的稳定关系。由于框架是通用的,大家能共享(Share) 之,增加工作效,提升软体师的生产( Productivity)。拿个简单子说吧以下两图,抽象下?,Framework - Application Frameworks(三),抽象从相似的事物中,抽离出其共同点,得到抽

8、象框架。 衍生以抽象框架为基础,添加些功能,成为具体事物。,一群抽象类别,类别内有函数,函数内有指,但有些函数内的指令 从缺,预给应用程式师补充之。抽象类别间之稳定关系。,public myFunction() int x = abs( y ); abs()是您已很熟悉的库存函数,它诞生在先,是前辈;您的程序(晚辈)诞 生在后,是晚辈。这是传统呼叫法:晚辈呼叫前辈。一般类别库(Class Library)含 有现成的类别,这些类别含有函数,可供新类别的函数呼叫之。如,先有个 Person 父类别如下: public class Person private String name; publi

9、c void SetName(String na) name = na; public void Display() System.out.println(“Name: “ + name ); 接着,您可以写个子类别Customer 去继承它,并且调用它的函数,如下: public class Customer extends Person public void Init() super.SetName(“Tom”); public void Show() super.Display(); 上述的Init()呼叫晚辈SetName()函数。或者,写个JMain 类别: public clas

10、s JMain private p; public void Init() p = new Customer();p.SetName(“Tom”); public void Show() p.Display(); ,/ Shape.java package _framework; public class Shape public void Paint() this.Draw(); public abstract void Draw(); / Circle.java package _objects; import java.awt.Color; import java.awt.Graphic

11、s; import _framework.*; public class Circle extends Shape private Graphics m_gr; private int x, y, radius; public Circle(Graphics gr) m_gr = gr; public void SetValue(int x0, int y0, int rad) x = x0; y = y0; radius = rad; public void Draw() /畫圓 m_gr.setColor(Color.BLACK); m_gr.drawOval(x-radius, y-ra

12、dius, 2*radius, 2*radius); ,/ JMain.java import *.*;/导入包 class JP extends JPanel public void paintComponent(Graphics gr) super.paintComponents(gr); Circle cir = new Circle(gr); cir.SetValue(160, 100, 45); Shape sp = cir; sp.Paint(); public class JMain extends JFrame public JMain() setTitle(“); setSi

13、ze(400, 300); public static void main(String args) JMain frm = new JMain(); JP panel = new JP(); frm.add(panel); frm.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); frm.setVisible(true); ,Framework - Libraries,Libraries (库) Android包含一套C/C+库,Android系统的各式组件都在使用。这些功能通过Android应用框架暴露给开发人员。下面列举一些核心库: Syst

14、em C library - 衍生于BSD的标准C系统库(libc)实现(注:BSD:Berkeley Software Distribution,伯克利软件套件,是Unix的衍生系统,1970年代由伯克利加州大学开创),尤其支持嵌入式的基于Linux的设备。 Media Libraries - 媒体库基于PacketVideos OpenCORE;媒体库支持很多流行音频和视频格式、静态图形文件(包括MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG )的播放和录制 Surface Manager - 管理范围:对子系统显示功能的访问,跨应用的无缝组合2D和2D

15、图形层 LibWebCore - 是流行的浏览器引擎,可以支持Android浏览器和嵌入应用的WEB视图组件 SGL - 底层的2D图形引擎 3D libraries - 该类库使用硬件3D加速器(如果硬件支持的话)或者内置的、高度优化的3D软件加速机制。 FreeType - 支持位图和矢量字体 SQLite - 能干、轻量级的关系型数据库引擎,面向所有应用,Framework - Android Runtime,Android Runtime (Android运行时) Android的核心类库提供Java类库所提供的绝大部分功能。 每个Android应用都运行在自己的进程上,享有Dalvik虚拟机为它分配的专有实例。为了支持多个虚拟机在同一个设备上高效运行,Dalvik被改写过。与Java虚拟机 Dalvik虚拟机执行的是Dalvik格式的可执行文件(.dex)该格式经过优化,以降低内存耗用到最低。Java编译器将Java源文件转为class文件,class文件又被内置的dx工具转化为dex格式文件,这种文件在Dalvik虚拟机上注册并运行。 在一些底层功能比如线程和低内存管理方面,Dalvik虚拟机是依赖Linux内核的。,

展开阅读全文
相关资源
相关搜索

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

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