技术开发

开发者手册:Android开发平台概述
作者 程松 2011年11月24日 06:00

  【IT168技术】提到Android,我们不得不佩服Android的发展势头是如此的迅猛,让Symbian措手不及,转瞬间被斩落马下,今年的智能手机数量超越iphone也着实让开发者叫好。虽然Windows phone也在微软的大力推广之下声名鹊起,甚至已经成为了被业界看好的“三国混战”,但是无论是从终端数量还是应用数量上,都不足以让Android将它视为劲敌。我们就从Android的最初发展谈起Android的特性。

Android 发展历史

  Android 发展历史简介

  2007年11月5日,Google发布了基于Linux平台的开源移动手机平台 --Android。该平台由操作系统、中间件、用户界面和应用软件等组成,号称是首个为移动终端打造的真正的开放的移动开发平台。

  2008年9月22日,美国运营商T-Mobile USA在纽约正式发布第一款Google手机 -- T-Mobile G1。该款手机为中国台湾宏达电代工制造,是世界上第一部使用Android操作系统的手机,支持WCDMA/HSPA网络,理论下载速率为7.2Mbit/s,并支持Wi-Fi无限局域网络。

  Google与开放手机联盟(Open Handset Alliance)合作开发了Android移动开发平台,这个联盟由摩托罗拉、高通、宏达电和T-Moblie、中国移动等在内的30多家移动通讯领域的领军企业组成。Google与运营商、设备制造商、开发商和其他第三方结成了深层次的合作伙伴关系,希望通过建立标准化、开放式的移动电话软件平台,在移动产业内形成一个开放式的生态系统。

  Android作为Google企业战略的重要组成部分,将进一步推进“随时随地为每个人提供信息”这一企业目标的实现。全球为数众多的移动电话用户从未使用过任何基于Android的移动通讯设备,Google的目标是让移动通讯不依赖于设备甚至平台。处于这个目的,Android将补充而不会代替Google长期以来奉行的移动发展战略:通过与全球各地的手机制造商和移动运营商结成合作伙伴,开发即有用又有吸引力的移动服务,并推广这些产品。

  开放手机联盟

  开放手机联盟,英文是Open Handset Alliance简称OHA。它是美国Google 公司与2007 年11 月5 日宣布组建的一个全球性的联盟组织。联盟支持Google 发布的Android 手机操作系统或者应用软件,共同开发名为Android 的开放源代码的移动系统。其中开放手机联盟包括手机制造商、手机芯片厂商和移动运营商几类。目前,联盟成员数量已经超过了43 家。目标是:加速智能移动设备的发展,提供用户更多更好更便宜的服务。由OHA开发的Android™,是第一个完整的、开放的、免费的智能移动开发平台。

  移动手机联盟创始成员:Aplix、Ascender、Audience、Broadcom、中国移动、eBay、Esmertec、谷歌、宏达电、英特尔、KDDI、Living Image、LG、Marvell、摩托罗拉、NMS、NTT DoCoMo、Nuance、Nvidia、PacketVideo、高通、三星、SiRF、SkyPop、Sonic Network、Sprint Nextel、Synaptics、TAT、意大利电信、西班牙电信、德州仪器、T-Mobile和Wind River。

${PageNumber}

  Android的优势

  1、源代码完全开放,便于开发人员更清楚的把握实现细节,便于提高开发人员的技术水平,有利于开发出更具差异性的应用。

  2、采用了对有限内存、电池和CPU 优化过的虚拟机Dalvik,Android 的运行速度比想象的要快很多。

  3、 运营商(中国移动等)的大力支持,产业链条的热捧。

  4、良好的盈利模式(3/7 开),产业链条的各方:运营商、制造商、独立软件生产商都可以获得不错的利益。将移动终端的评价标准从硬件向软件转变,极大的激发了软件开发者的热情。

  5、Android 的源代码遵循Apache V2 软件许可,而不是通常的GPL v2 许可。有利于商业开发。

  6、具有强大的Linux 社区的支持。

  Android的不足

  1、由于采用了Java 作为应用开发语言,目前可用的传统第三方应用还很少,但由于Android 是一款完全开源的移动计算平台,相信第三方应用会很快的丰富起来。

  2、Google 提供了一套Java 核心包(J2SE 5,J2SE 6)的有限子集,尚不承诺遵守Java 任何Java 规范,可能会造成Java 阵营的进一步分裂。

  3、 现有应用完善度不太够,需要的开发工作量较大。

  4、 基于QEMU 开发的模拟器调试手段不十分丰富,只支持通话、SMS等,速度慢。

  5、暂不具备Push Mail 和Office(DataViz、QuickOffice 计划近期推出)功能,目前主要面向的是普通消费者用户,对商业用户支持尚弱。

${PageNumber}

  Android系统介绍

  Android 软件系列包括操作系统、中间件和一些关键应用。Android是基于JAVA的系统,运行在 Linux 2.6核上。Android SDK 提供多种开发所必要的工具与API。

  Android的特点:

  1、 应用框架可以重复使用,其组件也可以更换。

  2、 Dalvik虚拟机针对移动设备进行了优化。

  3、 优化的图形能力支持2D、3D图形(OpenGL ES 1.0 )。

  4、 集成了基于开源WebKit引掣的浏览器。

  5、 SQLite作为结构化数据存储。

  6、 多媒体支持多种音频、视频格式。

  7、 GSM Telephony (hardware dependent)

  8、 支持蓝牙Bluetooth,3G和WiFi

  9、 支持照相机、GPS、指南针和加速度仪等传感器硬件。

  10、丰富的开发环境。包括模拟机、调试工具、内存运行检测,以及为Eclipse IDE所写的插件。

  Android SDK所支持的操作系统:

  1、Windows XP (32-bit) or Vista (32- or 64-bit)。

  3、 Mac OS X 10.4.8 or later (x86 only)。

  3、Linux (tested on Linux Ubuntu Dapper Drake)。

  Android的内核介绍

  Android 基于Linux内核,但不是Linux。内核提供系统核心服务,如进程、内存、电源管理,网络连接,驱动与安全等。并不包括全部的Linux。Linux 内核位于硬件和软件堆之间的抽象层。

  核心服务包括:安全机制、内存管理、进程管理、网络、硬件驱动。内核扮演的是硬件层和系统其它层次之间的一个抽象层的概念。操作系统的初始化和编程接口和标准的Linux 系统是有所不同的。

  Android的运行库

  1、C/C++库:被各种Android 组件使用通过应用程序框架开发者可以使用其功能。

  2、媒体库:MPEG4 H.264 MP3 JPG PNG .....

  3、WebKit/LibWebCore:Web 浏览引擎。

  4、SQLite 关系数据库引擎。

  5、2D,3D 图形库、引擎。

  6、Function Library:WebKit 基于开源WebKit的浏览器;支持CSS、Javascript、DOM、Ajax。多媒体框架:基于PacketVideo OpenCORE平台;支持标准音频、视频。SQLite :轻型数据库,支持多种平台。

  7、 Hardware Abstraction Libs:硬件虚拟层,User space C/C++ library layer,硬件接口驱动,使Android平台逻辑与硬件接口分离。

  Android Runtime

  应用开发语言:Java

  Dalvik虚拟机

  指令 : Dalvik Excutable

  Java标准库

  把java代码编译为Dalvik可执行文件(dex format)

  Android运行环境

  核心库提供的Java 功能Dalvik 虚拟机依赖于Linux 内核,

  可同时运行多个Dalvik 虚拟机,

  每一个Android 应用程序在它自己的Dalvik VM 实例中运行VM 执行优化的Dalvik 可执行文件(.dex)

  Dx-工具把编译过的Java 文件转换为dex 文件

  知识体系

  1、Unix/Linux平台技术:基本命令,Linux下的开发环境

  2、企业级数据库技术:SQL语言、SQL语句调优、Oracle数据库技术

  3、Java 语言核心技术:Java语言基础、Java面向对象编程、JDK核心API、Java集合框架、Java网络编 程、JavaI/O编程、Java多线程编程、Java异常机制、Java安全、JDBC、XML

  4、软件工程和设计模式:软件工程概述、配置管理及SVN、UML、基本设计模式

  5、Android应用开发基础:Android开发平台、Eclipse+ADT开发环境、AVD及传感模拟器调试、Android核心组件、Android常用组件、Android高级组件、文件及网络访问、SQLite数据库编程、后台服务编程

  6、互联网核心技术: HTML、CSS、JavaScript、JQuery、Ajax应用

  7、Android高级应用开发:音频\视频\摄像头、互联网应用、GPS和位置服务、Google Map、2D\3D绘制、传感器开发、游戏开发、电话及SMS服务、网络\Bluetooth\Wi-Fi等。

  8、Android系统级开发:移植、驱动、NDK(C方向)。

  9、JavaEE核心技术:Servlet核心技术、JSP核心技术、Struts、Spring、Hibernate框架。[

  DVM 和 JVM

  DVM:Google,Dalvik excutable 。

  JVM:Sun,Java bytecode 。

  Android 框架

  1、 Activity manager,管理运行应用程序

  2、 Content Provider,在各应用之间共享数据

  3、 Resource Manager,管理非代码资源

  4、 Notification Manager,显示用户提示和状态栏

  5、 Views System,可扩展显示,可构建UI

  核心应用,例如联系人,电子邮件,电话,浏览器,日历,地图, ...

  充分访问所有核心应用框架API

  简化组件的重用

  用Java 编写应用程序

  Android开发环境

  IDE – Eclipse

  Eclipse plug-in - ADT

  Software Development Kit (SDK)

  Android Emulator

  Debuger

${PageNumber}

  Android版本升级过程

  Android1.1,2008 年9月发布的Android第一版。

  Android 1.5

  Cupcake(纸杯蛋糕)2009年4月30日,官方1.5版本(Cupcake 纸杯蛋糕)的Android发布。主要的更新如下:

  1、拍摄/播放影片,并支持上传到Youtube

  2、支持立体声蓝牙耳机,同时改善自动配对性能

  3、最新的采用WebKit技术的浏览器,支持复制/贴上和页面中搜索

  4、GPS性能大大提高

  5、提供屏幕虚拟键盘

  6、主屏幕增加音乐播放器和相框widgets

  7、应用程序自动随着手机旋转

  8、短信、Gmail、日暦,浏览器的用户接口大幅改进,如Gmail可以批量删除邮件

  9、相机启动速度加快,拍摄图片可以直接上传到Picasa

  10、来电照片显示

  Android 1.6

  Donut(甜甜圈)2009年9月15日,1.6(Donut 甜甜圈)版本软件开发工具包发布。主要的更新如下:

  1、重新设计的Android Market手势

  2、支持支持CDMA网络

  3、文字转语音系统(Text-to-Speech)

  4、快速搜索框

  5、全新的拍照接口

  6、查看应用程序耗电

  7、支持虚拟私人网络(VPN)

  8、支持更多的屏幕分辨率。

  9、支持OpenCore2媒体引擎

  10、新增面向视觉或听觉困难人群的易用性插件

  Android2.0/2.0.1/2.1

  Eclair(松饼)2009年10月26日,2.0(Eclair 松饼)版本软件开发工具包发布。主要的更新如下:

  1、优化硬件速度

  2、"Car Home"程序

  3、支持更多的屏幕分辨率

  4、改良的用户界面

  5、新的浏览器的用户接口和支持HTML5

  6、新的联系人名单

  7、更好的白色/黑色背景比率

  8、改进Google Maps3.1.2

  9、支持Microsoft Exchange

  10、支持内置相机闪光灯

  11、支持数码变焦

  12、改进的虚拟键盘

  13、支持蓝牙2.1

  14、支持动态桌面的设计

  Android 2.2/2.2.1

  Froyo(冻酸奶)2010年5月20日,2.2(Froyo 冻酸奶)版本软件开发工具包发布。主要的更新如下:

  1、整体性能大幅度的提升

  2、3G网络共享功能。

  3、Flash的支持。

  4、App2sd功能。

  5、全新的软件商店。

  6、更多的Web应用API接口的开发。

  Android 2.3

  Gingerbread(姜饼)2010年12月7日,2.3(Gingerbread 姜饼)版本软件开发工具包发布。主要的更新如下:

  1、增加了新的垃圾回收和优化处理事件

  2、原生代码可直接存取输入和感应器事件、EGL/OpenGL ES、OpenSL ES。

  3、新的管理窗口和生命周期的框架。

  4、支持VP8和WebM视频格式,提供AAC和AMR宽频编码,提供了新的音频效果器

  5、支持前置摄像头、SIP/VOIP和NFC(近场通讯)

  6、简化界面、速度提升:

  7、更快更直观的文字输入:

  8、一键文字选择和复制/粘帖:

  9、改进的电源管理系统:

  10、新的应用管理方式:

  Android 3.0

  Honeycomb(蜂巢)2011年2月2日, 3.0(Honeycomb 蜂巢)版本主要更新如下:

  ·优化针对平板

  ·全新设计的UI增强网页浏览功能

  ·n-app purchases功能

  Android 3.1

  Honeycomb(蜂巢)2011年5月11日在Google I/O开发者大会宣布发布,版本主要更新如下:

  Honeycomb蜂巢(改进3.0BUG)

  经过优化的Gmail电子邮箱;

  全面支持GoogleMaps

  将Android手机系统跟平板系统再次合并从而方便开发者。

  任务管理器可滚动,支持USB 输入设备(键盘、鼠标等)。

  支持 Google TV.可以支持XBOX 360无线手柄

  widget支持的变化,能更加容易的定制屏幕widget插件。

  Android 3.2

  Honeycomb(蜂巢)2011年7月13日发布,版本更新如下:

  支持7英寸设备

  引入了应用显示缩放功能

  Android 4.0

  Ice Cream Sandwich(冰激凌三明治)2011年10月19日 在香港发布,

  4.0(Ice Cream Sandwich 冰激凌三明治)版本主要更新如下:

  1、全新的ui

  2、全新的Chrome Lite浏览器,有离线阅读,16标签页,隐身浏览模式等。

  3、截图功能

  4、更强大的图片编辑功能

  5、自带照片应用堪比Instagram,可以加滤镜、加相框,进行360度全景拍摄,照片还能根据地点来排序

  6、Gmail加入手势、离线搜索功能,UI更强大。

  7、新功能People:以联系人照片为核心,界面偏重滑动而非点击,集成了Twitter、Linkedin、Google+等通讯工具。有望支持用户自定义添加第三方服务。

  8、新增流量管理工具,可具体查看每个应用产生的流量。

  9、正在运行的程序可以像电脑一样的互相切换

  10、人脸识别功能

  11、系统优化、速度更快

  12、支持虚拟按键,手机可以不再拥有任何按键

  13、更直观的程序文件夹:

  14、平板电脑和智能手机通用

  15、支持更大的分辨率

  16、专为双核处理器编写的优化驱动

  17、全新的18、增强的复制粘贴功能

  19、语音功能

  20、全新通知栏:

  21、更加丰富的数据传输功能

  22、更多的感应器支持

  23、语音识别的键盘:

  24、全新的3D驱动, 游戏支持能力提升

  25、全新的谷歌电子市场

  26、增强的桌面插件自定义

  Android N.n

  Jelly Bean“果冻豆”继“冰激凌三明治”

打开APP阅读全文
{{data.thematic.text}}

相关文章

加载中...

分享到

请使用浏览器的分享功能
分享到微信等