【IT168技术】提到Android,我们不得不佩服Android的发展势头是如此的迅猛,让Symbian措手不及,转瞬间被斩落马下,今年的智能手机数量超越iphone也着实让开发者叫好。虽然Windows phone也在微软的大力推广之下声名鹊起,甚至已经成为了被业界看好的“三国混战”,但是无论是从终端数量还是应用数量上,都不足以让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“果冻豆”继“冰激凌三明治”