Android 7编程入门经典:使用Android Studio 2(第4版)
上QQ阅读APP看书,第一时间看更新

前言

在官方版本发布前,我刚开始使用AndroidSDK(SoftwareDevelopmentKit,软件开发套件)的版本是0.8。当时的开发工具不是很完善,SDK中的API(ApplicationProgrammingInterface,应用编程接口)也不稳定,开发文档也非常稀缺。但Android现在已经成为世界上最受欢迎的移动操作系统之一。

无论是出于兴趣爱好或是工作需要,每天有越来越多的开发人员使用Android Studio进行Android开发。对于许多想要进入Android开发世界的新开发者来说,他们所面临的问题是不知道从哪里开始学习。

这个困难一直在我脑海中不断地激励着我写好这本书。它不仅可以使Android开发初学者受益,而且帮助他们逐步编写出更复杂的应用程序。

写这本书是为了帮助那些刚刚入门的Android开发者,通过循序渐进的方式引入必要的主题,通过这种方式能够帮助你在学习过程中不被过多的细节淹没。我一直坚持的理念是“实践是最好的学习方法”。在每个章节中有许多的“试一试”段落教你如何开发,随后“示例说明”段落会给你解释它们是如何工作的。通过这个机会,我根据读者的反馈对本书的前一版进行了改进,并加入了更多对于Android入门开发者来说非常重要的主题。

虽然Android编程是一个很大的主题,但我撰写本书有三个目的:指导你从基础开始,帮助你理解SDK的底层架构,使你了解为什么事情是这样实现的。没有一本书是可以包含所有Android编程知识的。但是我可以非常自信地告诉你,当读完这本书(并做完其中的练习)以后,你已经为下一个Android编程挑战做好了充分准备。

本书读者对象

本书面向那些使用Google的Android SDK开发应用的Android初学者。为了更好地从本书中受益,读者需要有一定的编程知识,至少了解面向对象编程(Object-Oriented Programming, OOP)概念。如果完全没有使用过Java—— Android开发中使用的语言,最好先报名参加一个Java编程培训课程或者找一本比较好的Java编程书学习。根据我的经验,如果了解C#或VB.NET,学习Java不会有太大困难。如果你已经非常熟悉C#或VB.NET,应该可以轻松地从“试一试”开始学习。

对那些完全不懂编程的人来说,我知道开发移动应用并且赚点钱是非常吸引人的想法。但是,在尝试本书中的示例之前,我认为最好还是首先学习编程的基础知识。

注意:本书中所有的示例都是基于Android SDK版本N(Nougat)在Android Studio 2预览版(1到6)中编写和测试的。虽然我们尽最大的努力保证在这本书中使用的工具都是最新的版本,但是当你读这本书时,很有可能个别工具已经有了新的版本。因此个别说明或者截屏会有细微的差别。但这些变化不会影响你对本书内容的理解。

本书内容

本书主要包含使用Android SDK进行Android编程的基础知识。内容被划分成12章和附录A。

第1章:Android编程入门。该章主要介绍AndroidOS(OperationSystem,操作系统)基础知识和现在的状态,也介绍了Android设备的主要特点和现在市场上主流的Android设备。你会掌握如何下载和安装AndroidStudio并使用它开发Android应用和在Android模拟器中测试应用。

第2章:使用Android Studio进行Android开发。该章介绍Android Studio中大部分的控件。你将了解IDE(Integrated Development Environment,集成开发环境)和其组件。最后会发布一个完成的应用。

第3章:Activity、Fragment和Intent。该章介绍这三种组件在Android编程中的基本概念。Activity和Fragment用来构建Android应用区块。作为Android OS独有的特性,Intent把Activity连接起来生成一个完整的Android应用。

第4章:了解Android用户界面。该章介绍多个用于组建Android应用用户界面(UI)的组件。你将掌握多种布局用来构建应用用户界面。当用户与应用交互时,你还将学习许多和用户界面相关的事件。

第5章:使用视图的用户界面设计。该章介绍多个用来组建Android用户界面的基础视图。学习三种主要的视图类型:基础视图、选择器视图和列表视图。你也会了解在Android 3.0和Android 4.0中增加的Fragment组件。

第6章:使用视图显示图片和菜单。该章继续深入介绍视图。演示如何使用多种图片视图显示图片,以及如何在应用中显示选项和上下文菜单。章末会展示一些能够使应用更加有趣的酷炫视图。

第7章:数据持久化存储。该章介绍如何在Android应用中存储数据。除了介绍多个存储用户数据的技术外,也会提及文件操作,演示如何把文件保存到内部存储空间或外部存储空间(SD卡)。与此同时,你也会学习如何在Android应用中建立和使用SQLite数据库。

第8章:Content Provider。该章讨论如何在同一台Android设备上不同的应用之间共享数据。你会学习如何使用content provider组件,然后自己构建一个content provider。

第9章:消息传送服务。该章介绍两个在移动手机编程中最有趣的主题——发送短信(SMS)和电子邮件。你会学习如何发送和接收短信和电子邮件,如何拦截发送来的短信使手机中内置的消息传送应用收不到任何消息。

第10章:基于位置的服务。该章演示如何使用Google地图建立一个基于地理位置服务的应用。你也将学习如何获得地理位置数据,在地图上显示此位置。

第11章:网络。该章介绍如何连接Web服务器下载数据。学习在Android应用中如何连接和处理XML和JSON Web服务。该章也会解释socket编程,最后演示如何在Android中开发一个聊天客户端。

第12章:开发Android服务。该章演示如何使用服务编写应用。服务是不需要用户界面运行的后台应用。你将会学习如何在不同的线程上异步地运行服务,如何使Activity模块与它们通信。

附录A:习题答案。所有章节练习题的答案。

本书结构

本书把学习Android编程的任务分为几个小部分,使你在探索更高级的主题前更好地吸收和消化每一个主题。

如果你完全没有Android编程的经验,请从第1章开始学习。当你熟悉了基础知识,请阅读第2章并试着了解Android Studio IDE。当一切都准备就绪后,请继续学习第3章并且逐渐深入更高级的主题。

本书的一个特点是每个章节中所有的代码示例都是独立于前一个章节的。这使你能够更加灵活地学习你感兴趣的主题,试着从“试一试”项目开始。

使用本书的条件

本书中所有的代码示例都能在Android模拟器(Android SDK和Android Studio的一部分)中运行。当然,如果能有一台真实的Android设备会更好地掌握本书中的知识要点。

本书约定

为了帮助读者更好地理解本书内容并且保持正确的进度和方向,本书中有以下约定。

试一试 这里是为你准备的练习和示例

“试一试”部分会在每章节中出现若干次。这是一些与你阅读内容相关的练习。

(1) 练习有明确的步骤

(2) 在你的项目文件中按照步骤操作

示例说明

在每一个“试一试”部分之后,都会有对代码详细的解释。

本书中的其他约定:

● 键盘快捷键会这样表示:Ctrl+R

● 文件名、URL(Uniform Resource Locator,统一资源定位符)和文本中的代码片段在本书中会这样表示:persistence.properties

在某些特别重要的部分,我们加粗显示需要强调的代码。

注意:注意、提示、技巧以及与主题相关的旁白都会这样显示。

源代码

读者在学习本书中的示例时,可以手动输入所有的代码,也可以使用本书附带的源代码文件。本书中使用的所有源代码都可以从www.wrox.com下载。下载源代码时,选择本书标题(使用搜索框或者标题列表)并在本书详情页面单击Download Code链接来获取所有的源代码。也可扫描封底的二维码获取本书的源代码。

源代码文件名在每一个“试一试”标题的最后都会明确显示。

下载源代码以后,只需要使用自己喜欢的解压缩软件进行解压缩即可。与此同时,也可以直接到Wrox代码下载主页www.wrox.com/dynamic/books/download.aspx浏览本书中的源代码,以及其他Wrox书中的代码。

注意:由于许多书都有相似的标题,所以使用ISBN号搜索比较方便。本书的ISBN号码是978-1-118-70559-9。

勘误表

尽管我们已经尽了各种努力来保证文章或代码中不出现错误,但是错误总是难免的,如果你在本书中找到了错误,例如拼写错误或代码错误,请告诉我们,我们将非常感激。通过勘误表,可以让其他读者避免受挫,当然,这还有助于提供更高质量的信息。

要在网站上找到本书的勘误表,可以登录http://www.wrox.com,通过Search工具或书名列表查找本书,然后在本书的细目页面上,单击BookErrata链接。在这个页面上可以查看Wrox编辑已提交和粘贴的所有勘误项。完整的图书列表还包括每本书的勘误表,网址是www.wrox.com/misc-pages/ booklist.shtml

如果在BookErrata页面上没有看到你找出的错误,请进入www.wrox.com/contact/techsupport.shtml,填写表单,发电子邮件,我们就会检查你的信息,如果是正确的,就在本书的勘误表中粘贴一个消息,我们将在本书的后续版本中采用。

p2p.wrox.com

P2P邮件列表是为作者和读者之间的讨论而建立的。读者可以在p2p.wrox.com上加入P2P论坛。该论坛是一个基于Web的系统,用于传送与Wrox图书相关的信息和相关技术,与其他读者和技术用户交流。该论坛提供了订阅功能,当论坛上有新帖子时,会给你发送你选择的主题。Wrox作者、编辑和其他业界专家和读者都会在这个论坛上进行讨论。

http://p2p.wrox.com上有许多不同的论坛,帮助读者阅读本书,在读者开发自己的应用程序时,也可以从这个论坛中获益。要加入这个论坛,必须执行下面的步骤:

(1) 进入p2p.wrox.com,单击Register链接。

(2) 阅读其内容,单击Agree按钮。

(3) 提供加入论坛所需的信息及愿意提供的可选信息,单击Submit按钮。

(4) 然后就可以收到一封电子邮件,其中的信息描述了如何验证账户,完成加入过程。

提示:

不加入P2P也可以阅读论坛上的信息,但只有加入论坛后,才能发送自己的信息。

加入论坛后,就可以发送新信息,回应其他用户的帖子。可以随时在Web上阅读信息。如果希望某个论坛给自己发送新信息,可以在论坛列表中单击该论坛对应的Subscribe to this Forum图标。

对于如何使用Wrox P2P的更多信息,可阅读P2P FAQ,了解论坛软件的工作原理,以及许多针对P2P和Wrox图书的常见问题解答。要阅读FAQ,可以单击任意P2P页面上的FAQ链接。