绪论
本章将主要介绍Android操作系统,这些背景知识可以帮你更好地理解本书的内容。你将了解到,这一平台在如今以便携式消费型电子设备为基础的Internet
2.0环境下是如何大显身手的。这里���说的Internet
2.0,是指使用便携式消费型电子设备,通过多种不同的数据网络来访问互联网。这些电子设备包括智能手机、平板电脑、电子书阅读器,还有一些新兴的消费型电子设备,如交互式电视(iTV)。
本书是这一领域的基础性入门教程,因此不是所有与**新媒体相关的领域都会涉及,例如本书不会涵盖3D和视频串流等内容。在本章中,我们会介绍在本书里,哪些内容将会涉及,而哪些内容不会涉及。
在本章的*后,将会介绍进行Google Android平台开发工作所需要的工具,以及如何下载这些工具。
如果你已经对这场Android革命的重要意义有所理解,并且知道开发Android应用程序需要哪些工具,那么你可以跳过本章的内容。不过,本章的一部分内容可能会帮助你产生新的开发灵感,因此读还是不读,*好谨慎决定哦!
友情提示:开发可靠的Android应用程序可不是轻松的工作,你需要同时具备一定的**编程语言(如Java)和标记语言(如XML)知识,而编写一个既实用又吸引人的新媒体应用程序需要深入了解新媒体方面的知识,如2D绘图、3D渲染、音频处理、视频串流、GPS定位以及数据库设计。
一口气掌握上述这些知识几乎是不可能的,要想成为一名**的Android***,需要经过多年的努力实践、刻苦钻研以及反复试错。通过阅读本书,你可以为将来学习更专业的知识打下基础,了解编写Android应用的工作流程,以便*终创造出属于自己的Android作品。
1.1 Android是什么
Android*早是由Andy
Rubin于21世纪初创立的一个手机操作系统。2005年,Google收购了Android公司,并任命Andy
Rubin为Google的移动平台总监。很多人认为,这次收购很大程度上是Google为应对当时正迅速崛起的苹果iPhone所作出的反应,但这一领域还有其他一些有力的竞争者,比如诺基亚的Symbian和微软的Windows
Mobile,因此Google此次收购人才和知识产权的目的显而易见,即是为了让自己能够在后来被称为Internet
2.0的这一新兴领域占有一席之地。
Internet
2.0使得消费型电子产品用户可以通过多种不同的数据网络访问互联网内容。用户可以使用便携式消费型电子设备,如智能手机、触屏平板电脑、电子书,甚至是非便携设备,如iTV、家庭媒体**以及机顶盒。Internet
2.0将游戏、3D动画、数字视频、数字音频、高清影像等新媒体内容不断带到我们的生活之中,而Android正是一种载体,数码艺术家们可以通过它来创造出用户从未体验过的新媒体作品。
在过去10年中,Android日趋成熟,并已成长为一个十分**可靠的嵌入式操作系统平台,版本从1.0开始,经历了1.5、1.6、2.0、2.1、2.2、2.3等稳定版,直到*近发布3.0版本。嵌入式操作系统可以看做是将整个计算机系统集成在一个芯片上,小到足以装进一个手持电子设备中,但却拥有强大的功能,可以运行各种应用程序(人们更喜欢称之为“应用”)。
Android具备一套完整计算机操作系统所拥有的强大功能,它基于Linux开源平台和Oracle公司(原Sun
Microsystems)的Java语言,Java语言是世界上*受欢迎的编程语言之一。
说明 开源(open
source)指的是通常由开源社区成员所合作开发的软件,这些软件可以免费供商业使用,并且开放其全部的源代码,以便在必要时对其进行进一步修改。Android是开源的,尽管Google会先进行一段时间的内部开发之后再公开其源代码,但在源代码公开后,它便可以免费供商业使用。
对于一个Android设备来说,配备1GHz的处理器以及1GB的高速DDR2内存并不罕见,其性能足以媲美几年之前的台式电脑,或者是现如今的上网本。随着时代的发展,你将会看到移动设备操作系统和台式机操作系统的进一步融合,例如Windows
Mobile 7和iPhone 4移动平台。
当事实证明Android及开源平台的力量足以形成气候时,一些大公司,包括HTC、三星、LG以及T-Mobile,创立并加入了开放手持设备联盟(Open
Handset Alliance,OHA)。该联盟旨在为Google的Android开源平台提供推动力,而且这一举措十分奏效。
如今,相比其他操作系统,更多的品牌制造商选择Android作为其消费型电子设备的操作系统。
OHA的发展壮大令Android***获益良多。Android使得***可以在单一环境下创建自己的应用程序,通过OHA的支持,***可以将他们的内容发布到众多**制造商的产品中,并可用于多种不同类型的消费型电子设备,如智能手机、iTV系统、电子书阅读器、家庭媒体**、机顶盒以及触屏平板电脑。不得不说,这些机会着实令人心动。
因此,Android是一个成熟的操作系统,在Google的支持下,它已经成为现今计算领域*有力的竞争者之一。Android使用Linux、Java等免费的开源技术,以及XML等标准,为***和众多世界**的消费型电子产品制造商提供了一个内容和应用程序的发布平台。什么是机会?Android就是*好的机会!
1.2 Android的优势
Android平台的好处实在是太多了,足以让你体会到Android开发的魅力。
首先,Android基于开源技术。起初,开源技术并不如苹果和微软的付费技术那样完善,但经过20多年的发展,开源软件技术在精致程度上已经可以和传统方法开发的技术平起平坐。这一点在Internet
2.0中得到了印证,因为大多数消费型电子设备制造商选择了Linux和Java,而并非Windows和Mac操作系统。因此,Android***所开发的应用不仅可以用于智能手机,还可以用于新兴的消费型电子设备,只要这些设备拥有网络功能,并可以连接到Android电子市场。相比封闭操作系统和PC操作系统来说,Android覆盖了更多的设备并影响着用户生活的方方面面,这意味着将产生更多的收益,也将进一步刺激Android开发。
其次,除了可以免费供商业使用以外,Android背后还有一个强有力的靠山,它就是现今计算领域规模*大、*富有、*富创新力的公司之一:Google。此外,还有OHA以及来自各大**企业的数万亿美元资本在支持着你的开发工作。这听起来像是天方夜谭,但只要你成为一名Android***(经过十几章的学习后你就可以),这一切都将成为现实。
*后,也是*重要的一点,发布Android应用程序比在其他同类平台上发布要容易得多(在这里我不点名以避免争议)。我们都听说过一些耸人听闻的事,比如一些很大的开发公司往往要等上几个月,甚至是几年,它们所开发的应用才能在某些应用商店中被批准上架。Android开源平台上就几乎不存在这样的问题。在Android电子市场中发布你的应用非常容易,只需缴纳25美元的费用,上传你的.apk文件,然后设置该应用是免费下载还是付费购买即可。
1.3 本书范围
本书是开发Android应用程序的入门介绍,适合零基础的初学者阅读。零基础的初学者,是指从未在Android平台上为消费型电子设备开发过任何应用程序的人,他们可能不了解Java是什么,也不知道XML是如何工作的。
1.3.1 本书所涉及的内容
本书将涉及Android开发的基础要素,包括以下这些内容。
在该平台上进行开发所需的开源工具
从哪里可以获取这些免费工具
如何正确安装和配置用于应用开发的工具
哪些第三方工具可以配合Android开发工具使用
目前有哪些操作系统和平台支持使用这些工具来进行Android开发
Java和XML的编程理念和基础,以及它们在Android开发中的具体应用
Android应用程序的工作方式
如何定义用户界面
如何在屏幕上显示内容
如何与其他的Android应用程序通信
如何访问数据、资源、网络以及互联网
如何将应用内外所发生的事件通知给用户
如何发布Android应用程序
Android应用程序如何通过Android电子市场销售、下载以及自动更新
Android包含超过44个Java包,总计7000多段功能性程序代码,使你能够实现所能想象到的任何功能:从在屏幕上放置一个按钮,到合成语音和访问智能手机的一些**功能,如高分辨率摄像头、GPS以及重力传感器。
说明 Java中的“包”(package)指的是一些拥有相关功能的编程工具的集合。例如,java.io这个包中包含了用于在你的程序中处理输入和输出的工具,如读取文件内容或向文件写入数据。在后面的章节中,我们会讲解如何将你自己的代码组织成包。
这说明什么?这说明即便是***的Android书籍也无法完全涵盖Android平台可以实现的如此众多的功能。实际上,大部分书籍都只专注于Android
API中的某个特定领域。每个API都很复杂,从***的角度来看,这意味着无比强大的创造力。
1.3.2 本书未涉及的内容
那么,本书中没有涉及哪些内容呢?有哪些很酷又很强大的功能需要你去继续阅读关于Android开发的进阶书籍呢?
在硬件方面,我们将不会涉及如何控制摄像头、访问智能手机的GPS数据,以及如何访问重力传感器和陀螺仪(即当用户旋转手机时,使应用程序可以对手机的位置作出反应)。我们也不会涉及一些关于触摸屏的**概念(如手势),不会涉及访问麦克风、蓝牙等硬件以及无线网络连接的内容。
在软件方面,我们将不会涉及创建你自己的Android
SQLite数据库结构、数字视频和音频等新媒体的解码,以及实时3D渲染系统(称为OpenGL
ES)。我们不会涉及语音合成、语音识别和全球语言支持(通过这个功能,***可以让应用程序正确显示不同**的语言和字符集)。我们也不会涉及**的编程技术,如游戏开发、人工智能以及物理模拟。上述这些内容非常复杂,适合在专门的书籍中详细探讨。
1.4 下载SDK工具
在第3章中,你将学习如何搭建一个完整的Android开发环境。我们将主要用Windows来讲解,因为我是在Windows中进行Android开发的,不过在Mac和Linux系统中,步骤也是非常相似的。如果你喜欢使用Mac或Linux,我保证这些步骤也完全适用。
在这里,我们来看看到哪里去下载所需的工具,这样你可以在学习安装和配置这些工具之前先做好准备,因为每一个开发工具都有数百兆大小,根据网速的不同,下载这些工具可能只要花10分钟,也可能要花上10小时。
Android开发环境主要由以下三个主要部分组成:
Java
Eclipse
Android
当你在第3章中安装并配置你所下载的这些软件包时,你会看到Eclipse提示说需要安装Java软件包才能运行。因此,我们接下来就按照实际安装的顺序来下载这些软件,先是Java,然后是Eclipse,*后是Android。
1.4.1 Java
我们先从一切的基础——Java平台开始。我们需要安装的是Java标准版(Java Standard Edition,
Java SE),这个版本包含Java编程语言的核心内容。
要下载Java SE,只要访问Oracle公司的网站,在Technology Network菜单的Java目录下找到Java
SE下载页面即可,或者可以直接访问这个网址:http://www.oracle.com/technetwork/java/javase/
downloads/index.html
图1-1显示的是Java SE下载页面。
图1-1 下载Java SE JDK
点击Download JDK按钮开始下载Java SE
Java开发工具包(JDK),然后从下拉菜单中选择你所使用的操作系统平台,同意许可协议,点击Continue按钮,你将看到一个所选软件包的下载链接,点击链接即可开始下载。
说明 请不要下载Java企业版(Java Platform Enterprise Edition, Java
EE)、Java FX或者Java with NetBeans。
1.4.2 Eclipse
Eclipse是一个集成开发环境(Integrated Development
Environment,IDE),它提供了一个集成环境,让你更加方便地编写、运行和测试程序代码。换句话说,你可以在Eclipse内置的文本编辑器中编写代码,然后再用Eclipse的命令来运行和测试这些代码,无需切换到其他软件。
目前,运行Android需要Eclipse的Galileo版本(而不必是Helios版),你需要下载支持Java的Eclipse版本,也就是Eclipse
IDE for Java
Developers。通过下面的网址可以访问Eclipse网站中的下载页面:http://www.eclipse.org/downloads/packages/release/galileo/sr2。
图1-2显示了你需要下载的Galileo软件包。
图1-2 选择下载Eclipse IDE for Java Developers
点击右栏中和你所使用的操作系统相对应的链接,然后选择一个合适的镜像站点开始下载。
1.4.3 Android SDK
Android软件开发工具包(Software Development
Kit,SDK)包含一系列文件和工具,它与Eclipse IDE相配合,就可以成为一个Android专用的开发工具。
要下载Android
SDK,可以通过下面的网址访问Android***网站:http://developer.android.
com/sdk/index.html
图1-3显示了可供下载的Android SDK软件包,请下载适合你所使用的操作系统的*新版本SDK。
图1-3 下载Android SDK
说明 在第3章中,我们将使用Eclipse安装其他一些软件包(图1-3中左侧栏中显示的那些)。目前你无需在意其他的软件,只需下载主要的SDK软件包即可。
Eclipse和Android
SDK安装并配置完毕后,可以安装手机模拟器和其他一些插件来增强你的开发环境。在第3章中我们会涉及这些内容,同时还会讲解Eclipse
IDE Android开发环境的详细配置。
1.5 小结
Google于2005年收购了Andy
Rubin所开发的Android,并将其开源,使得***能够用Java和XML来创建移动设备应用程序。从那以后,Android风潮促使行业巨头形成一个开放行业联盟,并使其成为如今成长*快的移动平台。Android的潜力值得看好,不仅是移动设备,还包括其他种类的消费型电子设备,如平板电脑和iTV。
从本书中,你将学习从哪里获取Android开发环境、如何正确安装并配置它们,以及如何用它们创建出能发挥Android强大功能的应用程序。
Android开发需要三个基本的组件:Java、Eclipse,当然,还有Android。按照本章中的讲解,你可以免费下载到这些组件。把Android
SDK安装到Eclipse中之后,你就拥有了一个综合性的Adnroid应用程序开发环境。
在下一章中,我们将大致讲一讲本书所涵盖的内容,然后从第3章开始讲解开发环境的安装与配置。
……