当前位置: 代码迷 >> Android >> Android - 概述
  详细解决方案

Android - 概述

热度:316   发布时间:2016-05-01 18:14:20.0
Android ---- 概述

Android ---- 概述
2011年08月28日
  [b]2011-08-28
  第1章   Android概述
  [b][b]1.1 Android来了
      Google在2007年11月推出Android操作系统开放平台并宣布成立“开放手机联盟OHA”(Open Handset Alliance),这个联盟组织支持Google公司所推动的Android手机操作系统和相关的应用软件。这个联盟包括手机开发制造商、手机芯片厂商、电信公司、应用软件开发公司。
      Android 操作系统除了用来开发手机外,也可以开发其他嵌入式系统(Embedded System)。2009年3月24日,日本数家公司发起成立了一般社团法人“开放嵌入式软件基金会OESF”(Open Embedded Software Foundation),主要针对其他嵌入式系统所需软件增加和修订新的车载设备、医疗设备、数字生活设备的厂商都可以采用Android操作系统来设计,比如提供IP PhoneExtension(SIP/RTP stack)。
  [b][b][b]1.2 Android操作系统结构
      Android操作系统平台是以Linux操作系统为基础,扩充Android运行时环境(Android Runtime)和应用程序开发平台(Application Platform)。
  Android操作系统包括有:    1.  应用程序层(Application)。包括各种应用程序。[b]    2. 应用程序开发平台(Application Platform)。提供手机最基本的API。[b]    3. Android运行时环境(Runtime)和各类连接库(Libraries)。[b]    4. Linux操作系统核心(OS Kernel)和各类驱动程序(Deivers)。提供操作系统最核心最基础的功能。
      4. Linux Kernel包括:DisplayDriver(显示器驱动程序)、CameraDriver(照相机驱动程序)、FalshMemoryDriver(闪存驱动程序)、Binder(IPC)Driver(进程管理程序)、KeypadDriver(键盘驱动程序)、WIFIDriver(WiFi驱动程序)、AudioDriver(音频驱动程序)、PowerManagement(电源管理程序)。[b]    3. Libraries主要由C/C++编写,包括:OpenGL|ES(3D/2D图像处理)、SQLite(数据库)、WebKit(浏览器内核)、SurfaceManager、MediaFramework(媒体框架)、FreeType、SGL、SSL、libc。[b]    3. Android Runtime包括:核心包(Core Libraries)、 Android手机的虚拟机(DalvikVirtualMachine)。[b]    2. Application Framework 包括:ActivityManager、WindowManager、ContentProviders、ViewSystem、PackageManager、TelephonyManager、ResourceManager、LocationManager、NotificationManager。
  [b][b][b]1.2.1 Android应用程序 ---- Applications

      Android应用程序采用Java语言编写,是用户和设备的人机接口,提供用户可以操作各种各样的应用功能。    目前Android操作系统本身已提供基本桌面(Home)、电话薄(Contact)、数字电话(Phone)、网页浏览器(Browser)等核心应用程序。开发人员采用Android开发平台所开发出来的应用程序也放置在这一层。
  [b][b][b]1.2.2 Android应用程序开发平台 ---- Application Platform

      程序开发人员可以使用Android应用程序开发平台提供的API来开发自己设计规划的应用程序。    利用这一层建立活动程序(Activities)和服务程序(Services),这些程序可以在Android操作平台上执行。每一个应用程序都是由数个活动程序和服务程序组成的,每一个活动程序管理自己的显示窗体。
      Android操作系统以一个主线程为基础来执行Android相关的组件。这些重要组件有:活动程序(Activities)、服务程序(Services)、广播接收器(Broadcast Receivers)、内容提供器(Content Providers)。[b]    Android应用程序是以Java语言来编写的,而在虚拟机器(VM:Virtual Machine)内执行。Android操作系统并不是采用JVM,而是采用开发资源 Dalvik Virtual Machine 虚拟系统。Android应用程序是由常驻在Linux内核的 Dalvik Virtual Machine 虚拟系统来负责执行的。
  Android应用程序开发平台的组件说明如下:[b]    1.活动程序管理器(Activity Manager):管理活动程序的生命周期(Lifecycle)开始→执行→结束,提供一般性运行中程序的存储堆栈(Stack)。[b]    2.视图系统(View System):提供丰富和具有扩展性的显示接口,构造活动程序的显示窗体,这些人机接口组件包括 列表(Lists)、网格(Grids)、文本框(Text Voxes)、按钮(Buttons)、嵌入式的网页浏览器(Browser)。[b]    3.内容提供器(Content Providers):管理和允许活动程序可以获取其他活动程序的数据内容,或大家共享的相关信息内容。[b]    4.资源管理器(Resource Manager):管理获取非程序代码的资源,非程序代码的资源是指本地的图像资源、涉及布局的XML文件。[b]    5.通知管理器(Notification Manager):管理应用程序将通知信息显示在状态区上。
  [b][b][b]1.2.3 Android的各类链接库 ---- Libraries

      Android包含一些C/C++链接库,这些链接库能被Android操作系统的许多组件使用。通过Android应用能够程序开发平台提供给开发人员丰富的功能。
  Android一些核心链接库说明如下:    1.系统C函数库:从BSD继承来的标准C函数库,专门为采用 嵌入式Linux操作系统 的设备所定制。[b]    2.媒体链接库:以 PacketVideo 的 OpenCORE 为基础,本链接库支持多种常用音频和视频格式的播放和录制功能,同时也支持静态图片显示。编码格式包括 MPEG4、H.264、MP3、AAC、AMR、JPG、PNG。[b]    3.图像显示管理:管理图像显示子系统的获取功能和多个应用程序之间的2D和3D图像的传递。[b]    4.Web浏览器(LibWebCore):提供一个最新的Web浏览器引擎,用来支持Android浏览器和一个嵌入式的Web浏览器引擎。[b]    5.SGL(Software Graphic Language):2D图像显示引擎的底层,自动从因特网收集图像的软件工具。[b]    6.3D链接库:以 OpenGLES1.0APIs为基础,本链接库可以使用硬件3D加速贴图或使用高速化的3D软件贴图程序。[b]    7.字体库(FreeType):位图(Bitmap)和矢量(Vector)字体显示。[b]    8.数据库(SQLite):一个功能强大的轻量级关系数据库引擎,可以提供给所有程序使用。
  [b][b][b]1.2.4 Android运行时环境 ---- Runtime

      Android运行时环境(Android Runtime)提供了 核心链接库(Core Libraries)和 Dalvik VM虚拟系统(Dalvik Virtual Machine),采用Java开发的应用程序编译成 apk程序代码后,交给Android操作环境来执行。
      Android包括一组核心链接库,它提供了Java编程语言核心链接库的大部分功能。每一个Android应用程序都会在自己的进程中执行,拥有自己的Dalvik VM的实现。    Dalvik被设计成可以同时有效率地执行多个虚拟系统。Dalvik VM执行Dalvik可执行的文件格式“.dex”,该文件格式优化成最小内存存储。同时虚拟系统是采用登记制的,所有程序先经由Java编译器编译后,,然后通过SDK中的“.dx”工具转换成“.dex”格式,再由虚拟系统执行。
      Dalvik VM依赖Linux系统核心的一些功能,比如线程机制和内存管理机制。[b]    Android采用 Dalvik VM 来代替 Java VM,写好的Java程序“.java”先编译成“.class”程序,然后编译成可在Dalvik VM执行的“.dex”程序,最后要包装成Android可以执行的文件“.apk”。
  [b][b][b]1.2.5 Linux操作系统核心 ---- OS Kernel

      Android依赖 Linux2.6 的核心系统服务,如安全保密、内存管理、进程管理、网络协议、驱动程序构架。    Linux核心也是硬件和其他软件程序代码之间的抽象层。
  [b][b][b][b][b]1.3 OESF 扩增功能

      Android操作系统除了用来开发手机外,也可以开发其他嵌入式系统。    OESF的目标是以Android操作系统作为嵌入式操作系统平台,针对非手机的各种设备和系统,由各会员公司协同开发出通用的架构或平台,并致力推广其应用领域。
      [b]    ――――――留空――――――――
  [b][b][b][b]1.4 Windows 开发环境

      Android应用程序的开发环境可以是 Windows、Mac OSx、Linux操作系统。    1. 安装 Java 开发套件 ---- JDK。[b]    2. 安装 Eclipse 图形接口开发环境。[b]    3. 安装 Android SDK 软件开发套件。[b]    4. 安装 Android 开发工具 ---- ADT。[b]    5. 建立 Android 虚拟设备 ---- AVD。
  [b][b][b]1.5 Android 四大基础组件

  Android 四大基础组件:    1. Activity。主要在前台负责应用程序中 数据的展示。所有的界面都是Activity。[b]    2. Intent。主要负责应用程序中所有的 数据的传递。[b]    3. Service。 主要在后台承担应用程序大部分的 数据的处理。[b]    4. ContentProvider。 负责存储数据,并允许有需要的应用程序访问这些数据。
[/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b][/b]
  相关解决方案