`
linx_bupt
  • 浏览: 15669 次
  • 来自: 北京
社区版块
存档分类
最新评论

【译】Android开发指南(1)--什么是Android?

阅读更多

本博文乃原创翻译,欢迎转载,转载时请注明博客作者,谢谢:-)

http://simlelin.iteye.com/admin/blogs/1163816

 

什么是Android?
Android是一个移动设备的软件栈,包含了一个操作系统,中间件和一些关键的应用程序。Android SDK提供了在Android平台上使用Java语言开发应用程序所需要的工具和API。

特性

  •     应用程序框架可以支持组件的重用和替换
  •     Dalvik虚拟机针对移动设备进行优化
  •     集成了基于开源引擎WebKit的浏览器
  •     由通用的2D图形库渲染的优化的2D图形绘制;基于OpenGL ES 1.0规范的3D图形绘制(硬件加速可选)
  •     用于结构化数据存储的SQLite
  •     多媒体支持:通用的音频、视频和图形格式(MPEG4,H.264,MP3,AAC,AMR,JPG,PNG,GIF)
  •     GSM通话技术(依赖于硬件)
  •     蓝牙,EDGE,3G和WiFi(依赖于硬件)
  •     照相机,GPS,指南针和加速度传感器(依赖于硬件)
  •     丰富的开发环境,包含设备模拟器,调试工具,内存和性能分析和基于Eclipse的开发环境插件


Android架构
下图展示了Android操作系统的主要组件。每个部分在下面有更详细的描述。

system_architecture


Android系统架构

 

应用程序
Android将随系统提供一系列的核心应用程序包括:email客户端,短消息程序,日历,地图,浏览器,联系人等等。所有的应用程序由Java语言编写。

应用程序框架
通过提供一个开放的开发平台,Android提供给开发者构建极其丰富和新颖的应用程序。开发者可以免费利用设备的硬件来访问位置信息,运行后台服务,设置闹钟和状态栏的提醒,以及更多。

开发者可以全面使用和核心的应用程序完全相同的框架API。应用程序架构被设计成可以简化组件的复用;任何应用程序都可以对外提供它的功能,其它的应用程序就可以去调用这些功能(取决于框架所进行的安全限制)。同样的机制允许组件被用户所替换。

所有应用程序的基础是一系列的服务和系统组件,包括:

  •     丰富和可扩展的一系列视图,以被用来构建一个应用程序,包括列视图,网格视图,文本框,按钮,甚至于一个内嵌的web浏览器
  •     允许应用程序访问来自其它应用程序(例如联系人)的数据或共享它们自己数据的内容提供组件
  •     一个资源管理器,提供对于非代码资源如本地化字符串、图形和布局文件的访问
  •     一个通知管理器,可使所有的应用程序在状态栏理显示自定义的提醒
  •     一个Activity管理器,管理应用程序的生命周期,并提供一个通用的导航返回栈


更多的细节和演示请阅读Notepad指南


Android包含一系列的供Android系统组件使用的C/C++库。这些功能通过Android应用程序开发框架暴露给开发者。一些核心的库列举如下:

  •     系统C程序库 - 一个标准的C系统库(libc)的BSD继承的实现,适合于嵌入式的linux设备
  •     多媒体库 - 基于PacketVideo的OpenCORE;此库支持播放和录音许多流行的音频和视频格式,还有静态图形文件,包括MPEG4,H.264,MP3,AAC,AMR,JPG和PNG
  •     图面管理器 - 管理显示子系统的访问和在多个应用程序中无缝地合成2D和3D图层
  •     LibWebCore - 一个现代的web浏览器引擎,应用在了Android浏览器和嵌入的web视图中
  •     SGL - 2D图形引擎的基础
  •     3D库 - 一个基于OpenGL ES 1.0 API的实现;此库使用了硬件的3D加速(当可用的时候)或者是高度优化的3D的软件渲染
  •     FreeType - 位图和矢量图的字体呈现
  •     SQLite - 一个强大的轻量级的可供所用引用程序使用的关系型数据库引擎


Android运行时
Android包括了一系列的提供了最常用的Java语言的核心库。

每一个Android应用程序运行在单独的进程中,拥有它自己的Dalvik虚拟机实例。Dalvik虚拟机被实现成可以让一个设备高效地运行多个虚拟机实例。Dalvik虚拟机能运行的Dalvik可执行文件(.dex)针对小内存设备进行了优化。Dalvik虚拟机基于寄存器,所运行的被Java编译器编译的class文件已经被dx工具转换成了.dex格式。

Dalvik虚拟机依赖于Linux内核,提供系统底层的功能,如并发机制和低级别的内存管理。

Linux内核
Android依赖于Linux的2.6版本的核心系统服务,如安全管理,内存管理,进程管理,网络协议栈和驱动模型。此内核也可看作是硬件和其它软件栈之间的抽象层。

 

分享到:
评论

相关推荐

    Android NDK开发指南-android.mk文件

    "Android NDK开发指南-android.mk文件" Android NDK 是 Android 操作系统中的一种开发工具,用于使用 C/C++ 语言编写 Android 应用程序。Android.mk 文件是 NDK 中的一个重要组件,用于描述编译系统的配置,使得...

    Android开发-指南针【多种传感器实现】

    在Android开发中,指南针应用是一种常见的功能,它利用设备内置的传感器来指示地球的磁场北。本项目提供了两种不同的实现方式,分别是基于方向传感器(Orientation Sensor)和基于加速度传感器与磁场传感器...

    android开发指南--中文版

    android开发指南中文版 本文是对Android SDK1.5版的英文开发资料Android Development Guide一文应用程序框架部分的翻译,覆盖了Android应用开发所有主要的概念。部分内容整理自网络。本文仅用于技术学习,请勿用于...

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

    [14本经典Android开发教程]-3-Android SDK ...[14本经典Android开发教程]-1-Android开发从入门到精通http://download.csdn.net/detail/cleopard/8355245 [14本经典Android开发教程]-2-Android开发手册—API函数详解 ...

    Android程序员指南-- Android A Programmers'Guide[中文版]

    《Android程序员指南》是一本面向Android开发者的全面指南,旨在帮助读者掌握Android开发的核心技术和最佳实践。尽管当前只有部分内容可供参考,但已足以激发开发者的学习兴趣。此外,书中对于版权的重视也提醒我们...

    [14本经典Android开发教程]-5-linux Android基础知识总结

    [14本经典Android开发教程]-5-linux Android...[14本经典Android开发教程]-1-Android开发从入门到精通 http://download.csdn.net/detail/cleopard/8355245 [14本经典Android开发教程]-2-Android开发手册—API函数详解 ...

    Tiny4412 Android硬件开发指南 (含示例源代码)

    第一章 建立ANDROID应用开发环境 - 5 - 1.1 步骤一:下载并安装JDK (JAVA SE DEVELOPMENT KIT) - 5 - 1.2 步骤二:下载并安装ADT集成开发环境和ANDROID SDK - 6 - 1.2.1 下载Android SDK (API 17) - 7 - 1.2.2 启动...

    新版Android开发教程及笔记-完整版.pdf

    新版Android开发教程+笔记五--模拟器、应用1、2.pdf 新版Android开发教程+笔记六--应用3、4 布局.pdf 新版Android开发教程+笔记七--基础UI编程1.pdf 新版Android开发教程+笔记八--基础UI编程2.pdf 新版Android开发...

    Lazarus开发Android应用程序指南(中文首发版)

    ### Lazarus开发Android应用程序指南知识点详解 #### 环境搭建 **下载安装JDK** - 开发Android应用的首要条件是安装Java开发工具包(JDK),可以从Oracle官网下载,选择合适的版本以匹配开发需求。 **下载安装...

    Android开发权威指南源码。

    Android开发权威指南源码。

    android-studio-ide-193.6514223-windows,完整版下载

    1. 获取资源:首先,你需要找到名为"android-studio-ide-193.6514223-windows.exe"的压缩包文件,这是Android Studio的安装程序。确保你从官方渠道或可信的来源获取此文件,以保证安全。 2. 解压资源:下载完成后,...

    TE/OK6410 Android应用程序开发指南 - 飞凌嵌入式.pdf

    飞凌嵌入式公司推出的《TE/OK6410 Android应用程序开发指南》是一份详细指导文档,旨在帮助开发者在TE/OK6410开发板上进行Android应用程序的开发。该文档涵盖了从环境搭建到应用开发再到调试的完整流程,并提供了...

    Android开发权威指南

    《Android开发权威指南》内容上涵盖了用最新的Android版本开发的大部分场景。全书分4个部分,分别从Android基础介绍、环境搭建、SDK介绍,到应用剖析、组件介绍、综合实例演示,以及符合潮流的、最新的移动开发技术...

    android-things-setup-utility

    1. **Linux版**:对于Linux用户,提供的`android-things-setup-utility-linux`文件是一个跨平台的工具,帮助在Ubuntu、Debian或其他基于Linux的操作系统上安装必要的SDK工具和驱动程序。 2. **Mac版**:`android-...

    Android--开发--_jni操作指南.rar

    这份“Android--开发--_jni操作指南”很可能是详细解释了如何在Android应用开发中使用JNI技术的教程。 JNI的核心概念包括以下几个方面: 1. **本地方法接口**:JNI定义了一套接口,使得Java代码能够声明并调用本地...

    Google Android 开发入门指南(第二版).pdf

    本书主要介绍了Android 2.x版本的应用开发技术,适合初学者快速入门Android开发,并逐步进阶至高级主题。内容涵盖Android平台的基本概念、应用设计原理以及具体的开发技巧。 #### 三、核心知识点详解 ##### 1. ...

Global site tag (gtag.js) - Google Analytics