打印

Android学习系列之一--What’s Android

Android学习系列之一--What’s Android

注:本系列文章原文内容来自http://code.google.com/android的介绍,每章之前会给出原始文章地址,主要为共享资源使用,欢迎教学用转载。用于商业用途请先联系作者。                  
                  
                 
                      What is Android
    原文
    Android是一个为移动设备设计的软件平台,包括操作系统、中间件和一些关键应用。目前发布的Android SDK提供了必须的工具和进行应用开发所必须的API,在Android上的开发使用Java语言。

功能:
应用框架  支持组件重用和替换
Dalvik虚拟机  专为移动设备优化
集成的浏览器  基于开放源代码的WebKit引擎
优化的图象功能  一个定制的强劲的2D图象库,3D图象基于OpenGL ES 1.0(可选硬件加速功能)
SQLite 支持结构画的数据存储
多媒体支持  支持通常的音视频和图象格式(MPEG4,H264,MP3,AAC,AMR,JPG,PNG,GIF)  (怎么就没有rm和wmv之类的,莫非斗争中。。。)
GSM电话  视硬件情况而定
蓝牙,EDGE,3G和WiFi  视硬件情况而定
摄像头,GPS,compass和accelerometer  视硬件情况而定
开发环境  包括一个设备模拟器,debug工具,内存和性能测试功能和一个Eclipse插件

Android系统架构
    下图描述了Android的主要组件,每块都会在后面的说明中详细解释。


应用程序
    Android将会一直一系列的核心应用,包括email客户端,SMS程序,日历,地图,浏览器,联系人等等。所有的应哟国内程序都使用Java编写。(其实在youtube上的Android Demo视频中已经可以看到这些功能的演示了,看起来相当的nice,:-),Youtube的Android Demo视频  )

应用框架
    开发者开发自己的应用时可以调用核心应用所使用的相同的API接口。这个应用程序架构被设计用来简化组件的重用;任何应用都可以宣布它的功能,其他的任何应用都可以使用这些功能。相同的机制允许组件被用户替换。
背后的所有应用,是一套服务和系统,包括:
    1.丰富并且可扩展的View System,可以用来简历应用程序,包括列表、表格、文本框、按钮,甚至包括嵌入的web浏览器。
    2.Content Providers允许应用程序访问来自其他应用的数据(比如说联系人),或者共享它们自己的数据。
    3. Resource Manager提供对非代码的资源的访问,比如本地化字串、图象、layout文件等。
    4.Notification Manager允许所有的应用程序在状态条上显示定制的信息。
    5.Activity Manager管理应用程序的生命周期,并且提供一个通用的导航回退功能(provides a common navigation backstack)
    更多关于Android的详情,请看Writing an Android Application


    Android包括了一套C/C++库,这些功能是通过Android应用框架提供给开发者的。下面是一些核心库:
    1.系统C库  一个源自BSD的标准C库(libc),为基于Linux的嵌入式应用优化过。
    2.多媒体库  基于PacketVideo的OpenCORE。支持许多流行的音视频格式的播放和录制,以及静态图象文件支持,包括MPEG4、H264、MP3、AAC、AMR、JPG、PNG、GIF。
    3.Surface Manager  管理对显示子系统的访问,无缝的合成显示来自多个应用的2D和3D图象(seamlessly composites 2D and 3D graphic layers from multiple applications)
    4.LibWebCore  一个web浏览器引擎,驱动Android浏览器和一个克嵌入的web view。
    5.SGL  底层2D图象引擎
    6.3D图象库  基于OpenGL ES 1.0 API的一个实现。该库可以使用硬件3D加速(如果硬件支持),也可以使用包含的高度优化的3D软件加速功能。
    7.FreeType  位图和向量字体支持
    8.SQLite  一个功能强大的轻量级关系数据库引擎
    。。。。。。

Android Runtime
    Android包括了一套核心库,提供Java核心库所提供的大部分功能。
    每个Android应用程序在它自己的进程中运行,有它自己的Dalvik虚拟机的实例。Dalvik已经被改写过,使得一个设备可以有效得运行多个VM。Dalvik虚拟机运行自己独特的可执行文件格式――.dex,该格式经过优化,使用尽量少的内存。虚拟机是基于寄存器的,运行被“dx”工具转化为dex格式的java代码。(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.)
    Dalvik虚拟机依赖Linux Kernel提供底层功能支持,如线程、底层内存管理。

Linux Kernel
    Android依赖Linux内核2.6提供核心系统服务,比如安全、内存管理、进程管理、网络、硬件驱动。Linux内核扮演的是硬件层和系统其他层次之间的一个抽象层的概念。


PS:很久没干这种活了,有错误欢迎指出哈,共同学习,:

[ 本帖最后由 我是一只猪 于 2007-11-17 20:58 编辑 ]

TOP

传说这个东西有取代 j2me的趋势

传说这个东西有取代 j2me的趋势

TOP

有发展前途呀,大家早点认识,早点了解,早点学习,呵呵!!

TOP

哪个好心的大哥带带我~!

TOP

hehe 大家一起学

TOP

hehe,楼上的看起来很眼熟嘛

TOP

学习中.....
宠辱不惊,看庭前花开花落;去留随意,望天上云卷云舒。

TOP