前言Foreword


Android是谷歌(Google)发布的一个开放源代码的手机平台,由Linux内核、中间件、应用程序框架和应用软件组成,是第一个可以完全定制、免费、开放的手机平台。Android不仅能够在智能手机中使用,还可以用在平板电脑、移动互联网终端、笔记本计算机、便携式媒体播放器和电视等电子设备上。
Android在诞生之日起便受到广泛的关注,目前仍以较高的市场份额在智能手机市场中占据半壁江山。随着Android 12预览版的公布,Android系统迎来了最大的设计变化,包括全新设计语言 Material You,UI上使用更多的大型按钮和界面动画,以及增加更多符合安全机制的隐私设定等。
本书基于Android 11版本,全面而详细地介绍了Android应用程序开发所涉及的各方面内容,包括集成开发环境搭建、用户界面设计、后台服务开发、数据存储、组件通信、地图应用、Widget和Android NDK等内容。系统地介绍了Android的各种特性,将Android系统的优越之处展现在读者面前,通过每章的内容逐渐引领读者进入Android的世界。
全书的内容共12章,具体介绍如下。
第1章介绍了Android平台的起源、发展史、特征和体系结构,并对主流的手机操作系统进行了简单介绍。
第2章详细说明了Android Studio开发环境的安装和配置方法,理解Android SDK的用途,熟悉在应用程序开发过程中可能会使用到的开发工具。
第3章介绍了基于Android Studio开发Android应用程序的基础知识和基本方法,详细说明了Android应用程序的目录结构和自动生成文件的作用。
第4章介绍了Android程序的生命周期和进程优先级的变更方式,并以Activity为例说明Android组件生命周期的状态转换和事件回调函数的调用顺序,最后简单介绍了Android调试工具的使用方法。
第5章介绍了Android用户界面的开发方法,重点介绍了常见的界面控件、界面布局、菜单、操作栏、Fragment、界面事件的使用方法。
第6章介绍了Android系统的组件通信机制,包括使用Intent启动组件的原理和方法、Intent过滤器的原理与匹配机制以及广播消息的接收和发送方法等。
第7章介绍了Android系统的后台服务组件Service,包括Service的原理和用途、Service的启动和绑定、AIDL定义跨进程服务的接口以及线程使用和跨线程界面更新。
第8章介绍了Android系统所提供的多种数据存储方法,包括易于使用的SharedPreferences、经典的文件存储和轻量级的SQLite数据库,最后介绍了Android系统应用程序间的数据共享接口ContentProvider。
第9章介绍了位置服务的概念和位置信息获取方法,简单说明了百度地图密钥的申请方法,重点介绍了地图中组件的使用方法。
第10章介绍了Widget的开发方法,详细讲解了Widget的设计原则和开发步骤,说明了Widget的配置方法,以及使用Service更新Widget的技巧。
第11章介绍了Android系统中使用C/C++本地代码进行程序开发的方法,并说明了Android NDK的用途和优缺点,本地代码的开发和编译环境,以及与CPU指令集相关的开发示例。
第12章以“天气预报软件”为例,介绍了Android应用程序开发过程中需求分析、界面设计、模块设计和程序开发等步骤,并简单介绍了Android应用程序的设计和开发的思路与方法。
本书由哈尔滨工程大学王向辉、冯光升和张国印编著。其中,王向辉编写第1~4章,冯光升编写第5~9章,张国印编写第10~12章。参与本书编写工作的还有赵欣、赵鑫鑫、周铃雨、明旭、颜伟贺、董奥、刘启超、王玲、翁岩青、杜婧、徐子涵、邹新、马书亮、张灿岩、张弘、王建立、李慧婷、周维、郭轶、赵乙东、张洪浩、李晨星,这里对他们的辛苦工作表示衷心的感谢。
Android是一个发展迅速的手机平台,很多方面还在不断地完善和变化。由于作者的能力和水平所限,虽然竭尽全力,但仍然难免存在错误和疏漏的地方,希望各位专家、教师和学生能毫无保留地提出所发现的问题。本书的示例代码和电子课件可以在清华大学出版社的官网下载。

王向辉
2021年12月于哈尔滨工程大学