疯狂Android讲义(含CD光盘1张)
李刚编著
ISBN
978-7-121-13576-7
2011年6月出版
定价:89.00元
16开
704页
宣传语:疯狂源自梦想
技术成就辉煌
内 容 简 介
计算机便携化是未来的发展趋势,而Android作为最受欢迎的手机、平板电脑操作之一,其发展的上升势头是势不可当的。而Android应用选择了Java作为其开发语言,对于Java来说也是一次极好的机会。
本书全面地介绍了Android应用开发的相关知识,全书内容覆盖了Android用户界面编程、Android四大组件、Android资源访问、图形/图像处理、事件处理机制、Android输入/输出处理、音频/视频多媒体应用开发、OpenGL与3D应用开发、网络通信编程、Android平台的Web Service、传感器应用开发、GPS应用开发、Google Map服务等。
本书并不局限于介绍Android编程的各种理论知识,而是从“项目驱动”的角度来讲授理论,全书一共包括近百个实例,这些示范性的实例既可帮读者更好地理解各知识点在实际开发中的应用,也可供读者在实际开发时作为参考、拿来就用。本书最后还提供了两个实用的案例:疯狂连连看和电子拍卖系统Android客户端,具有极高的参考价值。本书提供了配套的答疑网站,如果读者在阅读本书时遇到了技术问题,可以登录疯狂Java联盟(http://www.crazyit.org)发帖,笔者将会及时予以解答。
本书适合于有一定Java编程基础的读者。如果读者已熟练掌握Java编程语法并具有一定图形界面编程经验,阅读本书将十分合适。否则,阅读本书之前建议先认真阅读疯狂Java体系之《疯狂Java讲义》。
前 言
计算机便携化是一种趋势。在人们的习惯里,很容易把电脑理解成主机、显示器、键盘的“组合”,即使后来出现了笔记本电脑,其实依然脱不了主机、显示器与键盘的组合。对于这种传统的电脑,用户必须“安静”地坐下来,打开计算机,然后才能使用计算机。但用户并不能完全满足通过这种方式使用电脑,有时用户需要在车上查看、管理公司的运营状况,有时用户需要在等飞机时查看、管理自己的证券交易情况,有时用户需要随时玩玩游戏松弛神经……在这些需求场景下,用户需要更加便携化的计算机,这也是目前智能手机、平板电脑大行其道的重要原因。
Android系统就是一个开发式的手机和平台电脑的操作系统,目前的发展势头十分迅猛。虽然Android面世的时间不长,但Android已经对传统的手机平台(如Symbian)构成了强大冲击,最近Nokia宣布与Microsoft结盟,可能会逐步采用Windows
Phone来代替自己的Symbian系统,不过业界大多并不看好这次结盟,因为Windows的手机操作系统本身并不太受市场欢迎。业界部分人士预测,Android将会成为应用最为广泛的手机操作系统。
对于Java语言而言,Android系统给了Java一个新的机会。在过去的岁月中,Java语言作为服务器端编程语言,已经取得了极大的成功,Java
EE平台发展得非常成熟,而且一直是电信、移动、银行、证券、电子商务应用的首选平台、不争的王者。但在客户端应用开发方面,Java语言一直表现不佳,虽然Java既有AWT/Swing界面开发库,也有SWT/JFace界面开发库,但对于客户端应用开发人员而言,大多不愿意选择Java语言。Android系统的出现改变了这种局面。Android是一个非常优秀的手机、平板电脑操作系统,它将会逐渐蚕食传统的桌面操作系统,而Android平台应用的开发语言就是Java,这意味着Java语言将可以在客户端应用开发上大展拳脚。
随着Android平台在市场占有率上的稳步上升,采用Java语言开发的Android应用会越来越多。不过需要指出的是,运行Android平台的硬件只是手机、平台电脑等便携式设备,这些设备的计算能力、数据存储能力都是有限的,不太可能在Android平台上部署大型企业级应用,因此Android应用可能以纯粹客户端应用的角色出现,然后通过网络与传统大型应用交互,充当大型企业应用的客户端,比如现在已经出现的淘宝Android客户端、赶集网Android客户端,它们都是这种发展趋势下的产物。
对于Java开发者来说,以前主要在Java
EE平台上从事服务器端应用开发,但在计算机便携化的趋势下,Java开发者必然面临着为这些应用开发客户端的需求。对于Java开发者来说,Android应用开发既是一个挑战,也是一个机遇——挑战是:掌握Android应用开发需要重新投入学习成本;机遇是:掌握Android开发之后将可让职业生涯达到一个新的高度,而且Android系统是一个新的发展趋势,这必然带来更多的就业机会与创业机会,这都值得当下的开发者好好把握。
本书有什么特点
本书是一本介绍Android应用开发的实用图书,全面介绍了Android
2.3平台上应用开发各方面的知识。与市面上有些介绍Android编程的图书不同,本书并没有花太多篇幅介绍Android的发展历史(因为这些内容到处都是),完全没有介绍Android市场(因为它只是一个交易网站,与Android开发无关,但有些图书甚至用整整一章来介绍它),也没有介绍JDK安装、环境变量配置等内容——笔者假设读者已经具有一定的Java功底。换句话来说,如果你对JDK安装、Java基本语法还不熟,本书并不适合你。
本书只用了一章来介绍如何搭建Android开发环境、Android应用结构,当然也简要说明了Android的发展历史。可能依然会有人觉得本书篇幅很多,这是由于本书覆盖了Android开发绝大部分知识,而且很多知识不仅介绍了相应的理论,并通过相应的实例程序给出了示范。
需要说明的是,本书只是一本介绍Android实际开发的图书,这不是一本关于所谓“思想”的书,不要指望学习本书能提高你所谓的“Android思想”,所以奉劝那些希望提高编程思想的读者不要阅读本书。
本书更不是一本看完之后可以“吹嘘、炫耀”的书——因为本书并没有堆砌一堆“深奥”的新名词、一堆“高深”的思想,本书保持了“疯狂Java体系”的一贯风格:操作步骤详细、编程思路清晰,语言平实。只要读者有基本的Java基础,阅读本书不会有任何问题,看完本书不会让你觉得自己突然“高深”了,“高深”到自己都理解不了。
认真看完本书、把书中所有示例都练习一遍,本书带给你的只是9个字:“看得懂、学得会、做得出”。本书不能让你认识一堆新名词,只会让你学会实际的Android应用开发。
如果读者有非常扎实的Java基本功、良好的英文阅读能力,而且对图形用户界面编程也有丰富的经验,不管是AWT/Swing编程的经验,还是SWT编程的经验,抑或是Windows界面编程的经验都行,那没有多大必要购买本书,只要花几天时间快速浏览本书即可动手编程了。如果遇到某个类、某个功能不太确定,直接查阅Android Dev Guide和API参考文档即可。
不管怎样,只要读者在阅读本书时遇到知识上的问题,都可以登录疯狂Java联盟(http://www.crazyit.org)与广大Java学习者交流,笔者也会通过该平台与大家一起交流、学习。
本书还具有如下几个特点。
1.知识全面,覆盖面广
本书深入阐述了Android应用开发的Activity、Service、BroadcastReceiver与ContentProvider四大组件,并详细介绍了Android全部图形界面组件的功能和用法,Android各种资源的管理与用法,Android图形、图像处理,事件处理,Android输入/输出处理,视频/音频等多媒体开发,OpenGL-ES开发,网络通信,传感器和GPS开发等内容,全面覆盖Android官方指南,在某些内容上更加具体、深入。
2.内容实际,实用性强
本书并不局限于枯燥的理论介绍,而是采用了“项目驱动”的方式来讲授知识点,全书包括近百个实例,几乎每个知识点都可找到对应的参考实例。本书最后还提供了“疯狂连连看”、“电子拍卖系统Android客户端”两个应用,具有极高的参考价值。
3.讲解详细,上手容易
本书保持了“疯狂Java体系”的一贯风格:操作步骤详细、编程思路清晰,语言平实。只要读者有一定的Java编程基础,阅读本书将可以很轻松地上手Android应用开发;学习完本书最后的两个案例后,读者即可完全满足实际企业中Android应用开发的要求。
光盘说明
1.光盘内容
光盘中的代码按章节存放,即第2章、第2节所使用的代码放在02\2.2文件夹下,依此类推。
另外,书中每份源代码也给出与光盘源文件的对应关系,方便读者查找。
本光盘中有19个文件夹,其内容和含义说明如下:
(1)文件夹名01~19对应于书中的章号,即第2章所使用的代码放在02文件夹下,依此类推。
(2)10文件夹下有HRSystem和HRSystem_Eclipse两个文件夹,它们是同一个项目的源文件,其中HRSystem是IDE平台无关的项目,使用Ant来编译即可;而HRSystem_Eclipse是该项目在Eclipse
IDE工具中的项目文件。
(3)本书的绝大部分项目都是Eclipse项目,因此项目文件夹下包含.classpath、.project等文件,它们是Eclipse项目文件,请不要删除。
2.运行环境
本书中的程序在以下环境调试通过:
(1)安装jdk-6u22-windows-i586-p.exe,安装完成后,添加CLASSPATH环境变量,该环境变量的值为;%JAVA_HOME%/lib/tools.jar;%JAVA_HOME%/lib/dt.jar。如果为了可以编译和运行Java程序,还应该在PATH环境变量中增加%JAVA_HOME%/bin。其中JAVA_HOME代表JDK(不是JRE)的安装路径。
(2)安装Android 2.3。创建AVD虚拟设备。安装Android SDK的方法请参考本书第1章。
(3)安装Apache的Tomcat7.0.6,不要使用安装文件安装,而是采用解压缩的安装方式。安装Tomcat请参看疯狂Java体系的《轻量级Java
EE企业应用实战》第1章。安装完成后,将Tomcat安装路径的lib下的jsp-api.jar和servlet-api.jar两个JAR文件添加到CLASSPATH环境变量之后。
(4)安装apache-ant-1.8.1。
将下载的Ant压缩文件解压缩到任意路径,然后增加ANT_HOME的环境变量,让变量的值为Ant的解压缩路径。
并在PATH环境变量中增加%ANT_HOME%/bin环境变量。
(5)安装Eclipse-jee-helios版(也就是Eclipse
3.6 for Java EE Developers)。
并安装ADT插件,安装插件后在Eclipse中设置Android
SDK的路径。
关于如何安装上面的工具,请参考本书的第1章。
3.注意事项
(1)本书所有Android项目都是Eclipse工程,读者只要将它们导入Eclipse工具中即可。
(2)介绍网络编程章节涉及少数Web应用,将该Web应用复制到%TOMCAT_HOME%/
webapps路径下,然后进入build.xml所在路径,执行如下命令:
ant compile -- 编译应用
启动Tomcat服务器,使用浏览器即可访问该应用。
(3)对于Eclipse项目文件 ,导入Eclipse开发工具即可。
(4)第19章的案例,请参看项目下的readme.txt。
(5)本书有部分按案例需要连接数据库,读者应修改数据库URL及用户名、密码让这些代码与读者运行环境一致。如果项目下有SQL脚本,导入SQL脚本即可,如果没有SQL脚本,系统将在运行时自动建表,读者只需创建对应数据库即可。
(6)本书关于网络编程、传感器编程等部分章节需要连接PC。笔者PC的IP地址为192.168.1.88,读者可以将自己的IP地址设为该地址,或将程序中用到该IP地址的地方修改为自己的PC的IP地址。
(7)在使用本光盘的程序时,请将程序复制到硬盘上,并去除文件的只读属性。
4.技术支持
如果您使用本光盘的过程中遇到不懂的技术问题,可以登录如下网站与作者联系:
网站:http://www.crazyit.org
衷心感谢
衷心感谢可爱的儿子。大年三十,新年初一,当爸爸依然端坐着创作本书时,你用天籁般的哭声把爸爸从电脑前拉开,努力告诉爸爸:生活除了编程,还有其他更多的乐趣。无数个眼干、腰痛的时刻,你用天使般的笑容舒缓爸爸的心情,带给爸爸生活的轻松。当爸爸抱着你在电脑之前编写代码时,你多次努力给爸爸输入一些“上帝的提示”。
还要感谢博文视点的张月萍编辑,她是一个非常务实的好朋友,因为她的敦促,才有了本书的诞生。在本书的创作过程中,她亦提供了大量切实、有用的帮助。
本书写给谁看
如果你已经具备一定的Java基础和XML基础,或已经学完了《疯狂Java讲义》一书,那么你阅读此书将会比较适合;如果你有不错的Java基础,而且有一定的图形界面编程经验,那么阅读本书将可以很快掌握Android应用开发。如果你对Java的掌握还不熟练,比如对JDK安装、Java基本语法都不熟练,建议遵从学习规律,循序渐进,暂时不要购买、阅读此书。
2011-4-14