`
weishuwei
  • 浏览: 326322 次
  • 性别: Icon_minigender_1
  • 来自: 上海
社区版块
存档分类
最新评论

什么是 Android

阅读更多

  译文如下: 有些术语和一些模棱两可的地方就不翻译了, 不过我尽量做到通俗易懂, 希望大家多多支持.

什么是 Android?

Android 是一组用于移动设备的软件套件, 它包含了一个操作系统, 一些中间件和关键的应用. Android SDK 提供了基于工具和API 来是开发人员通过使用java 来开发基于Android 平台的应用程序.

功能(Features):
(1)
应用程序框架可以复用并且可以自己写组件来替换默认组件
(2)
针对移动设备而优化的Dalvik 虚拟机(Dalvik virtual machine)
(3)
整合了基于开源的WebKit 引擎的浏览器
(4)
通过定制的2D 图像库提供了强劲的图像处理能力,3D 图像处理基于OpenGL ES 1.0 规范( 硬件加速可选)
(5)
通过SQLite 来提供结构化的数据存储.
(6)
多媒体支持( 常见音频, 视频和一些图片格式,MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
(7)GSM
电话( 依赖于硬件)
(8)
蓝牙,EDGE,3GWiFi 支持( 依赖于硬件)
(9)
照相机,GPS 定位系统, compass, accelerometer 加速计支持( 依赖于硬件)
(10)
丰富的开发环境, 包括一个设备仿真器, 调试工具, 内存和性能检测工具和基于Eclipse 的插件工具.

Android 架构(Android Architecture):

以下的图片展示了Android 操作系统的主要组件, 每一环节都会在后面详细解释.

Android System Architecture

应用程序(Applications):

Android 搭载了一组核心应用, 包括邮件客户端, 短信程序, 日历, 地图, 浏览器, 通讯簿和其它一些常见的应用, 所有的这些应用都是基于java 开发的.

应用程序框架(Application Framework):

开发人员可以全面存取通过核心应用开发的框架, 该架构被设计的更加简单并且方便组件重用, 任何一个应用可以发布它的功能, 并且其它应用程序有可以使用这些功能( 框架对于权限安全方面已经做了限定) 这个相同的机制允许用户使用自己的组件替换原来的组件

以下所有的应用是一组服务和系统, 包括:

  • 一些用于创建应用的丰富的可扩展的视图Views, 包括 列表lists, 网格 grids, 文本框text boxes, 按钮buttons, 甚至是可嵌入的web 浏览器.
  • 内容提供者Content Providers 使应用可以通过其它应用程序获取数据( 比如通讯簿等), 或者共享它们自己的数据
  • 资源管理器Resource Manager , 提供访问本地非程序的资源的能力, 比如本地化字符串, 图片, 和布局文件
  • 消息通知管理器Notification Manager 使所用的应用程序可以在状态栏显示定制的警告信息
  • 作业活动管理器Activity Manager 管理着应用程序的生存周期, 并且提供了 返回操作 的导航操作

更多的详情and a walkthrough of an application, see the Notepad Tutorial .

(Libraries):

Android 包含了了一组用于各种各样组件的C/C++ 的库, 这些能力通过Android 框架曝露给了开发人员, 下面列出了一些核心的类库:

  • 系统CSystem C library - a BSD-derived implementation of the standard C system library (libc), tuned for embedded Linux-based devices
  • 多媒体库Media Libraries - based on PacketVideo's OpenCORE; the libraries support playback and recording of many popular audio and video formats, as well as static image files, including MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG
  • 界面管理Surface Manager - manages access to the display subsystem and seamlessly composites 2D and 3D graphic layers from multiple applications
  • LibWebCore - a modern web browser engine which powers both the Android browser and an embeddable web view
  • SGL - the underlying 2D graphics engine
  • 3D libraries - an implementation based on OpenGL ES 1.0 APIs; the libraries use either hardware 3D acceleration (where available) or the included, highly optimized 3D software rasterizer
  • FreeType - bitmap and vector font rendering
  • SQLite - a powerful and lightweight relational database engine available to all applications

Android 运行时(Android Runtime):

Android 包含了一组核心类库, 并且提供了许多可用的功能.

每一个Android 应用都携带者他自己的Dalvik 虚拟机以进程方式单独运行.Dalvik 被设计出来就是满足设备可以高效的运行多个虚拟机的需求. Dalvik 虚拟机执行在Dalvik 中的 *.dex 格式的文件which is optimized for minimal memory footprint. The VM is register-based, and runs classes compiled by a Java language compiler that have been transformed into the .dex format by the included "dx" tool.

The Dalvik VM relies on the Linux kernel for underlying functionality such as threading and low-level memory management.

Linux 内核(Linux Kernel):

Android 依赖于linux2.6 版本, 通过linux2.6 来实现核心系统服务, 例如安全, 内存管理, 进程管理, 网络堆栈, 和驱动模型. 该内核还在硬件和应用软件间作为一个衔接的桥梁.

分享到:
评论

相关推荐

    Android+sdk中文帮助文档

    什么是Android? 开始 安装SDK 更新SDK 开发与调试 Hello Android 应用程序解析 记事本教程 开发工具 应用程序模型 应用程序生命周期 开发应用程序 用户界面工具 组成部分 数据存储与取回 安全模型 ...

    新版Android开发教程.rar

    什么是 Android? Android? Android? Android? Android 是一个专门针对移动设备的软件集,它包括一个操作系统,中间件和一些重要的应用程序。 Beta 版 的 Android SDK 提供了在 Android 平台上使用 JaVa 语言进行 ...

    [14本经典Android开发教程]-3-Android SDK 中文开发文档

    什么是 Android? Android 是一个专门针对移动设备的软件集,它包括一个操作系统,中间件和一些重要的应用程序。Beta版的 Android SDK 提供了在Android 平台上使用JaVa语言进行Android应用开发必须的工具和API接口。 ...

    Android SDK中文开发文档 pdf 

    Android开发教程:Android SDK中文开发文档 pdf版电子书下载,介绍什么是 Android?Android特性及架构,Android应用程序框架和程序库,Android 运行库和Linux内核,如何安装配置Android SDK、建立应用程序签名、移植...

    Android入门到精通源代码.

    1.1 什么是Android 1.1.1 移动信息设备分类 1.1.2 Open Handset Alliance和 Android 1.2 Android简介 1.2.1 Andriod的历史 1.2.2 Andriod的未来 1.2.3 Andriod平台的技术架构 1.3 Android应用程序构成 1.3.1 活动...

    Android应用程序开发教程PDF电子书完整版、Android开发学习教程

    什么是 Android? Android是一个专门针对移动设备的软件集,它包括一个操作系统,中间件和一些重要的应用程序。Beta 版 的 Android SDK 提供了在 Android 平台上使用 JaVa 语言进行 Android 应用开发必须的工具和 ...

    android从入门到精通明日科技pdf

    第1章,Android快速入门,首先介绍了什么是Android,它是基于Linux的开源操作系统,广泛用于智能手机和平板电脑。其次,讲述了如何搭建Android开发环境,包括安装JDK、配置环境变量、安装Android SDK和选择合适的IDE...

    Android串口通信(Android Studio)

    在Android开发中,串口通信(Serial Port Communication)是一种重要的技术,它允许设备之间通过串行接口进行数据交换。在Android Studio环境下实现串口通信,开发者可以构建与硬件设备交互的应用,例如读取传感器...

    Android.bp文件说明.pdf

    Android新编译规则Android.bp文件语法规则详细介绍,条件编译的配置案例。 Android.bp 文件首先是 Android 系统的一种编译配置文件,是用来代替原来的 Android.mk 文件的。在 Android7.0 以前,Android 都是使用 ...

    android抽屉菜单 android panel

    在Android应用开发中,抽屉菜单(Drawer Menu)是一种常见的设计模式,用于提供导航功能,让用户可以从屏幕边缘滑出一个包含多个选项的列表。这种设计通常遵循Material Design指南,是Google推荐的Android应用界面...

    JS调用Android方法,向Android方法传递json数据

    在现代的移动应用开发中,JavaScript与原生平台之间的交互变得越来越常见,特别是在使用Android的WebView组件时。本文将深入探讨如何使用JavaScript调用Android的方法,并传递JSON数据,以实现两者之间的高效通信。 ...

    判断android手机是华为小米魅族系统

    在Android开发中,有时我们需要根据设备制造商或操作系统版本来实现特定功能或适配。这个"判断android手机是华为小米魅族系统"的工具类就是针对这种情况设计的,它可以帮助开发者识别用户设备是属于华为、小米还是...

    Android SDK离线包合集(Android 4.0-5.0)

    Android SDK离线包合集(Android 4.0-5.0)。不用去Google下载,直接国内下载离线包,各版本文件独立,任意下载。手机流量上传了一部分,好心疼。如不能下载,请告诉我更新地址。 附上简单教程。 这是Android开发所...

    Android开发入门60个小案例+源代码

    在Android开发领域,初学者经常会面临许多挑战,如理解Android应用程序的基本架构、学习XML布局、掌握Java或Kotlin编程语言,以及如何与设备硬件交互等。"Android开发入门60个小案例+源代码"这个资源提供了丰富的...

    Android组件设计思想

    这样就可以在组件再次需要使用时,原地满血复活,就像什么都没发生过一样。这种设计思想非常适合内存较小的移动设备。理解Android组件设计思想,对Android应用程序架构会有更好的认识。这一节讲Android组件化设计的...

    android4.0源代码

    Android 4.0源代码是Android操作系统的冰激凌三明治(Ice Cream Sandwich)版本的底层实现,它包含了Android应用程序框架以及系统服务的核心组件。这个压缩包包含了一系列的源码目录,每个目录对应不同的模块,如...

    android 经典代码例子

    在Android开发领域,经典代码例子是开发者学习和提升技能的重要资源。这些例子涵盖了各种关键功能和组件的实现,有助于深入理解Android应用的工作原理。在这个压缩包中,我们可能找到了多个有关Android编程的示例...

    Android点餐系统项目

    《Android点餐系统项目》是一门深度探讨如何在Android平台上构建无线点餐系统的视频教程,旨在教授学员如何利用Android技术实现一个完整的点餐系统,包括客户端和服务端的开发。这门课程涵盖了移动应用开发的多个...

    Android设置虚线、圆角、渐变

    在Android开发中,为UI元素添加虚线、圆角和渐变效果是常见的需求,可以提升应用的视觉吸引力。下面将详细讲解如何实现这些效果。 ### 一、虚线(Dashed Line) 在Android中,我们可以使用`Shape Drawable`来创建...

Global site tag (gtag.js) - Google Analytics