新書推薦:
《
大宋理财:青苗法与王安石的金融帝国(全彩插图本)
》
售價:NT$
500.0
《
安全感是内心长出的盔甲
》
售價:NT$
305.0
《
快人一步:系统性能提高之道
》
售價:NT$
505.0
《
我们为什么会做梦:让梦不再神秘的新科学
》
售價:NT$
352.0
《
算法图解(第2版)
》
售價:NT$
356.0
《
科学的奇幻之旅
》
售價:NT$
352.0
《
画艺循谱:晚明的画谱与消闲
》
售價:NT$
653.0
《
新民说·现实政治史:从马基雅维利到基辛格
》
售價:NT$
454.0
|
編輯推薦: |
本书针对国内计算机、软件相关专业已先修Android编程设计课程的学生,旨在为具备良好编程能力的学生提供一本能够快速熟悉Android平台的教材,熟练掌握使用Kotlin来开发 Android的必备的基础知识,为今后的课程学习和职业前途打下坚实的基础。
|
內容簡介: |
本书针对国内计算机、软件相关专业已先修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公司在IO官网上宣布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月
配套资源下载
|
|