前言
2017年,Google公司在I/O官网上宣布Kotlin成为Android的开发语言,这既是大势所趋,也使得Android编程效率大增。随着计算机技术的发展,软件开发工作越来越自动化,开发人员进行具体的“编写代码工作”的时间越来越少,像Python和Kotlin这些更现代化、更简洁的编程语言,相比于传统的、稍显冗长的Java等语言,必将更受软件开发人员,特别是入门开发者的青睐。
Kotlin语言由JetBrains公司的Dmitry Jemerov在2011年开始带队开发,主要是为了解决Java之前一些诟病已久的问题(如空指针错误难以捕捉、对函数式编程支持差等),而且积极借鉴了Scala、Ruby等新语言在开发效率和简洁性上的优势。由于是全新开发和设计的语言,Kotlin基本没有历史包袱,在各方面上都具有先进性,可以被看作是重新设计的Java现代版; 另一方面,Kotlin相比Scala更容易实现与Java之间的互操作,例如很多Kotlin的库都可以直接复用Java基本库。Java的好处是语法工整,清晰直接,严格,不容易犯低级程序错误; 但它的问题也很明显——“verbosity”,中文通俗翻译就是“冗余”。实现相同的逻辑,用Java语言往往比用Python、Ruby等语言要多出两三倍的代码量,而运行在Java虚拟机上的Kotlin可以有效地节约Android开发人员不少时间,让编码工作更有效率。
为了帮助初学者更加高效地接触Kotlin,了解和熟悉如何使用Kotlin进行Android开发,我们编写了此书。相比市面上千篇一律的相关书籍,我们力求能直击Android的本质,以清晰合理的逻辑让初学者明白Android系统和Kotlin语言设计的初衷,从而设计出高效而不失优雅的Android程序。
本书分为三部分: 第一部分(第1~8章)简要介绍Kotlin语言的基础知识,包括使用Kotlin进行面向对象编程和函数式编程的基本方法;
第二部分(第9~12章)包括Android Studio的基本介绍和一些Android开发的高阶知识;
第三部分(第13、14章)是实践部分,包含两个Android小项目和相关的一些实用开发框架。
对比其他Android教材,本书具有以下优点。
目标针对性强: 本书针对国内计算机、软件相关专业已先修Android编程设计课程的学生,旨在为具备良好编程能力的学生提供一本能够快速熟悉Android平台的教材,熟练掌握使用Kotlin开发Android的必备的基础知识,为今后的课程学习和职业前途打下坚实的基础。
内容与时俱进: 计算机学科的发展异常迅速,内容更新很快。作为教材,一方面要反映本领域基础性、普遍性的知识,保持内容的相对稳定性; 另一方面也需要不断跟踪科技的发展。本书介绍了Google公司官方推荐的Android编程首选语言——Kotlin,并坚持使用最新的Android版本和2013年Google公司推出的Android Studio作为开发环境,重点介绍使用新技术的案例,避免使用即将淘汰的设计方法。
结构合理: 本书体系结构严谨,概念清晰,由浅入深,符合学生的认知规律,易学易懂,且配有许多难度适中的习题,逻辑合理,适于初学者和进阶者拓展思路,深入了解Kotlin基础理论和章末要点总结,适合于教学和自学,是学生掌握Android开发的必备书目。
理论结合实践: 本书用实例讲授知识点,不局限于枯燥的理论介绍。与许多课程的规律类似,实践对于Android学习而言也是强化和提升学习效果的必由之路,否则无异于“入宝山而空返”。读者通过将书中代码手敲一遍或仿照书中实例自己编写小型应用进行练习,可切实强化编码能力,提高软件分析设计能力,真正回归语言学习的真谛。
着眼整体认识,体现特色内容: 本书注重系统思维,首先展现Kotlin基础知识体系的整体框架,然后深入细节,便于读者在脑海中清晰地构建知识网络,实现融会贯通。在具体内容上,本书力求突出Kotlin开发理论中最精华的部分,避免面面俱到、没有重点; 同时增加一些实际开发中可能会用到的高级知识和Android中的特色功能,以供读者进一步深入学习。
配套资源丰富: 本书提供教学大纲、教学课件、程序源码等配套资源,扫描封底的课件二维码可以下载。
由于时间仓促,本书可能还存在一些不足,欢迎读者批评指正。
编者2020年3月