Kotlin零基础入门到Android开发实战(移动互联网开发技术丛书)pdf下载

Kotlin零基础入门到Android开发实战(移动互联网开发技术丛书)百度网盘pdf下载

作者:
简介:Kotlin零基础入门到Android开发实战(移动互联网开发技术丛书)
出版社:
出版时间:2020-07
pdf下载价格:0.00¥

免费下载


书籍下载


内容介绍

产品特色

内容简介

本书针对国内计算机、软件相关专业已先修Android编程设计课程的学生,旨在为具备良好编程能力的学生提供一本能够快速熟悉Android平台的教材,熟练掌握使用Kotlin来开发 Android的必备的基础知识,为今后的课程学习和职业前途打下坚实的基础

作者简介

1986-1992: 北方交通大学讲师; 1992-1994: 比利时VUB大学应用信息技术硕士; 1994-1996: 比利时VUB大学MBA; 1996-2003: IT公司项目经理 2003-至今: 北航软件学院副教授。已出版二十几本教材(其中“计算机导论实践教程”一书获北航2010年教学成果三等奖;“大学计算机英语教程”获北航2012年教学成果二等奖。 主讲课程: 计算机导论、软件工程、职业生涯规划等。

目录

目录

第1章Kotlin基础


1.1Kotlin简介


1.1.1第一个Kotlin程序


1.1.2Kotlin的语法糖


1.2变量


1.2.1val和var


1.2.2类型推断


1.3基本类型


1.4区间


1.5循环结构


1.6异常处理


1.7相等运算符


1.8可见性修饰符


1.9控制流程


1.9.1if表达式


1.9.2when表达式


习题


第2章Kotlin方法


2.1方法的定义


2.1.1单行表达式方法


2.1.2成员方法


2.1.3本地方法


2.1.4顶层方法


2.1.5字面量方法


2.1.6尾递归方法


2.1.7纯方法


2.2参数


2.2.1命名参数


2.2.2默认参数


2.2.3可变参数


2.3常见操作符


2.3.1一元操作符


2.3.2二元操作符


习题






第3章Kotlin类


3.1类的基本用法


3.1.1类与对象


3.1.2访问级别


3.1.3内部类


3.1.4静态方法


3.2继承


3.3接口


3.4抽象类


3.4.1抽象类的定义


3.4.2抽象类的使用


3.4.3抽象类的特点


3.4.4抽象类的规则


3.4.5抽象类的实际应用


3.4.6抽象类和接口的差异


3.5扩展


3.5.1扩展函数


3.5.2扩展属性


3.5.3伴生对象的扩展


3.5.4扩展的作用域


3.6枚举


3.7密封类


3.8数据类


3.8.1数据类的特性


3.8.2Kotlin中数据类的简洁性


习题


第4章空安全、反射、注解


4.1空安全


4.1.1可空类型


4.1.2智能转换


4.1.3访问可空变量


4.1.4强制操作符


4.1.5Elvis操作符


4.1.6安全转换


4.2反射


4.2.1Java虚拟机的体系结构


4.2.2获取类的信息


4.2.3获取类的其他信息


4.2.4在Kotlin中使用Java中的反射


4.2.5Kotlin中的KClass反射


4.3注解


4.3.1Java注解的组成部分


4.3.2在Java中定义Annotation


4.3.3Java中的常见注解


4.3.4让Java程序认识注解


4.3.5在Kotlin中使用注解


4.4兼容问题


习题


第5章Kotlin属性


5.1一般属性


5.1.1为什么使用属性


5.1.2语法和变量


5.1.3属性的访问规则


5.2延迟加载和懒加载


5.2.1延迟加载


5.2.2懒加载


5.2.3延迟加载和懒加载的差异


5.3委托属性


5.3.1什么是委托属性


5.3.2懒加载属性


5.3.3可观察属性


5.3.4把属性存储在映射中


5.3.5局部委托属性


5.3.6属性委托的要求


5.3.7翻译规则


5.4用属性还是方法


习题


第6章Kotlin泛型与集合


6.1泛型简介


6.2型变


6.2.1Java的类型通配符


6.2.2协变与逆变


6.2.3协变和逆变都是类型安全的


6.3Kotlin泛型的特色


6.3.1out T与in T


6.3.2声明处型变


6.3.3类型投影


6.3.4泛型函数和泛型类


6.4泛型小结


6.5初识集合


6.5.1Iterable


6.5.2MutableIterable


6.5.3Collection


6.5.4MutableCollection


6.6Set


6.6.1概述


6.6.2SetAPI


6.6.3只读Set


6.6.4可变Set


6.6.5与Java的比较


6.7List


6.7.1概述


6.7.2常用API


6.7.3相关操作


6.8Map


6.8.1概述


6.8.2相关操作


习题


第7章高阶函数


7.1函数作为参数


7.2函数作为返回值


7.3函数赋值


7.4闭包


7.5匿名函数


7.6函数的引用


7.6.1顶级函数的引用


7.6.2成员函数和扩展函数的引用


7.7函数接收器


7.8记忆化


7.8.1概述


7.8.2实现记忆化


习题


第8章Kotlin DSL


8.1DSL


8.1.1通用编程语言和DSL


8.1.2API和DSL


8.1.3内部DSL


8.2有趣的Kotlin DSL


8.2.1日期


8.2.2单元测试


8.2.3HTML构建器


8.2.4SQL


8.2.5Android布局


8.2.6Gradle构建


8.3实现原理


8.3.1扩展函数


8.3.2Lambda表达式和高阶函数


8.3.3中缀调用


8.3.4invoke约定


习题


第9章初识Android Studio


9.1Android Studio的特性


9.1.1无比强大的开发工具


9.1.2比以往更快的编码和访问速度


9.1.3无限制配置构建


9.1.4满怀信心地编码


9.1.5创建丰富且关联的应用


9.1.6消除令人厌烦的任务


9.2使用Android Studio


9.2.1项目结构


9.2.2界面


9.2.3调试和分析工具


9.3Android项目结构概览


9.3.1模块


9.3.2项目文件


9.3.3项目结构设置


9.4创建第一个Android Studio项目


9.4.1启动新项目


9.4.2导入现有项目


9.4.3添加Kotlin代码


习题


第10章Android Gradle


10.1Android Gradle编译文件


10.1.1settings.gradle


10.1.2顶级的build.gradle


10.1.3app模块的build.gradle


10.2配置SDK版本号以及其他默认配置


10.3Gradle编译


10.3.1在命令行中执行Gradle编译


10.3.2在Android Studio中执行Gradle编译


10.4处理依赖


10.4.1添加Java库依赖


10.4.2同步


10.4.3依赖传递


10.4.4使用Android Studio添加库依赖


10.4.5Configuring Repository


10.5设置工程属性


10.6升级新版本的Gradle


习题


第11章Activity和Fragment


11.1Activity


11.1.1概述


11.1.2Activity的创建方法


11.1.3Activity的生命周期


11.1.4Activity之间的通信


11.1.5Activity的4种启动模式


11.2Fragment


11.2.1概述


11.2.2动态添加Fragment


11.2.3Fragment的生命周期


11.2.4Fragment的通信


习题


第12章Service和广播


12.1Service详解


12.1.1Service的基本用法


12.1.2Service的生命周期


12.1.3Service和Activity进行通信


12.1.4前台服务


12.1.5Service和Thread的关系


12.2广播


12.2.1概述


12.2.2静态注册


12.2.3动态注册


12.2.4本地广播


12.2.5使用私有权限


12.2.6实战演练


习题


第13章Kotlin实战之简单天气


13.1RxJava介绍


13.1.1作用


13.1.2项目引用


13.1.3概念


13.1.4RxJava中的观察者模式


13.1.5基本的用法


13.1.6RxJava中的操作符


13.1.7RxJava中的Scheduler


13.1.8RxJava在网络请求中的使用


13.2Disposable简介及使用


13.2.1Disposable简介


13.2.2Disposable对象的获得


13.3Flowable


13.3.1Flowable的产生


13.3.2处理Backpressure的策略


13.4天气数据源


13.4.1数据源简介


13.4.2API地址和常用参数


13.4.3获取JSON展示样例


13.5Demo开发


13.5.1创建项目


13.5.2建立数据模型


13.5.3请求数据


13.6UI界面交互和数据


13.6.1主页面的实现


13.6.2搜索城市页面的实现


13.6.3当前天气页面的实现


13.6.4多日预报页面的实现


13.6.5分时查询页面的实现


第14章Kotlin实战之会议App


14.1Dagger2介绍


14.2Dagger2的使用


14.2.1引入Dagger2


14.2.2注解的使用


14.3Room DB存储


14.3.1Room的3大组件


14.3.2Room的实际使用


14.4导入第三方依赖库


14.5界面分析


14.5.1首页的实现


14.5.2个人主页


14.5.3详情页面


参考文献


前言/序言

前言

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月