前言
作为一款Linux内核的操作系统,Android系统因其移植性、跨平台性及开放性被广大移动终端商广为使用。Android已经以闪电般的速度在全球发展,成为时下非常流行的移动平台。Android的迅速发展离不开其快速增长的各种应用,特别是支持应用上传、下载及交流互动的Android应用商店(APP Store)的普及和推广,更将Android推向了全球的主流应用平台。目前众多应用程序商店也如雨后春笋般纷纷展开,这里既有国外的谷歌、亚马逊等巨头的身影,也有腾讯、360、网易、电信、联通等国内IT知名厂商和运营商的跟随。
本书以热门应用为主线,引入了9个当前热门的综合应用实例(微博、视频点播、二维码、游戏、电话、相册、GTalk、上网),涵盖了几乎所有Android应用的大部分知识。本书按照循序渐进的原则组织内容,由易到难,先介绍应用功能设计,然后讲解应用所涉及的关键技术和知识点,最后详细介绍如何根据设计和关键技术来实现应用。读者不仅可以以实例为基础来学习,而且还可以自己动手开发。
全书共分5篇:Android开发基础、Android多媒体应用实例开发、Android游戏开发、Android Web应用开发和Android手机应用开发。Android开发基础篇详细讲述开发环境、开发语言等要素,其余四篇以综合应用实例为主线,介绍Android综合应用开发中所涉及的关键技术、设计和实现过程。各章的主要内容如下。
第1章讲解了Android开发平台的安装和配置过程,详细介绍了使用Eclipse集成开发环境中的ADT插件进行Android应用程序的开发步骤和需要注意的细节。
第2章针对Android的开发,介绍Android的代码风格,主要包括注释规范、编程风格规范和异常处理规范。
第3章实现了基于Android和nginx的视频点播系统,其中视频点播系统的客户端是在Android提供的接口基础上实现的,流媒体服务器是通过nginx服务器搭建的。通过对本章的学习,读者不仅可以了解视频点播系统设计和实现的思路,还可以掌握SQLite、异步线程和MediaPlayer等知识点。
第4章实现了图片管理器,该应用不仅能够自动扫描Android设备上的所有图片,包括SD卡的图片、外接USB设备的图片及本地的图片,还能支持幻灯片的放映和图片编辑功能,也能支持图片的管理功能。通过对本章的学习,读者不仅能够了解图片管理器的工作原理,还能学习、掌握GridView、Menu和BitMap等知识点。
第5章以俄罗斯方块游戏为主线,讲述如何基于Android提供的接口实现游戏的开发。通过对本章的学习,读者不仅能够掌握游戏开发的基本特点,而且能够学会资源国际化、资源动态适应及SQLite的使用。
第6章实现了一款手机游戏——五子棋大战,该应用画面精美、简单明了。本游戏不仅仅实现了人机对战,同时还支持通过蓝牙的联网对战,可以跟好友通过蓝牙切磋棋艺。通过对本章的学习,读者能够对简单的游戏设计有一个初步的了解,并熟练应用Bluetooth。
第7章实现了手机微博功能,该实例涉及了Android开发的主要组件。通过对本章的学习,不仅有利于读者了解一个完整的Android综合应用的设计和实现过程,还能加深对以前所学知识的理解和运用。
第8章主要介绍如何编写一款体积小但是功能齐全的浏览器,以及浏览器的一些辅助功能。希望通过对本章的学习,读者可以熟练地使用WebView构建浏览器,并且能够熟练地使用XmlSerialize对XML文件进行读写和删除操作。
第9章实现了手机通话管理器,该应用实现了拨号通话的功能,同时还实现了显示最近通话记录、查看联系人的功能。不仅如此,在联系人界面还可以对联系人进行一些特殊的定制,如设置铃声、设置黑白名单,以及查看详情和删除等设定。希望通过对本章的学习,读者可以对Android手机通话管理有一定的了解。
第10章基于Google提供的zxing库开发了一个二维码工具,该工具不仅能够生成普通文本二维码、电子邮件二维码、网址二维码、短信二维码、电话二维码,还能解析这些二维码并根据二维码类型启动相应的应用。
第11章通过GTalk的API实现一个IM客户端,该客户端不仅能够管理联系人,还能获取当前的地理信息。通过对本章的学习,读者一方面掌握GTalk的API、XMPP协议和地理位置接口,另外一方面能够使用这些接口进行IM的开发。
本书定位于已有一定基础的Android中高级开发相关人员及计算机爱好者学习使用,还可作为社会相关办学机构、大中专院校的辅助教材使用。为了方便读者学习和操作,书中实例所涉及的源代码都可免费下载,网址:www.broadview.com.cn/21502。
除了署名作者之外,参与本书编写工作的还有赵焕杰、姜泽虎、张文军、赵汝腾、史成艳、邵长恩、孟垂刚,在此一并表示感谢。由于水平有限,书中难免存在疏漏之处,欢迎读者给予斧正。