Kotlin 高阶函数[第一行代码 Kotlin 学习笔记]

2021-07-26
阅读 9 分钟
2.4k
高阶函数和 Lambda 的关系是密不可分的。在第 2 章快速入门 Kotlin 编程的时候,我们已经学习了 Lambda 编程的基础知识,并且掌握了一些与集合相关的函数式 API 的用法,如 map、filter 函数等。另外,在第 3 章的 Kotlin 课堂中,我们又学习了 Kotlin 的标准函数,如 run、apply 函数等。

Kotlin 扩展函数和运算符重载[第一行代码 Kotlin 学习笔记]

2021-07-25
阅读 6 分钟
2.4k
不少现代高级编程语言中有扩展函数这个概念,Java 却一直以来都不支持这个非常有用的功能,这多少会让人有些遗憾。但值得高兴的是,Kotlin 对扩展函数进行了很好的支持,因此这个知识点是我们无论如何都不能错过的。

Kotlin 延迟初始化和密封类[第一行代码 Kotlin 学习笔记]

2021-07-24
阅读 5 分钟
1.3k
前面我们已经学习了 Kotlin 语言的许多特性,包括变量不可变,变量不可为空,等等。这些特性都是为了尽可能地保证程序安全而设计的,但是有些时候这些特性也会在编码时给我们带来不少的麻烦。

Kotlin 标准函数和静态方法[第一行代码 Kotlin 学习笔记]

2021-07-23
阅读 6 分钟
1.8k
with 函数接收两个参数:第一个参数可以是一个任意类型的对象,第二个参数是一个 Lambda 表达式。with 函数会在 Lambda 表达式中提供第一个参数对象的上下文,并使用 Lambda 表达式中的最后一行代码作为返回值返回。示例代码如下:

快速入门 kotlin 编程[第一行代码 Kotlin 学习笔记]

2021-07-22
阅读 14 分钟
1.5k
简单概括一下,就是将事物封装成具体的类,然后将事物所拥有的属性和能力分别定义成类中的字段和函数,接下来对类进行实例化,再根据具体的编程需求调用类中的字段和方法即可。

Android 架构之 MVC 架构模式

2021-06-21
阅读 6 分钟
5.6k
由于 MVP、MVVM、组件化架构的兴起,MVC 架构在 android 中的应用变得越来越少,但 MVC 是基础,理解好 MVC 才能更好的理解 MVP,MVVM,因为后两种都是基于 MVC 发展而来的。
封面图

Android 使用 Kotlin 重写 Gradle 文件(Kotlin Gradle DSL)

2021-06-17
阅读 11 分钟
5.8k
众所周知,我们在 Android Studio 是使用 Gradle 来编译的,Gradle 是一种基于 Groovy 语言的构建工具,我们平时看到的 build.gradle 中的语法结构其实就是 Groovy 提供的 DSL 功能。
封面图

封装万能的 RecyclerView 适配器

2021-06-17
阅读 9 分钟
5.7k
在 Android 项目中,基本上都会有列表功能,而现在的列表功能都是通过 RecyclerView 实现的,当项目中列表功能比较多的时候,每一个 RecyclerView 都需要一个 Adapter 适配器,这样会使得项目中的 Adapter 类非常的多。所以,封装一个万能的 RecyclerView 适配器是可以提高我们的开发效率的。在这之前,我们先来看一下传...
封面图

第一行代码第三版——第四章:UI 开发的点点滴滴

2021-06-17
阅读 32 分钟
1.9k
在过去,Android 应用程序的界面主要是通过编写 XML 的方式来实现的。写 XML 的好处是,我们不仅能够了解界面背后的实现原理,而且编写出来的界面还可以具备很好的屏幕适配性。等你完全掌握了使用 XML 来编写界面的方法之后,不管是进行高复杂度的界面实现,还是分析和修改当前现有的界面,对你来说都将是手到擒来。

复杂度分析[学习笔记]

2021-06-17
阅读 9 分钟
1.4k
我们都知道,数据结构和算法本身解决的是“快”和“省”的问题,即如何让代码运行得更快,如何让代码更省存储空间。所以,执行效率是算法一个非常重要的考量指标。那如何来衡量你编写的算法代码的执行效率呢?这里就要用到我们今天要讲的内容:时间、空间复杂度分析。其实,只要讲到数据结构与算法,就一定离不开时间、空间...

Kotlin 类型进阶

2021-01-17
阅读 2 分钟
1.7k
<font face= 黑体>只需要在一个普通类的前面加一个 data,普通类就变成了数据类了,可以将它和 Java 的 JavaBean 做类比,如下:

Kotlin 泛型(上)

2021-01-17
阅读 2 分钟
1.6k
<font face= 黑体>在 Kotlin 集合的变换与聚合 中我们已经将 Kotlin 的 集合变换与聚合 讲完了,我们都知道集合源码中用到了很多泛型的知识,所以我们今天我们来讲 Kotlin 的 泛型。

Kotlin 集合的变换与聚合

2021-01-15
阅读 4 分钟
2.9k
<font face= 黑体>在 Kotlin 高阶函数与内联函数 中我们已经将 Kotlin 的 高阶函数 和 内联函数 讲完了,今天我们来讲 Kotlin 的 集合变换与聚合。

Kotlin 高阶函数与内联函数

2021-01-15
阅读 3 分钟
2.7k
<font face= 黑体>高阶函数就是参数类型包含函数类型或者返回值类型是函数类型的函数,简单的说,高阶函数就是函数里面套函数,如下所示:

Kotlin 表达式与运算符

2021-01-13
阅读 4 分钟
2.5k
一、前言<font face= 黑体>在 Kotlin 中的类与接口 和 Kotlin 空类型安全与智能类型转换 中我们已经将 Kotlin 中的类型初步讲完了,今天我们来讲 Kotlin中的表达式。二、分支表达式2.1、if else 表达式Kotlin: {代码...} <font face= 黑体>上面代码可以等价写成下面这种形式: {代码...} 2.2、when 表达式&l...

Kotlin 空类型安全与智能类型转换

2021-01-12
阅读 4 分钟
3.2k
<font face= 黑体>在 Kotlin 中的类与接口 中我们已经讲了 Kotlin 的 类、接口 和 扩展方法,今天我们来讲 Kotlin 中的 空类型安全 和 智能类型转换。

Kotlin 中的类与接口

2021-01-12
阅读 3 分钟
1.4k
一、前言<font face= 黑体>在 Kotlin 学习笔记之内置类型(1)和 Kotlin 学习笔记之内置类型(2)中我们已经讲了 Kotlin 内置类型中的基本类型、数组、区间、集合框架和函数。二、Kotlin 中的类和接口2.1、类的定义Java: {代码...} Kotlin:<font face= 黑体>默认是 public;<font face= 黑体>类内部无...

Kotlin 学习笔记之内置类型(2)

2021-01-12
阅读 5 分钟
2.2k
<font face= 黑体>在 Kotlin 学习笔记之内置类型(1) 中我们已经讲了 Kotlin 内置类型中的基本类型、数组和区间,今天我们来讲 Kotlin 的集合框架和函数。

Kotlin 学习笔记之内置类型(1)

2021-01-12
阅读 4 分钟
1.9k
一、基本类型1.1、与 Java 对比<font face= 黑体>我们来看一下 Kotlin 的基本类型与 Java 的区别,具体如下表所示: KotlinJava字节Bytebyte/Byte整型Int & Longint/Integer & long/Long浮点型Float & Doublefloat/Float & double/Double字符Charchar/Character字符串StringString1.2、声明变量1....

插入排序

2021-01-12
阅读 5 分钟
1.2k
<font face=黑体>插入排序是一个时间复杂度为 O(n^2) 的排序算法,所以当 n 增大 10 倍的时候,排序所需时间差不多差不多增加了 100 倍,运行结果如下所示:

选择排序

2021-01-12
阅读 4 分钟
1.2k
选择排序思路<font face=黑体>在需要排序的数据域中,先把最小的拿出来,放在合适的位置;<font face=黑体>剩下的,再把最小的拿出来,放在合适的位置;<font face=黑体>剩下的,再把最小的拿出来,放在合适的位置;<font face=黑体>...<font face=黑体 color = red>每次选择还没有处理的...

Android 利用ViewPager开发引导页并加入帧动画、属性动画和音乐播放

2020-11-19
阅读 15 分钟
2.3k
<font face=黑体>现在很多 App 都有引导页,今天我们就利用 ViewPager 来实现引导页,并且在引导页中加入帧动画、属性动画和音乐播放等功能。

Java 多线程(二)——线程安全

2020-11-17
阅读 5 分钟
1.2k
一、前言<font face=黑体> 多线程的实现方式我们已经讲完了,今天我们来讲线程安全。二、线程安全2.1、线程安全概述<font face=黑体>如果有多个线程在同时运行,而这些线程可能会同时访问某一共享变量,这样就会产生线程安全问题。<font face=黑体>我们通过一个卖票案例来演示线程安全问题: {代码......

Android 小功能之 TextView 只设置某些文字可点击

2020-11-13
阅读 2 分钟
1.8k
<font face=黑体>注释写的已经很详细了,其中tvLoginPrivacyPolicy是我需要设置对应地方有点击效果的TextView,具体代码实现如下所示:

Java 多线程(一)——多线程的实现方式

2020-11-13
阅读 4 分钟
1.5k
一、前言<font face=黑体>Java 异常的处理方式与自定义异常 我们已经讲完了,从今天开始我们来学习多线程。二、与多线程相关的概念2.1、并发与并行并发:<font face=黑体>指两个或多个事件在同一个时间段内发生,具体如下图所示:并行:<font face=黑体>指两个或多个事件在同一时刻发生(同时发生),...

Java 异常的处理方式与自定义异常

2020-11-07
阅读 10 分钟
2.2k
一、前言<font face = 黑体>Java 集合系列已经讲完了,接下来我们来讲异常与多线程。[ ] Java 基础语法;[ ] 面向对象和封装;[ ] 常用 API 第一部分;[ ] 继承与多态;[ ] 常用 API 第二部分;[x] 集合;[ ] 异常与多线程;[ ] File 类与 IO 流;[ ] 网络编程;[ ] JDK 8 新特性。二、异常2.1、异常概念<font ...

Java 集合(四)——集合总结

2020-11-07
阅读 4 分钟
1.2k
一、前言<font face=黑体>Java 集合系列文章如下:<font face=黑体>Java 集合(一)——Collection集合接口、Iterator 迭代器和泛型;<font face=黑体>Java 集合(二)——List、Set集合和Collections工具类;<font face=黑体>Java 集合(三)——Map 集合;<font face=黑体>这篇文章主要对 Jav...

Java 集合(三)——Map 集合

2020-11-04
阅读 11 分钟
1.3k
<font face=黑体>集合按照其存储结构可以分为两大类,分别是单列集合 java.util.Collection 和双列集合 java.util.Map,单列集合我们已经讲了,今天我们来讲双列集合 Map。

Java 集合(二)——Set 集合、List 集合和 Collections 工具类

2020-10-31
阅读 14 分钟
3k
<font face=黑体>在 Java 集合(一)中我们已经讲了 Collection 集合接口、Iterator 迭代器和泛型,今天我们来讲 Set 集合、List 集合 和 Collections 工具类。

Java 集合(一)——Collection集合接口、Iterator 迭代器和泛型

2020-10-29
阅读 13 分钟
1.6k
<font face=黑体>因为明年三四月份想换工作,也为了对 Java 语言有更深的理解,所以想重新学一遍 Java,把以前没有注意到的细节再巩固一下,因为现在时间还是有的,所以我决定重新的过一遍 Java 的知识点(至少比粗暴的刷 Java 面试题好)。我这里准备的学习资料主要有十大章,我们来看一下每章的目录名称(用的 J...