Android 移动平台概述

摘要:
)2》 2008922T-MOBILE发布了第一款基于Android的手机G1,支持WCDMA/HSPA网络。下载7.3》Android将是谷歌公司战略的重要组成部分,实现“随时随地为每个人提供信息”。4》 2009年5月17日,中国移动与联想联合生产的首款手机OMSOPHONE开始体验。2Android平台提供的功能1˃应用程序架构:它提供了各种不同的基本软件元素,这有助于其他程序的开发并节省时间和精力。10》 Android SDK提供了一个完整的程序开发环境:模拟器、调试桥、程序使用的内存和性能评估功能。

1 Android平台简介

2 Android平台所提供的功能

3 Android框架简介

4 Android SDK  简介:包括一系列ANDROID应用开发工具和文档,包括调试器,库文件集,手机设备模拟器,文档,范例和开发指导。

5 Android平台和其它平台的比较

----------------------------------------------

1 Android平台简介

    1》2007 11 5 GOOGLE 发布其与LINUX平台的开源移动平台操作系统--Android(此平台有操作系统,中间件,用户界面,应用软件所组成。)

    2》2008 9 22  T-MOBILE 发布第一款基于Android的手机,G1,支持WCDMA/HSPA网络,下载7。2M/S,支持WIFI无线网络。

    3》Android 将作为GOOGLE的企业战略的重要组成部分,实现“随时随地为每个人提供信息”。

    4》2009 5 17 中国移动和联想合作的首款手机 OMS(中国移动通过Android平台演变的一种适合中国手机用户的智能操作系统) OPHONE手机开始手用体验。  OMS 采用LINUX内核,通过大唐移动的3G芯片以MODEM AP方式桥接,使得Android系操兼容了中国移动的TD 网络。

2 Android平台所提供的功能

    1》应用程序架构:已提供多种不同的基础软件元素,为开发其它程序程序提供方便,节省时间精力。

    2》DALVIK虑拟机:GOOGLE专为手机而开发的节省资料,高效率的多任力的虑拟机,运行手机程序。

    3》Android 浏览器:是GOOGLE以WEBKIT的浏览引擎为基础开发的,局部缩放,触摸屏,

    4》Android 绘图:支持2D(SGL),3D(OPENGL ES)绘图函数库。

    5》SQLITE数据库:是一种开放性的源代码关系数据库。

    6》多媒体支持:支持多种不同的媒体格式。

    7》GSM驱动模块:Android专门提供了GSM驱动模块。

    8》提供了无线网络:BLUETOOTH,EDGE,3G,WI-FI。

    9》相机,GPS,电子指南针,加速感觉器功能。

    10》Android SDK 提供了完善的程序开发环境:模拟器emulator,调查试工具debug bridge,程序所用内存,性能方面的评估功能。ECLIPSE IDE ADK

 

 3 Android框架简介

    Android 移动平台概述第1张  Android 移动平台概述第2张

    1》Applications(应用程序层)

         提供了现成的常用的应用程序包:EMAIL客户端,SMS短消息程序,日历,地图,浏览器,联系人管理程序,这些是JAVA语言编写的。

    2》Applications FRAMEWORK(应用程序框架层):开发人员可以完全访问,调用的API 函数库。包括10个服务和系统:

          1> Activity Manager:活動管理員,用来管理应用程序生命周期,并提供常用的导航,回退功能。例如:開啟應用程式要用到的資源準備及關閉應用程式時,

               釋放出記憶體及相關資源等工作。

          2> Windwos Manager:視窗管理員.用來管理所有開啟的視窗程式。

          3> Content Providers:内容提供器,使得一个应用程序可以访问一个的数据(联系人数据库),或者共享它们自己的数据。可以用來讓應用程式可以存取

               或分享資料給其它應用程式。

          4> View System:建構程式原件,丰富可扩展的视图来构建应用程序:列表(LISTS),网格(GRIDS),文本框(TEXTBOXES),按钮(BUTTON)。

               甚至是嵌入 式的瀏覽器

          5> Notivication Manager:使得应用程序可以在状态栏显示自定义提示消息(Status Bar)。

          6> Package Manager:管理所有安裝在Android系統內的程式

          7> Telephony Manager:用來管理有關使用者撥打與接收電話的相關功能

          8> Resourse Manager:提供非代码的资源的访问,如本地字符串,图形,布局文件。

          9> Location Manager:用來管理地圖服務的相關功能.

          10> XMPP Service(可扩展消息传递和到场协议)

    3》Android 运行库

          3.1>  Libraries(函式庫)
                  1> Surface Manager:是用户空间中framework下libraries中负责显示相关的一个模块当系统同时执行多个应用程序时,Surface Manager会负责管

                    理显示与存取操作间的互动,另外也负责将2D绘图与3D绘图进行显示上的合成。

                     surface manager 可以准备一块 surface(可以看作一个layer),把 surface 的 fd (一块内存) 传给一个 app,让 app 可以在上面作画。

                     典型应用如下:

                    Android 移动平台概述第3张
                 Android 移动平台概述第4张

                  Surface manager架构分析

                     Android中的图形系统采用Client/Server架构,如下:

                     Client:应用程序相关部分。代码分为两部分,一部分是由Java提供的供应用使用的api,另一部分则是由c++写成的底层实现。

                    Server:即SurfaceFlinger,负责合成并送入buffer显示。其主要由c++代码编写而成。

                    Client和Server之前通过Binder的IPC方式进行通信,总体结构图如下:

                    如上图所示,Surface的client部分其实是提供给各应用程序进行画图操作的一个桥梁,该桥梁通过binder通向server端的Surfaceflinger

                  , Surfaceflinger负责合成各个surface,然后把buffer传送到framebuffer端进行底层显示。其中每个surface对应2个buffer,一个front

                        buffer, 一个back buffer,更新时,数据更新在back buffer上,需要显示时,则将back buffer和front buffer互换。

                  2> Media Framework:支持音频,视频,图象。

                  3> SQlite:轻量极数据库。

                  4> OpenGL ES: 3d

                  5> Free Type:位图和失量字体显示。

                  6> WebKit: WEB浏览器引器。

                  7> SGL: 2d

                  8> SSL:

                  9> libc:系统C函数,专门为基于岖入式LINUX设备所定制的。

          3.2>  Android RunnTime

                   1> Core Libraries:   核心库提供了JAVA编程语言核心库的大多数功能.       

                   2> Dalvik virtual machine:提供給行動裝置一個最佳化過的Java虛擬機器,每一个Android应用程序都在它自己的进程中运行,都拥有一个独立

                        的Dalvik虚拟机实例。Dalvik被设计成一个设备可以同时高效地运行多个虚拟系统。 Dalvik虚拟机执行(.dex)的Dalvik可执行文件,该格式文件

                        针对小内存使用做了优化。同时虚拟机是基于寄存器的,所有的类都经由JAVA编译器编译,然后通过SDK中 的 "dx" 工具转化成.dex格式由虚

                        拟机执行。

                     Dalvik虚拟机核心系统服务依赖于 Linux 2.6 内核,如安全性,内存管理,进程管理, 网络协议栈和驱动模型。 Linux 内核也同时作为硬件和

                         软件栈之间的抽象层

   4 Linux Kernel

免责声明:文章转载自《Android 移动平台概述》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇Oracle日期时间加减法运算vue2.0项目引入element-ui下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

Android 目前最稳定和高效的UI适配方案

Android系统发布十多年以来,关于Android的UI的适配一直是开发环节中最重要的问题,但是我看到还是有很多小伙伴对Android适配方案不了解。刚好,近期准备对糗事百科Android客户端设计一套UI尺寸适配方案,可以和小伙伴们详细的聊一聊这个问题。 Android适配最核心的问题有两个,其一,就是适配的效率,即把设计图转化为App界面的过程是...

安卓中的线程

 1. Android进程    在了解Android线程之前得先了解一下Android的进程。当一个程序第一次启动的时候,Android会启动一个LINUX进程和一个主线程。默认的情况下,所有该程序的组件都将在该进程和线程中运行。同时,Android会为每个应用程序分配一个单独的LINUX用户。Android会尽量保留一个正在运行进程,只在内存资源出现...

Android开发笔记(十六)——Activity的4种启动模式

AndroidManifest 中比较重要的一个属性是 launchMode 启动模式: Acyivity的 android:launchMode 四个属性: standard:标准模式,默认 singleTop:Task栈顶复用模式(栈是先进后出,当我们启动一个Activity,如果这个目标Activity位于栈顶,不会创建一个新的实例,而是会直接...

Android 开发环境搭建

JDK配置 安装完成之后: 我的电脑——右键属性——高级系统设置——环境变量——系统变量新建——变量名JAVA_HOME   变量值为所安装JDK的根文件夹,如F:Javajdk1.7.0_60——确定 系统变量PATH——编辑——末尾加上; %JAVA_HOME%in;%JAVA_HOME%jrein;——确定 确认: 控制台java –versio...

android adb常用指令

Android 调试桥(adb)是多种用途的工具,该工具可以帮助你你管理设备或模拟器的状态。 可以通过下列几种方法加入adb: 在设备上运行shell命令 通过端口转发来管理模拟器或设备 从模拟器或设备上拷贝来或拷贝走文件 下面对adb进行了介绍并描述了常见的使用. Contents 概要 发出adb命令 查询模拟器/设备实例 给特定的模拟器/设备...

彻底搞定Android开发中软键盘的常见问题

软键盘显示的原理 软件盘的本质是什么?软键盘其实是一个Dialog。 InputMethodService为我们的输入法创建了一个Dialog,并且将该Dialog的Window的某些参数(如Gravity)进行了设置,使之能够在底部或者全屏显示。当我们点击输入框时,系统对活动主窗口进行调整,从而为输入法腾出相应的空间,然后将该Dialog显示在底部,或...