引言
正在阅读本书的读者一定很了解Android平台、智能手机和应用程序开发,也一定知道Android设备在过去几年里的飞速发展和这个平台对开发者的无限潜力。本书可以列出关于Android的一些数字和统计信息,但是这样做意义并不大,因为这些数据在读者阅读本书时很可能已然无效。显然,Android市场发展如火如荼,而且在接下来几年内,这种发展势头必将持续下去。
这种趋势简直就是Android开发者的福音,希冀成为Android开发专家的开发者们前景一片光明。移动互联网行业对专业Android应用程序开发人员的需求数量日益增长,与此同时,对于开发人员的技术要求也越来越高,因为用户需求的功能和新技术所提供的可能性要求开发者必须高瞻远瞩。
尽管谷歌为开发者提供了一套伟大的编程工具和API,开发者仍需在Android上不断创新。这就是本书的目的:进一步发挥Android平台的功能,构建更高级的应用程序。
目标读者
本书适合以下读者:具有Android编程经验并想进一步学习更高级的API和技巧;平时使用Java语言编程,但也希望学习一门新的语言;敢于尝试新事物,不管是新的IDE还是全新的API;喜欢测试所有新特性并且在刚开始遇到失败时不会气馁。
本书并非是关于Android开发的入门图书,而是针对具有Android应用程序开发经验的读者。读者需要了解Android的基本知识,能使用Activity、Service、BroadcastReceiver和ContentProvider这些类创建应用程序。读者需要熟悉有关应用程序清单的核心概念以及不同类型的应用程序资源。如果读者能够在几分钟内构建一个简单的Android应用程序,那么将可以很好地理解本书内容。
本书的目的是带领读者挑战极限。每一章都试图对开发者通常所了解以及日常使用的知识加以延伸。尽管读者可能对书中的某些章节很熟悉,但本书会对这些章节展开更深入的讨论。所以,Android开发者们大可放心,本书绝对会提供新东西。
本书内容
Android平台发展速度惊人。即使是在本书撰写期间,也不得不改变原先撰写计划,因为谷歌不断为Android开发者推出新的API、工具和技术。书中许多示例需要较新的Android版本,本书假定读者熟悉不同的API级别,知道每个用例需要使用哪个Android版本。
本书主要讨论对于Android开发者有价值的技术,而某些技术并未涵盖在内,是因为它们没有“超越极限”,或者说对本书的实际价值不大。因此,这本书不是有关Android应用程序开发的方法论,也不是一一罗列所有特性,而是在每章都深入探讨相关的技术细节。本书也不会提供完整的应用程序,而是提供大量代码供开发者改进自己的应用。
由于经验不尽相同,开发者可能会遇到不太熟悉的技术。例如,第12章介绍了安全话题,需要读者对数据加密、私钥/公钥有基本的了解;第18章涉及USB通信、蓝牙低功耗和Wi-Fi Direct技术。但读者不必担心,涉及较陌生技术时,本书会提供让读者找到更多相关信息的资源。每章都有“延伸阅读”部分,列出了书籍或网站等资源,以供读者进一步了解相关主题。
源代码
本书中大多数源代码清单都没有完整呈现,而是展示了其中最能说明相关主题的代码片段。所以,本书假设读者很熟悉Android开发,知道把这些片段嵌入自己开发项目的哪一部分。