零、前言

如今,安卓应用的开发过程相当广泛。在过去的几年里,我们已经看到了各种工具是如何进化来让我们的生活变得更容易的。然而,随着时间的推移,安卓应用开发过程的一个核心元素——Java 并没有发生太大变化。安卓平台适应了较新版本的 Java,但是为了能够使用它们,我们需要等待非常长的时间,直到新的安卓设备达到适当的市场传播。此外,用 Java 开发应用也有其自身的挑战,因为 Java 是一种旧语言,有许多设计问题,由于向后兼容性的限制,这些问题不能简单地解决。

另一方面,Kotlin 是一种新的但稳定的语言,可以在所有安卓设备上运行,并解决了许多 Java 无法解决的问题。它为安卓开发带来了许多成熟的编程概念。这是一种伟大的语言,它让开发人员的生活变得更加容易,并允许产生更安全、更有表现力和更简洁的代码。

这本书是一个易于遵循的实用指南,将帮助您加快和改进使用 Kotlin 的安卓开发过程。我们将展示 Java 的许多捷径和改进,以及解决常见问题的新方法。到本书结束时,您将熟悉 Kotlin 的功能和工具,您将能够完全在 Kotlin 中开发安卓应用。

这本书涵盖了什么

第一章开始你的 Kotlin 冒险,讨论 Kotlin 语言,它的特点和使用它的理由。我们将向读者介绍 Kotlin 平台,并展示 Kotlin 如何融入安卓开发过程。

第二章奠基,很大程度上致力于 Kotlin 的积木。它呈现了各种各样的结构、数据类型和特性,使 Kotlin 成为一种令人愉快的工作语言。

第三章玩转函数,解释了定义和调用函数的各种方法。我们还将讨论函数修饰符,并查看可以定义函数的可能位置。

第 4 章 【类和对象】讨论了与面向对象编程相关的 Kotlin 特性。你将学习不同类型的课程。我们还将看到提高可读性的特性:属性运算符重载和中缀调用。

第 5 章 ,功能为一级公民,涵盖了 Kotlin 对功能编程的支持和功能为一级公民。我们将仔细研究 lambdas、高阶函数和函数类型。

第 6 章 ,泛型是你的朋友,探讨泛型类、接口和函数的主题。我们将仔细研究 Kotlin 泛型类型系统。

第 7 章 【扩展函数和属性】演示了如何在不使用继承的情况下向现有类添加新行为。我们还将讨论处理集合和流处理的更简单的方法。

第 8 章 ,委托,展示了 Kotlin 如何由于内置的语言支持而简化类委托。我们将看到如何通过使用内置属性委托和定义自定义属性委托来使用它。

第 9 章制作你的漫威画廊应用,利用书中讨论的大部分功能,并使用它在 Kotlin 中构建一个功能齐全的 Android 应用。

这本书你需要什么

要测试和使用本书中介绍的代码,您只需要安装 AndroidStudio。第 1 章开始你的 Kotlin 冒险,解释了一个新项目如何开始,以及如何检查这里给出的例子。它还描述了如何在没有安装任何程序的情况下测试这里展示的大多数代码。

这本书是给谁的

要使用这本书,你应该熟悉两个方面:

  • 您需要了解 Java 和面向对象的编程概念,包括对象、类、构造函数、接口、方法、getters、setters 和泛型类型。所以,如果这个区域不敲响警钟,就很难完全理解这本书的其余部分。从一本入门的 Java 书开始,然后再回到这本书。
  • 虽然不是强制性的,但理解安卓平台是非常可取的,因为它将帮助您更详细地理解所呈现的示例,并且您将更深入地理解 Kotlin 解决的问题。如果你是一个有 6-12 个月经验的安卓开发者,或者你很少创建安卓应用,你会没事的。另一方面,如果你对 OOP 概念感到满意,但你对安卓平台的了解有限,你可能仍然可以完成这本书的大部分内容。

思想开放,渴望学习新技术会很有帮助。如果有什么东西让你好奇或者吸引了你的注意力,在你阅读这本书的时候,你可以随意测试和玩它

约定

在这本书里,你会发现许多区分不同种类信息的文本样式。以下是这些风格的一些例子和对它们的意义的解释。

文本中的码字、数据库表名、文件夹名、文件名、文件扩展名、路径名、伪 URL、用户输入和 Twitter 句柄如下所示:“让我们看看range数据类型,它允许定义包含端点的范围。”

代码块设置如下:

    val capitol = "England" to "London"
    println(capitol.first) // Prints: England
    println(capitol.second) // Prints: London

当我们希望将您的注意力吸引到代码块的特定部分时,相关的行或项目以粗体显示:

 ext.kotlin_version = '1.1.3'
    repositories {
        maven { url 'https://maven.google.com' }
        jcenter()
    }

任何命令行输入或输出都编写如下:

sdk install kotlin

新名词重要词语以粗体显示。您在屏幕上看到的单词(例如,在菜单或对话框中)会出现在文本中,如下所示:“为新项目设置名称、包和位置。请记住勾选“包括 Kotlin 支持”选项。”

Warnings or important notes appear like this. Tips and tricks appear like this.

读者反馈

我们随时欢迎读者的反馈。让我们知道你对这本书的看法——你喜欢或不喜欢什么。读者反馈对我们来说很重要,因为它有助于我们开发出你真正能从中获益的标题。

要给我们发送一般反馈,只需发送电子邮件feedback@packtpub.com,并在您的邮件主题中提及书名。

如果你对某个主题有专业知识,并且对写作或投稿感兴趣,请参见我们位于www.packtpub.com/authors的作者指南。

客户支持

现在,您已经自豪地拥有了一本书,我们有许多东西可以帮助您从购买中获得最大收益。

下载示例代码

你可以从你在http://www.packtpub.com的账户下载这本书的示例代码文件。如果您在其他地方购买了这本书,您可以访问http://www.packtpub.com/support并注册,以便将文件直接通过电子邮件发送给您。您可以按照以下步骤下载代码文件:

  1. 使用您的电子邮件地址和密码登录或注册我们的网站。
  2. 将鼠标指针悬停在顶部的“支持”选项卡上。
  3. 点击代码下载和勘误表。
  4. 在搜索框中输入图书的名称。
  5. 选择要下载代码文件的书籍。
  6. 从您购买这本书的下拉菜单中选择。
  7. 点击代码下载。

下载文件后,请确保使用最新版本的解压缩文件夹:

  • 视窗系统的 WinRAR / 7-Zip
  • zipeg/izp/un ARX for MAC
  • 适用于 Linux 的 7-Zip / PeaZip

这本书的代码包也在 GitHub 上的https://GitHub . com/PacktPublishing/Android-Development-with-Kotlin托管。我们还有来自丰富的图书和视频目录的其他代码包,可在https://github.com/PacktPublishing/获得。看看他们!

正误表

尽管我们尽了最大努力来确保我们内容的准确性,但错误还是会发生。如果你在我们的某本书里发现一个错误,也许是文本或代码中的错误,如果你能向我们报告,我们将不胜感激。通过这样做,你可以让其他读者免受挫折,并帮助我们改进这本书的后续版本。如果您发现任何勘误表,请访问http://www.packtpub.com/submit-errata,选择您的书籍,点击勘误表提交表格链接,并输入您的勘误表的详细信息。一旦您的勘误表得到验证,您的提交将被接受,勘误表将上传到我们的网站或添加到该标题勘误表部分下的任何现有勘误表列表中。

要查看之前提交的勘误表,请前往https://www.packtpub.com/books/content/support并在搜索栏中输入图书名称。所需信息将出现在勘误表部分。

海盗行为

互联网上版权材质的盗版是所有媒体的一个持续问题。在 Packt,我们非常重视版权和许可证的保护。如果您在互联网上遇到任何形式的我们作品的非法拷贝,请立即向我们提供位置地址或网站名称,以便我们寻求补救。

请通过copyright@packtpub.com联系我们,获取疑似盗版资料的链接。

我们感谢您在保护我们的作者方面的帮助,以及我们为您带来有价值内容的能力。

问题

如果您对本书的任何方面有问题,可以在questions@packtpub.com联系我们,我们将尽最大努力解决问题。