前 言
自从Google于2007年11月5日发布基于Linux平台的开源手机操作系统Android后,移动信息设备的开发平台进入了一个崭新的领域。Android是Google开发的基于Linux平台的开源手机操作系统,由操作系统、中间件、用户界面和应用软件组成。它涵盖移动信息设备工作所需的全部软件,包括操作系统、用户界面和应用程序。目前已经成为移动信息设备应用程序开发的最主要的平台,而且必将成为今后移动信息设备应用程序开发的主流工具。
Android平台采用了软件堆栈(Software Stack)。从架构来看,从高层到低层分为4层:底层以Linux核心为基础,并包含各种驱动,只提供基本功能;中间层包括程序库(Libraries)和Android运行时环境;再往上一层是Android提供的应用程序框架;最上层是各种应用软件,包括通话程序、短信程序等,这些应用软件由开发人员自行开发。Android系统因其移植性、跨平台性以及开放性等优点,被移动终端商广为使用。随着Android的普及,Android的版本已经从最初的1.0版发展到现如今的4.1版。
本书共分17章,各章的主要内容说明如下。
第1章:对Android的历史、发展和功能进行简单介绍,并详细介绍Android应用程序的各个组成部分,使初学者对Android平台有一个清晰的认识和了解。
第2章:讲解Android开发平台的安装和配置过程,详细介绍使用Eclipse集成开发环境中的ADT插件进行Android应用程序开发的步骤和需要注意的细节。
第3章:讲述编程语法、数据类型、用于实现数值操作的运算符和表达式、实现程序过程的基本控制语句以及类对象等。对于已有程序设计语言基础的读者,对该章可以快速浏览,然后通过实训题加以复习和巩固;对于程序设计的初学者来说,必须认真学习该章,打下坚实的程序设计语言基础。
第4章:讲解Android人机界面组件。该章通过实现基本的Android界面,详细介绍Android中的基本UI设计方法、UI的基本属性。并在此基础上讲述Android生成用户界面的两种方式:XML文件和代码生成方式。
第5章:介绍Android应用的基本组成单位——Activity。通过一个完整的单Activity的Android应用,详细介绍Activity的程序结构和生命周期,并在此基础上讲解应用程序界面设计的两种方式。通过该章的学习,读者将对Android的应用,特别是Activity,有更深层次的认识。
第6章:主要介绍Android后台服务应用——Service程序,详细介绍Service的作用及其工作原理。
第7章:主要介绍Android桌面组件,桌面组件是指能显示到Android设备桌面的组件,包括程序的快捷方式和Widget组件等。通过创建桌面组件,用户能更方便快捷地操作Android应用程序,不仅能够节省用户开启程序的时间,还能对界面的美观起到一定的作用。
第8章:介绍Intent的启动机制以及常用的Intent行为,重点讲解在Activity中使用Intent的过程以及在Broadcast中使用Intent的过程。
第9章:讲解Android处理图形化的开发库——OpenGL ES。通过对该章的学习,可以对OpenGL有一定的了解,能使用OpenGL做简单的2D或者3D效果程序开发。
第10章:主要介绍Android SDK中的资源、国际化技术。通过这些技术,开发人员可根据不同的语言环境显示不同的界面、风格,也可根据手机的特性做出相应的调整。
第11章:介绍Android数据存储机制,详细介绍5种常用的数据存储方式:使用Preferences存储数据、使用文件存储数据、使用数据库(SQLite)存储数据、使用内容提供程序(ContentProvider)存储数据。
第12章:主要讲解Android通信业务接口,包括Wifi、电话、短信、上网。重点介绍使用Webkit和HttpComponents访问Internet的方法、Socket通信原理。
第13章:主要讲解Android的GPS应用和搜索引擎相关的技术,最后通过一个实例介绍使用Google Map实现地图的应用。
第14章:讲述Android的多媒体应用开发,该章重点介绍如何使用MediaPlayer、MediaRecorder、VideoView和SurfaceView组件开发多媒体应用。
第15章:详细介绍NDK的下载、安装以及配置过程,并介绍如何用NDK开发Android应用程序。
第16章:主要介绍Android开发过程中编码、编译以及运行时常见的一些错误,有些错误可能是开发人员的疏忽,有些错误也可能是因为缺少某些东西造成的。重点介绍一些常见错误和错误的捕捉方法,希望通过对该章的学习,使开发人员在开发过程中能尽量避免错误和快速解决错误。
第17章:实现手机新浪微博功能,该实例涉及到Android开发的主要组件。通过对该章内容的学习,不仅有利于读者了解一个完整的Android综合应用的设计和实现过程,还能加深对以前所学知识的理解和运用。
本书按照循序渐进的原则组织内容,由易到难,从入门到精通讲解Android关键技术和应用开发。基于最新的SDK(Android 4.1)进行设计和开发实例,详细介绍每个知识点的重要接口,涵盖Android平台的环境搭建、语言基础、Android组件开发和Android的高级应用等所有主题。
本书采用先分析后实现的方法描述Android的组件,所有知识点都包含至少一个实例,读者不仅能够以实例为基础来学习,而且还可以自己动手开发。每章都配备了一定量的章节习题和实训习题,帮助读者加深对知识点的理解。
除了署名作者外,参与本书编写的还有杨霞等同学。另外张文军、广红、吴文邦、纪文峰、赵汝腾等对本书的编写提出了宝贵的意见,在此表示感谢。
由于作者水平有限,书中难免存在疏漏之处,欢迎读者给予指正。