Kotlin
文章平均质量分 64
Kotlin
黄毛火烧雪下
当我们回首往事的时候,不会因虚度年华而悔恨,也不会因碌碌无为而羞愧!
展开
-
LeetCode-Kotlin-Array-EASY-31至40题
LeetCode-Kotlin-Array-EASY-31至40题原创 2023-02-28 12:55:41 · 368 阅读 · 0 评论 -
LeetCode-Kotlin-Array-EASY-21至30题
LeetCode-Kotlin-Array-EASY-21至30题原创 2023-02-21 11:11:10 · 432 阅读 · 0 评论 -
LeetCode-Kotlin-Array-EASY-11至20题
LeetCode-Kotlin-Array-EASY-11至20题原创 2023-02-07 15:07:21 · 392 阅读 · 0 评论 -
LeetCode-Kotlin-Array-1-Two Sum
在数组中找到 2 个数之和等于给定值的数字,结果返回 2 个数字在数组中的下标。原创 2022-12-28 18:41:57 · 122 阅读 · 0 评论 -
Kotlin 全部基础
otlin 提供了很多便利,简化了java很多模式化代码。有人说可读性相对较差,习惯之后,会觉得Java不好读。比如:中文思维会觉得英语很难理解,相反而至。每个都要敲代码,磨刀不误砍柴工。泛型如果用好还是有难度的。kt 会越来月流行,不是因为它很强大,而是谷歌在推kotlin,没办法。就说AS 和 eslipse 哪个会一定更好用,并没有。越来越多是kotlin的支持,人世有代谢往来成古今江山留胜迹,我辈复登临。kotlin比java更灵活,移动端不需要那么多并发量。kotlin更像js代码。原创 2022-10-17 19:06:36 · 2041 阅读 · 0 评论 -
ViewModel 协程 flow 调用Room和网络数据的方式
ViewModel 协程 flow 调用Room和网络数据的方式原创 2022-09-30 17:20:59 · 304 阅读 · 0 评论 -
Kotlin 协程 异步 异步流
Kotlin 异步 | Flow 应用场景及原理原创 2022-06-22 14:51:58 · 380 阅读 · 0 评论 -
Kotlin 集合List 、Set、Map操作汇总
Kotlin 集合List 、Set、Map操作汇总原创 2022-06-22 09:43:42 · 895 阅读 · 0 评论 -
Kotlin 中list set map
Kotlin list set map原创 2022-06-20 19:52:05 · 278 阅读 · 0 评论 -
Kotlin常⽤注解
1.@JvmName这个注解可以改变字节码中生成的类名或方法名称,如果作用在顶级作用域(文件中),则会生成对应的Java类的名称。如果作用在方法上,则会改变生成对应Java方法的名称。Test.kt@file:JvnName("FooKt")@file:JvnName("foo1")fun foo(){pritln("hellow,JVM")}在Kolin语言中,foo是一个全局方法,为了兼容Java字节码,实际会根据文件名生成对应的Java类TestKt.java.这是Kotlin编译原创 2022-05-13 12:53:41 · 777 阅读 · 0 评论 -
1.数据类型
一、boolean类型val b: Boolean = trueval b1: Boolean = false二、数字类型可定义的类型类型字节长度Double64Float32Long64Int32Short16Byte8如何定义fun main() { /** * 默认都是 double 类型 */ val d = 2.0 /** * 默认都是 float 类型,使用f结原创 2021-06-01 11:10:28 · 94 阅读 · 0 评论 -
4.协程-启动&分析执行过程
前面我们将 suspend 函数拔了个精光。让我们知道了 suspend 的功能,以及如何定义。经过前面的知识积累,我们接下来学习协程就很轻松了,打起精神!!runBlockingrunBlocking 是什么呢?还记得我以前的代码如何写的吗?fun main() { GlobalScope.launch { delay(3000) print("开始执行") } Thread.currentThread().join()}可以注意到上方的原创 2021-05-31 15:15:08 · 387 阅读 · 3 评论 -
3.协程-挂起函数
上一篇,我们知道了非阻塞挂起的核心是要执行一个挂起函数,挂起函数的作用就是启动线程执行耗时任务,耗时任务执行完毕,通知调用线程继续执行后续的代码。那么我们如何定义挂起函数呢?有哪些方式呢?接下来我们揭开它的面纱一、定义挂起函数挂起函数是协程的一个分水岭, 挂起函数前后的代码都是在调用线程执行的(当然我们可以通过调度器来改变这种状态,这个后续讲),挂起函数就是分割这2部分代码的关键。// 1.启动一个协程GlobalScope.launch { /** * 挂起函数前的代码原创 2021-05-31 14:52:19 · 1463 阅读 · 0 评论 -
委托-kotlin
目录一、委托概念二、类委托三、属性委托四、标准委托五、延迟属性 Lazy一、委托概念委托模式已经证明是实现继承的一个很好的替代方式, 而 Kotlin 可以零样板代码地原生支持它。委托模式是软件设计模式中的一项基本技巧。在委托模式中,有两个对象参与处理同一个请求,接受请求的对象将请求委托给另一个对象来处理。Kotlin 直接支持委托模式,更加优雅,简洁。Kotlin 通过关键字 by 实现委托。二、类委托类的委托即一个类中定义的方法实际是调用另一个类的对象的方法来原创 2021-05-12 19:02:09 · 96 阅读 · 0 评论 -
kotlin通用的invoke()函数
invoke()方法是kotlin对象类中默认持有的方法,可以通过operator关键字重载invoke()方法enum class OperatorTest { TEST; operator fun invoke(data: String){ Log.d("LogUtils","data : $data") }}fun execute(){ val start = OperatorTest.TEST //原始调用方式 star原创 2021-05-11 11:57:36 · 10132 阅读 · 0 评论 -
Android Kotlin Handler Runnable 实现循环定时加载 固定次数加载
以下为三种方式1.延迟执行1次2.一直循环执行3.循环执行N次class MainActivity : AppCompatActivity() { //执行2 private val timeRunnable = Runnable { Log.e("11111", "11111") } //循环执行1 private val flipTime=KTimer(1000){ Log.e("11111", "111原创 2021-04-14 14:59:58 · 1947 阅读 · 4 评论 -
Kotlin(let,with,run,apply,also)函数
Kotlin的普及有一段时间了,但对let,with,run,apply,also的函数概念还是不清晰,大部分只是使用let,其他函数使用频率很低。函数定义函数名 实现 let fun T.let(block: (T) -> R): R = block(this) with fun with(receiver: T, block: T.() -> R): R = receiver.block() run fun T.run(block: T.() .原创 2021-03-29 09:43:01 · 149 阅读 · 0 评论 -
Kotlin学习笔记-属性与字段详解
目录一、Getter()与Setter()二、自定义三、用var修饰的属性自定义情况四、输出结果为一、Getter()与Setter()class Test{ /* * getter 和 setter是可选的 */ // 当用var修饰时,必须为属性赋默认值(特指基本数据类型,因为自定义的类型可以使用后期初始化属性) 即使在用getter()的情况下,不过这样写出来,不管我们怎么去改变其值,其值都为`123` var原创 2021-03-24 16:56:16 · 235 阅读 · 0 评论 -
H5调用原生资源选择照片 input type=file
H5调用原生资源选择照片 input type=file提示:如果需要同时调用拍照或者选择照片,则自定义弹出框private var mUploadMessage: ValueCallback<Uri>? = nullvar uploadMessage: ValueCallback<Array<Uri>>? = nullval REQUEST_SELECT_FILE = 100private val FILECHOOSER_RESULTCODE = 2..原创 2020-12-04 15:12:22 · 446 阅读 · 0 评论 -
Kotlin 实战重点摘要
JoinToStringprintln(strings.joinToString(separator = "; ",prefix = "(",postfix = ")"))控制台输出:(first; second; fourtg)fun <T> Collection<T>.joinToString(separator: String = ", ", prefix: String = "", postfix: String = ""): String { val原创 2020-11-11 11:19:42 · 149 阅读 · 0 评论 -
Java 回调 和 kotlin的回调
函数类型Kotlin中一切皆是对象,函数也不例外。在Kotlin中,函数本身也是对象,可以拥有类型并实例化。Kotlin 使用类似 (Int) -> String 的一系列函数类型来处理函数的声明,比如我们常见的点击回调函数:val onClick:(View)->Unit={}生成Person类及MyInterface 接口class Person { val name:String = "Person" lateinit var mListen:MyIn原创 2020-11-06 11:46:10 · 1064 阅读 · 0 评论 -
Kotlin 接口传递示例
codeViewHolder .initListener( textChangeCallBack = { checkButtonState() }, onSendClick = { if (phoneViewHolder.isValid()) { ge...原创 2020-11-05 17:04:35 · 774 阅读 · 0 评论 -
Kotlin 控制流和集合过滤操作符
目录一、if else二、When 表达式三、For 循环一、if else在 Kotlin 中, if 是一个表达式,即它会返回一个值。 因此就不需要三元运算符(条件 ? 然后 : 否则),因为普通的 if 就能胜任这个角色。eg. 有一个int值是a,一个int值是b,求他们的比较大的那个数javaint a = 1, b = 3;Log.e("a和b的最大值是", a > b ? a + "" : b + "");kotlinval a:Int=1原创 2020-10-10 09:39:17 · 528 阅读 · 0 评论 -
Kotlin中关键字介绍
Kotlin Sealed类密封类仅在编译时限制类型集来确保类型安全的重要性https://blog.csdn.net/alfredkao/article/details/107592173kotlin internal 关键字使用只适合当前module使用https://www.jianshu.com/p/ef3cab8c9226inline当你调用一个inline function的时候,编译器不会产生一次函数调用,而是会在每次调用时,将inline functi..原创 2020-10-21 10:46:04 · 259 阅读 · 0 评论 -
Kotlin请求网络到返回的逻辑(简化版)
JSON 转Java Bean插件名称:GsonFormat 插件文档:在 Bean 类中右击,选择 Generate -> GsonFormat,输入后台返回的 Json 数据即可转换成 Java Bean。请求网络过程,按着以下顺序写可以在上一层自动生成代码1.Fragment@Suppress("LABEL_NAME_CLASH", "DEPRECATION")class NewHomeFragment :XXX { @Inject lateinit var.原创 2020-10-19 20:09:41 · 408 阅读 · 0 评论 -
Kotlin基础用法和进阶用法汇总
常量类//常量类object Codes { /** * 消息中心 */ const val MESSAGE = "002"}原创 2020-10-15 16:42:13 · 776 阅读 · 0 评论