`
yahaitt
  • 浏览: 760726 次
  • 性别: Icon_minigender_2
  • 来自: 杭州
社区版块
存档分类
最新评论
阅读更多

欢迎关注Android!

Android平台是一组面向移动设备的软件包,它包含了一个操作系统、中间件和关键应用程序。开发人员可以使用Android SDK(软件开发工具包)为这个平台创造应用程序。应用程序使用Java语言编写并在Dalvik之内运行。Dalvik是一款量身定制的虚拟机,它专为嵌入式应用设计,运行在Linux内核上层。

如果你想了解如何为Android平台开发应用程序,你就来对地方了!为了帮助大家了解Android平台进而开发移动应用程序,这里 提供了各种丰富的文档。

Android SDK 的预览版已经可以下载 了。其中包括了附含源代码的样例工程、开发工具、仿真器,当然了,还有你构建工程所必需的类库。

Android是什么?

机器人?

android_robot                                 

Android是一组面向移动设备的软件包,包含了一个操作系统,中间件和关键应用程序。Android SDK 的预览版提供了必需的开发工具和应用程序接口,基于这些,我们就可以使用Java编程语言在Android平台上开发应用程序了。

androidos 有点Linux风格吧

 

特性

  • 应用程序框架 支持组件的复用和更换
  • Dalvik 虚拟机 专门为移动设备进行过优化
  • 集成的浏览器 基于开源的 WebKit 引擎
  • 优化的图形机制 自定义的2D图形库,基于OpenGL ES 1.0规范的3D图形实现(本项为硬件加速器可选)
  • SQLite 轻量级的数据库,支持结构化数据的存储
  • 媒体支持 面向常见的音频、视频以及静态图形档案格式 (MPEG4, H.264, MP3, AAC, AMR, JPG, PNG, GIF)
  • GSM 技术 GSM:global system for mobile communications (依赖硬件支持)
  • Bluetooth, EDGE, 3G, and WiFi (依赖硬件支持)
  • Camera, GPS, compass, and accelerometer (依赖硬件支持)
  • Rich development environment 丰富的开发环境,包含一套硬件仿真器,一些用于程序调试、内存和性能剖析的工具,以及支持Eclipse集成开发环境的插件(ADT )。

Android架构

下方图表显示了Android操作系统的主要组件。要知道关于各个部分更多的细节,下文还有描述,请继续看。

system-architecture

 

Applications (应用)

Android将预装一组核心应用程序,包括email客户端、短信服务、日历日程、地图服务、浏览器、联系人和其他应用程序。所有应用程序都是Java编程语言编写的。

 

 

Application Frameworks (应用框架)

上文所提的核心应用程序就是依赖框架层次API开发的,程序员们当然也可以充分使用这些API。应用架构设计的初衷是:简化组件复用机制;任何应用都能发布自己的功能,这些功能又可以被任何其他应用使用(当然要受来自框架的强制安全规范的约束)。和复用机制相同,框架允许组件的更换。

所有应用都是一组服务和系统,一般包含:

  • 一套丰富且可扩展的视图 组件,含有lists, grids, text boxes, buttons, 甚至嵌入的网络浏览器
  • Content Providers (内容提供器) 使一个应用可以访问另外一个应用的数据(如联系人),或者使一个应用内部可以共享自身数据
  • Resource Manager (资源管理器),提供对非编码资源——例如本地化字符串、图形和布局文件——的访问通道
  • Notification Manager (通告管理器),使应用在状态栏显示自定义的警报通知。
  • Activity Manager (行动管理器)负责管理应用的生命周期,提供通用导航回退支持

要知道更多细节,了解应用内幕,请参考教程 《Android应用编写》

 

 

 

Libraries (库)

Android包含一套C/C++库,Android系统的各式组件都在使用。这些功能通过Android应用框架暴露给开发人员。下面列举一些核心库:

 

  • System C library - 衍生于BSD的标准C系统库(libc)实现(注:BSD:Berkeley Software Distribution,伯克利软件套件,是Unix的衍生系统,1970年代由伯克利加州大学开创),尤其支持嵌入式的基于Linux的设备。
  • Media Libraries - 媒体库基于PacketVideo's OpenCORE;媒体库支持很多流行音频和视频格式、静态图形文件(包括MPEG4, H.264, MP3, AAC, AMR, JPG, and PNG )的播放和录制
  • Surface Manager - 管理范围:对子系统显示功能的访问,跨应用的无缝组合2D和2D图形层
  • LibWebCore - 是流行的浏览器引擎,可以支持Android浏览器和嵌入应用的WEB视图组件
  • SGL - 底层的2D图形引擎
  • 3D libraries - 基于OpenGL ES 1.0 API的实现; 该类库使用硬件3D加速器(如果硬件支持的话)或者内置的、高度优化的3D软件加速机制。
  • FreeType - 支持位图和矢量字体
  • SQLite - 能干、轻量级的关系型数据库引擎,面向所有应用

Android Runtime (Android运行时)

Android的核心类库提供Java类库所提供的绝大部分功能。

每个Android应用都运行在自己的进程上,享有Dalvik虚拟机为它分配的专有实例。为了支持多个虚拟机在同一个设备上高效运行,Dalvik被改写过。

Dalvik虚拟机执行的是Dalvik格式的可执行文件(.dex)——该格式经过优化,以降低内存耗用到最低。Java编译器将Java源文件转为class文件,class文件又被内置的dx工具转化为dex格式文件,这种文件在Dalvik虚拟机上注册并运行。

在一些底层功能——比如线程和低内存管理方面,Dalvik虚拟机是依赖Linux内核的。

 

Linux Kernel (Linux内核)

Android依赖Linux 2.6版,提供核心系统服务:安全、内存管理、进程管理、网络组、驱动模型。内核部分还相当于一个介于硬件层和系统中其他软件组之间的一个抽象层次。

分享到:
评论
1 楼 quiii 2009-09-02  

相关推荐

    android课件1android介绍

    android介绍 android介绍 android介绍 android介绍

    android 介绍

    介绍android 环境搭建,拼图手机游戏

    android介绍自己兴趣的XML文件

    介绍自己兴趣的安卓布局文件,其中使用了LinearLayout布局嵌套,还有自己的姓名、年龄等。

    android ndk详细介绍

    android ndk详细介绍

    Android2.3应用开发实战

     《android 2.3应用开发实战》包括 android介绍、开发环境、应用开发平台、活动程序 activity、意图方法intent、widget、layout窗体布局、menu菜单、sqlite、service服务程序、应用程序国际化、webview、appwidget...

    android HID协议描述介绍

    android HID协议描述介绍,主要描述HID描述符,report等构造

    Android基本介绍

    Android基本介绍,介绍android 的基本架构

    android文件存储

    android 介绍使用文件如何对数据进行存储

    android系统框架介绍

    android系统框架介绍,Android系统 = Linux内核 + Android运行时。 Android系统使用的Linux内核包含了一些专用驱动,例如Logger、Binder、Ashmem、Wakelock、Low-Memory Killer和Alarm等,这些Android专用驱动构成了...

    android开发介绍

    android 移动开发 介绍

    Android类库介绍.pdf

    Android类库介绍.pdf`

    Android代码-Android

    本目录下的代码都是来自于我的博客《Android应用开发》系列文章,本系列文章介绍Android开发的一些基础和进阶知识,并附带有一些简单的Demo示例,这些示例代码中很多Java文件都对Android API进行了良好的封装,可以...

    Android专业介绍

    Android专业介绍PPT

    android merge 标签使用介绍

    本篇文章将详细介绍`merge`标签的使用方法及其优势。 `merge`标签最初被引入是为了减少视图层次,这是因为在Android系统中,每个视图层级都会带来额外的绘制开销。当我们在一个布局文件中嵌套多个视图时,这些层级...

    android开发主要模块介绍

    对android的四大组件、生命周期、sqlite的简单介绍,适合给别人培训用

Global site tag (gtag.js) - Google Analytics