资源名称:Kotlin程序开发入门精要

内容简介:

本书分3部分讲解Kotlin,第1部分(第1~11章)是Kotlin语言的基础部分,主要介绍了Kotlin的基础知识、语法以及大量的“语法糖”,如搭建Kotlin开发环境、数据类型、控制流、类、对象、接口、扩展、委托、Lambda表达式、操作符重载等。第2部分(第12~15章)主要介绍了如何用Kotlin开发Android App。由于Kotlin可以调用JDK中的API,所以在使用Kotlin开发Android App的过程中,很多都是调用JDK的API实现的,但开发语言使用的是Kotlin。因此,这一部分详细介绍了用Kotlin开发Android App 需要掌握的核心知识,如Activity、组件、布局、流文件、SQLite数据库、网络等技术。第3部分(第16章)是一个完整的案例:欧瑞天气。通过这个项目,可以让读者了解利用Kotlin开发Android App的全过程。

资源目录:

第1章Kotlin开发环境搭建1

1.1Kotlin概述1

1.1.1Kotlin是什么1

1.1.2为什么Kotlin突然成为热门2

1.1.3Kotlin相对于Java有哪些优势2

1.1.4Kotlin能做什么3

1.2在线运行Kotlin代码3

1.3安装和配置Kotlin6

1.3.1安装和配置JDK6

1.3.2Windows下安装和

配置Kotlin9

1.3.3MacOSX下安装和

配置Kotlin10

1.4测试Kotlin编译和运行环境10

1.4.1命令行方式使用Kotlin11

1.4.2Kotlin的REPL环境13

1.4.3在命令行中运行脚本文件14

1.4.4在浏览器中运行Kotlin程序14

1.4.5使用Node.js运行Kotlin程序16

1.4.6在微信小程序中运行Kotlin

程序17

1.4.7用Kotlin开启全栈开发模式21

1.5Kotlin中的语法糖22

1.6Kotlin的集成开发环境(IDE)24

1.6.1IntelliJIDEA的Kotlin基础开发

环境25

1.6.2使用AndroidStudio和Kotlin开发

AndroidApp29

1.7小结34

第2章Kotlin基础知识35

2.1Kotlin的基本语法35

2.1.1定义变量35

2.1.2定义函数36

2.1.3注释37

2.2基础数据类型37

2.2.1数值类型38

2.2.2字符类型39

2.2.3布尔类型41

2.2.4数组41

2.2.5字符串42

2.2.6字符串模板43

2.3包(Package)43

2.4控制流46

2.4.1条件语句46

2.4.2when语句46

2.4.3for循环48

2.4.4while循环49

2.5小结50

第3章类和接口51

3.1类的声明51

3.2构造器51

3.2.1主构造器51

3.2.2第二构造器53

3.2.3Kotlin中的Singleton模式54

3.2.4Kotlin函数中的默认参数55

3.2.5创建类的实例58

3.3类成员58

3.3.1属性的基本用法58

3.3.2属性的getter和setter形式60

3.3.3保存属性值的字段60

3.3.4函数61

3.3.5嵌套类63

3.4修饰符(Modifiers)64

3.5类的继承65

3.5.1Kotlin类如何继承65

3.5.2重写方法65

3.5.3重写属性66

3.6接口67

3.7抽象类68

3.8小结68

第4章枚举类和扩展69

4.1枚举类69

4.1.1枚举类的基本用法69

4.1.2为枚举值指定对应的数值70

4.1.3枚举类的其他功能71

4.2扩展72

4.2.1扩展原生API72

4.2.2扩展自定义类73

4.2.3成员函数冲突的解决方案75

4.2.4扩展属性76

4.2.5扩展伴随对象

(CompanionObject)76

4.2.6扩展的范围77

4.2.7在类中使用扩展77

4.2.8调用特定类的成员函数78

4.2.9扩展成员的继承79

4.3小结80

第5章数据类和封闭类81

5.1数据类(DataClass)81

5.1.1使用数据类81

5.1.2对象复制84

5.1.3数据类成员的解构85

5.2封闭类(SealedClasses)86

5.3小结86

第6章泛型87

6.1泛型基础87

6.2类型变异88

6.3类型投射90

6.4星号投射92

6.5泛型函数92

6.6泛型约束93

6.7小结93

第7章对象和委托94

7.1对象94

7.1.1对象表达式94

7.1.2声明匿名对象97

7.1.3访问封闭作用域内的变量97

7.1.4陪伴对象99

7.2委托99

7.2.1类的委托99

7.2.2委托属性100

7.2.3委托类的初始化函数102

7.2.4委托的前提条件104

7.3标准委托104

7.3.1惰性装载105

7.3.2可观察属性105

7.3.3阻止属性的赋值操作106

7.3.4Map委托107

7.3.5MutableMap委托108

7.4小结108

第8章高阶函数与Lambda表达式109

8.1高阶函数109

8.2Lambda表达式与匿名函数110

8.2.1函数类型111

8.2.2Lambda表达式的语法111

8.2.3匿名函数112

8.2.4闭包(Closure)113

8.3小结113

第9章函数114

9.1函数基本用法114

9.2使用中缀标记法调用函数114

9.3单表达式函数115

9.4函数参数和返回值116

9.4.1可变参数116

9.4.2返回值类型117

9.5函数的范围117

9.5.1局部函数117

9.5.2成员函数118

9.6泛型函数118

9.7内联函数119

9.7.1让Lambda表达式内联进

函数119

9.7.2内联部分Lambda表达式121

9.7.3非局部返回

(Non-localreturn)124

9.7.4实体化的类型参数

(Reifiedtypeparameter)125

9.7.5内联属性126

9.8小结127

第10章其他Kotlin技术(1)128

10.1数据解构128

10.2集合130

10.3值范围132

10.3.1值范围的应用132

10.3.2值范围的工作原理134

10.3.3常用工具函数135

10.4类型检查与类型转换136

10.4.1is与!is操作符136

10.4.2智能类型转换138

10.4.3强行类型转换139

10.5this表达式140

10.6相等判断140

10.7操作符重载141

10.7.1一元操作符重载141

10.7.2二元操作符142

10.7.3方括号操作符重载144

10.7.4赋值操作符重载146

10.7.5逻辑操作符重载147

10.8小结149

第11章其他Kotlin技术(2)150

11.1null值安全性150

11.1.1可为null的类型与不可为null

的类型150

11.1.2在条件语句中进行null检查151

11.1.3安全调用操作符152

11.1.4Elvis操作符152

11.1.5!!操作符153

11.1.6安全的类型转换153

11.1.7可为null的类型构成的集合153

11.2异常类153

11.3注解(Annotations)155

11.3.1使用注解156

11.3.2注解类的构造器157

11.3.3Lambda表达式158

11.4反射(Reflection)158

11.4.1类引用(ClassReference)159

11.4.2枚举类成员159

11.4.3动态调用成员函数161

11.4.4动态调用成员属性161

11.5小结163

第12章Android的窗口——Activity164

12.1什么是Activity164

12.2Activity的基本用法164

12.2.1创建一个不包含任何Activity

的Android工程165

12.2.2手动创建Activity167

12.2.3创建和加载布局168

12.2.4在AndroidManifest文件中注册

Activity172

12.2.5编译和运行Android工程172

12.2.6为Activity添加新组件173

12.2.7为Activity添加逻辑代码174

12.2.8为Activity添加Toast175

12.2.9关闭Activity178

12.3使用Intent连接多个Activity178

12.3.1使用显式Intent179

12.3.2使用隐式Intent182

12.3.3为隐式Intent设置更多的过滤

条件185

12.3.4使用隐式Intent访问

系统App187

12.4向Activity中传递数据189

12.5从Activity返回数据191

12.6Activity的生命周期192

12.7记录当前活动的Activity196

12.8小结197

第13章AndroidApp的装饰工具——

UI组件与布局198

13.1如何编写程序界面198

13.2常用的UI组件198

13.2.1文本显示组件

(TextView)198

13.2.2按钮组件(Button)202

13.2.3文本编辑组件(EditText)206

13.2.4图像组件(ImageView)210

13.2.5进度条组件(ProgressBar)213

13.2.6对话框组件(AlertDialog)216

13.3布局详解217

13.3.1线性布局(LinearLayout)217

13.3.2相对布局(RelativeLayout)222

13.3.3帧布局(FrameLayout)226

13.3.4百分比布局

(PercentFrameLayout)227

13.4小结230

第14章永久保存数据的方式——

持久化技术231

14.1SharedPreferences存储231

14.1.1将数据存储到SharedPreferences

中231

14.1.2从SharedPreferences读取

数据234

14.1.3利用SharedPreferences存取用户名

和密码235

14.2文件流操作239

14.2.1openFileOutput和openFileInput

方法239

14.2.2读写SD卡上的文件242

14.3App权限的授予和拒绝248

14.4读写JSON格式的数据250

14.5SQLite数据库257

14.5.1SQLite数据库管理

工具257

14.5.2创建SQLite数据库和

数据表261

14.5.3向SQLite数据表中插入

数据264

14.5.4删除SQLite数据表中的

数据265

14.5.5更新SQLite数据表中的

数据266

14.5.6查询SQLite表中的数据267

14.5.7将数据库与App一起

发布268

14.6小结270

第15章连接外部世界——网络技术271

15.1WebView组件271

15.2使用HTTP与服务端进行交互273

15.2.1使用HttpURLConnection273

15.2.2使用OkHttp276

15.3小结282

第16章项目实战——欧瑞天气App283

16.1项目概述283

16.2添加依赖284

16.3实现主窗口285

16.4显示地区列表286

16.4.1描述城市信息的数据类286

16.4.2处理JSON格式的城市列表

信息286

16.4.3天气信息描述类288

16.4.4获取城市信息的对象290

16.4.5在ListView组件中显示地区

列表293

16.5显示天气信息298

16.6小结303

资源截图:

1.png

声明:本站所有文章,如无特殊说明或标注,均为本站原创发布。任何个人或组织,在未征得本站同意时,禁止复制、盗用、采集、发布本站内容到任何网站、书籍等各类媒体平台。如若本站内容侵犯了原著者的合法权益,可联系我们进行处理。