![](https://img-blog.csdnimg.cn/20201014180756927.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
Kotlin
文章平均质量分 74
Kotlin基础知识
__Yvan
我就是我独一无二
展开
-
【Kotlin精简】第9章 Kotlin Flow
Flow是google官方提供的一套基于Kotlin协程的响应式编程模型,它与RxJava的使用类似,但相比之下Flow使用起来更简单,另外Flow作用在协程内,可以与协程的生命周期绑定,当协程取消时,Flow也会被取消,避免了内存泄漏风险。Flow是Kotlin提供的一个工具,使用协程封装成生产者-消费者模式。上游来负责生产、中介进行数据加工(可选)、下游来接收消耗。原创 2023-11-24 16:31:42 · 667 阅读 · 0 评论 -
【Kotlin精简】第8章 协程
在 Android 平台上,协程主要用来解决两个问题:1. 处理耗时任务 (Long running tasks),这种任务常常会阻塞住主线程;2. 保证主线程安全 (Main-safety) ,即确保安全地从主线程调用任何 suspend 函数。特点一句话总结:协程能更加安全实现异步代码同步化,实质是对线程切换的封装原创 2023-11-14 16:54:22 · 747 阅读 · 2 评论 -
【Kotlin精简】第7章 泛型
泛型即 “参数化类型”,将类型参数化,可以用在类接口函数上。与Java一样,Kotlin也提供泛型,为提供保证,的烦恼。原创 2023-11-05 16:22:28 · 540 阅读 · 0 评论 -
【Kotlin精简】第6章 反射
反射是一种在运行时动态访问对象属性和方法的方式,而不需事先确定这些属性是什么。一般来说当你访问一个对象的方法或者属性时,程序的源代码会因用一个具体的声明,编译器将静态解析这个引用并确保这个声明是存在的。但有时候你要编写能够使用任意类型的对象的代码,或者只能在运行时才能确定要访问的方法和属性的名称。原创 2023-10-24 22:51:16 · 1047 阅读 · 0 评论 -
【Kotlin精简】第5章 简析DSL
Kotlin DSL是一种强大的工具,可以帮助我们编写更简洁、优雅的代码。通过使用Kotlin DSL,我们可以提高代码的可读性、灵活性和类型安全性。当然Android中DSLDSL 是什么?DSL 是一种针对特殊编程场景的语言或范式,它处理效率更高,且表达式更为专业。例如 SQL、HTML、正则表达式等。Kotlin 如何支持 DSL通过 扩展函数、带接收者的函数类型等来支持使用 DSL。Kotlin 自定义 DSL 的优势。原创 2023-10-22 14:37:46 · 482 阅读 · 0 评论 -
【Kotlin精简】第4章 函数
函数是用来运行代码的载体,可以在一个函数里编写很多行代码,当运行这个函数时,函数中的所有代码会全部运行。Kotlin中的函数同Java完全面向对象的规则不太一样,在Kotlin的世界里,函数也是准C位的,同面向对象一样属于一等公民,Kotlin也提倡函数式编程。Kotlin中的函数分为普通函数中缀函数局部函数泛型函数尾递归函数扩展函数内联函数高阶函数lambada函数等。原创 2023-10-15 17:22:13 · 457 阅读 · 0 评论 -
【Kotlin精简】第3章 类与接口
Kotlin类的声明和Java没有什么区别,Kotlin中,类的声明也使用class关键字,如果只是声明一个空类,Kotlin和Java没有任何区别,不过定义类的其他成员会有一些区别。实例化类不用写new,类被继承或者重写必须加上open关键字,构造器可以写在类后面。构造函数属性方法。Kotlin接口和Java的抽象类基本类似,可以有抽象方法,也可以有方法体。但override作为关键字使用,而不是注解。原创 2023-10-14 17:47:37 · 489 阅读 · 0 评论 -
【Kotlin精简】第2章 集合
在 Kotlin 中集合主要分为可变集合与只读集合,其中可变集合使用 “Mutable” 前缀 + 集合类名表示,比如MutableSetMutableMap等。而对于只读集合就是和 Java 中集合类名是一致。Java 中的 List 非 Kotlin 中的 List , 因为 Kotlin 中的,却有点类似于 Kotlin 中的。只读集合可变集合addremoveclear集合是可变数量的一组条目。List: 是有序集合,可以通过下标访问元素,元素可以重复。Set。原创 2023-10-08 18:04:20 · 565 阅读 · 0 评论 -
【Kotlin精简】第1章 基础类型
Kotlin中,我们可以调用任何变量的成员函数和属性,从这个角度来说,一切皆对象。某些类型可以有特殊的内部表现。数字字符和布尔型在运行时可以表现为。原创 2023-10-07 17:26:24 · 348 阅读 · 0 评论 -
【Android车载系列】第14章 车载渲染-分屏显示的实现
本章节通过获取Android系统的Display,使用Display+Presentation或Display+Activity实现分屏展示。最后通过MediaProjection录屏采集主屏幕数据,通过Display+Activity+OpenGL方式实现副屏同主屏的渲染。原创 2023-05-15 00:33:09 · 2311 阅读 · 2 评论 -
【Kotlin基础系列】第7章 类与对象(3)--- 属性
Kotlin 类中的属性既可以用关键字 var 声明为可变的, 也可以用关键字 val 声明为只读的。其初始器(initializer)、getter 和 setter 都是可选的。原创 2023-01-31 11:59:45 · 303 阅读 · 0 评论 -
Kotlin使用Java枚举无法编译问题,KotlinFrontEndException
Kotlin使用Java枚举无法编译问题,org.jetbrains.kotlin.util.KotlinFrontEndException: Exception while analyzing expression at(xx,xx) in xxxx.kt原创 2022-12-13 16:11:36 · 902 阅读 · 0 评论 -
【Kotlin基础系列】第7章 类与对象(2)--- 继承
在 Kotlin 中所有类都有一个共同的超类Any,对于没有超类型声明的类它是默认超类,Anyequals()、hashCode()与toString()。因此,为所有 Kotlin 类都定义了这些方法。默认情况下,Kotlin 类是最终(final)的——它们不能被继承。要使一个类可继承,请用open如果派生类有一个主构造函数,其基类可以(并且必须)根据其参数在该主构造函数中初始化。如果派生类没有主构造函数,那么每个次构造函数必须使用super关键字初始化其基类型,或委托给另一个做到这点的构造函数。原创 2022-11-20 10:14:39 · 692 阅读 · 0 评论 -
【Kotlin基础系列】第7章 类与对象(1)--- 类
类与对象之类的简介原创 2022-11-06 12:00:50 · 527 阅读 · 0 评论 -
【Kotlin基础系列】第6章 包与导入
Kotlin包与导入原创 2022-11-06 11:40:09 · 812 阅读 · 0 评论 -
‘when‘ expression must be exhaustive, add necessary ‘xxx‘, ‘null‘ branches or ‘else‘ branch instead
Kotlin版本升级导致编译报错:'when' expression must be exhaustive, add necessary 'xxx', 'null' branches or 'else' branch instead。Kotlin1.7之后when强制封闭问题,1.6及之前的版本只做Waring提示,1.7之后变成了Error导致无法编译通过,所以我们在写when时尽可能的加上else,或者穷举所有可能出现的情况。原创 2022-11-05 10:00:07 · 1518 阅读 · 1 评论 -
【Kotlin基础系列】第5章 控制流程
Kotlin流程控制原创 2022-10-11 17:33:39 · 841 阅读 · 0 评论 -
【Kotlin基础系列】第4章 类型
Kotlin类型基础原创 2022-09-25 18:10:34 · 1226 阅读 · 0 评论 -
【Kotlin基础系列】第3章 习惯用法
Kotlin使用习惯原创 2022-09-24 18:10:49 · 735 阅读 · 0 评论 -
【Kotlin基础系列】第2章 基本语法(2)
Kotlin基本语法2原创 2022-09-24 17:13:07 · 403 阅读 · 0 评论 -
【Kotlin基础系列】第2章 基本语法(1)
Kotlin基本语法原创 2022-09-05 15:55:54 · 637 阅读 · 0 评论 -
【Kotlin基础系列】第1章 简介
Kotlin简介原创 2022-09-05 15:54:34 · 593 阅读 · 0 评论 -
Class ‘kotlin.LazyThreadSafetyMode‘ was compiled with an incompatible version of Kotlin.
项目使用Kotlin1.3.61版本一直正常编译打包,但最近打包突然报了错Class ‘kotlin.LazyThreadSafetyMode’ was compiled with an incompatible version of Kotlin. The binary version of its metadata is 1.5.1, expected version is 1.1.16.,最后尝试使用当前最新1.5.10版本可以正常编译打包。...原创 2021-06-12 22:45:15 · 420 阅读 · 2 评论