
Kotlin
文章平均质量分 78
Funny Kotlin
AndroidKt
分享 Android、Kotlin、Flutter 以及 OpenCV 等移动开发知识。
展开
-
认识一下,轻量消息推送 Server-Sent Events
Server-Sent Events(简称 SSE)是一种在浏览器中实现单向实时通信的技术。它允许服务器通过 HTTP 持久连接向客户端发送实时更新的数据流。这种通信模式非常适用于需要频繁向客户端推送数据的场景,例如股票行情更新、实时聊天通知、社交媒体动态等。SSE 基于 HTTP 协议,并以文本流的方式传递数据,使用的是标准的MIME 类型。浏览器内置支持 SSE,无需额外的第三方库支持。原创 2025-01-04 18:06:33 · 1435 阅读 · 0 评论 -
有趣的 Kotlin 0x15:data object
Kotlin 新成员 data object原创 2023-05-07 12:18:27 · 777 阅读 · 1 评论 -
有趣的 Kotlin 0x14:Base64编码
Kotlin 来到 1.8.20 版本, 又给开发者带来了很多更新, 今天关注下标准库中新增的Base64相关内容.原创 2023-04-23 20:47:43 · 913 阅读 · 0 评论 -
有趣的 Kotlin 0x13:密封类
跟着 ChatGPT 学 Kotlin,又是努力做一个 AI 出题人的一天~原创 2023-04-23 20:46:47 · 511 阅读 · 0 评论 -
有趣的 Kotlin 0x12:Nothing、Any、Unit
作为函数的返回类型,表示函数可以返回任何类型的对象。这在函数需要返回不同类型的对象时非常有用,例如一个工厂函数可以返回不同类型的对象。例如,在一个函数中,如果一个分支中抛出了异常,那么其他分支中的代码就永远不会执行,这时候可以使用。这在需要一个泛型类型参数,但又不关心具体类型的情况下非常有用。在一个类型的泛型参数中,表示这个泛型参数不会被使用,例如一个空的List。是一个特殊的类型,它表示一个函数不会返回任何有用的值。类型的声明,因为Kotlin会自动将没有返回值的函数的返回类型设置为。原创 2023-04-23 20:45:44 · 602 阅读 · 0 评论 -
有趣的 Kotlin 0x11: joinToString,你真的了解嘛?
之前使用函数也就是用逗号连接集合元素形成字符串,也没有细看它的参数,但是今天和 ChatGPT 聊天时,发现它给我输出了诸多内容。原创 2023-03-01 20:02:18 · 907 阅读 · 0 评论 -
有趣的 Kotlin 0x10:操作符 ..<
操作符是 Kotlin 在 1.7.20 版本中引入的不包含尾部元素的左闭右开区间操作符。之前我们使用的比较多的操作符可能是。操作符之前,要实现**[0.0,10.0)** 区间,只能使用近似的方法。,两者均表示区间,前者是闭区间,后者则表示不包含末端元素的左闭右开区间。为什么可以实现时间类型的半开半闭区间呢?IDEA 会通过数学符号给出明确的范围提示。可以处理闭区间和左闭右开区间。但是针对浮点型,之前我们只能使用。的左闭右开区间却无法直接实现。操作符处理闭区间,但是对应。,但是依然会有误差。原创 2023-03-01 20:00:34 · 577 阅读 · 0 评论 -
有趣的 Kotlin 0x0F:Definitely non-nullable types
绝对不可能为空的类型。Kotlin 本身就有可空和不可空类型,为何又来一个呢?原创 2022-08-13 14:55:30 · 754 阅读 · 0 评论 -
有趣的 Kotlin 0x0E:DeepRecursiveFunction
T为传入参数类型;R为输出结果类型;block函数体。每一颗语法糖背后,总有几个 Kotlin 的工程师在为我们负重前行。🥸。原创 2022-08-02 21:23:27 · 693 阅读 · 0 评论 -
有趣的 Kotlin 0x0D:IntArray vs Array<Int>
IntArray 和 Array 如何选择?原创 2022-07-16 10:47:57 · 813 阅读 · 0 评论 -
Kotlin tailrec
前言尾调用一个函数内最后一个动作是调用函数的情形(即这个调用的返回值直接被当前函数返回的情形)fun shape(x: Int): Int { return rect(x)}尾递归尾调用在尾部位置调用函数本身的情形。尾递归属于递归的一种特殊情形。尾调用不一定是递归调用,但是尾递归特别有用,也比较容易实现。fun shape(x: Int): Int { return shape(x-1)}尾递归在普通尾调用的基础上,多出了2个特征:在尾部调用的是函数自身 (Self原创 2021-12-11 18:43:59 · 2287 阅读 · 2 评论 -
有趣的 Kotlin 0x0C:Contracts
Kotlin 语言中深受开发者喜爱特性之一就是 智能推断。fun foo(s: String?) { if (s != null) s.length // Compiler automatically casts 's' to 'String'}如上,编译器会自动推断出变量 s 为非空 String 类型。但是在一些小把戏面前,Kotlin 的智能推断又没有想象中的那么强大。下面这段代码,编译器并没有完成智能推断。fun String?.isNotNull(): Boolean = t.原创 2021-10-27 22:29:55 · 1436 阅读 · 0 评论 -
有趣的 Kotlin 0x09:Extensions are resolved statically
最近在 http://portal.kotlin-academy.com/#/ 上看到很多关于 Kotlin 的有趣的题目。个人觉得很适合 Kotlin 爱好者,感兴趣的小伙伴可自行查阅。【有趣的 Kotlin 】系列记录自己对每一题的理解。0x09:Extensions are resolved staticallyopen class Cclass D: C()fun C.foo() = "c"fun D.foo() = "d"fun printFoo(c: C) { .原创 2021-08-29 20:18:19 · 137 阅读 · 0 评论 -
有趣的 Kotlin 0x08:What am I
最近在 http://portal.kotlin-academy.com/#/ 上看到很多关于 Kotlin 的有趣的题目。个人觉得很适合 Kotlin 爱好者,感兴趣的小伙伴可自行查阅。【有趣的 Kotlin 】系列记录自己对每一题的理解。0x08:What am I ?fun main(args: Array<String>) { val whatAmI = {}() println(whatAmI)}以上代码,运行结果是什么?可选项:"null""ko.原创 2021-08-29 20:17:33 · 201 阅读 · 0 评论 -
有趣的 Kotlin 0x0A:Fun with composition
最近在 http://portal.kotlin-academy.com/#/ 上看到很多关于 Kotlin 的有趣的题目。个人觉得很适合 Kotlin 爱好者,感兴趣的小伙伴可自行查阅。【有趣的 Kotlin 】系列记录自己对每一题的理解。0x0A:Fun with compositionval increment = { i: Int -> i + 1 }val bicrement = { i: Int -> i + 2 }val double = { i: Int ->.原创 2021-08-29 20:15:17 · 147 阅读 · 0 评论 -
快速掌握 Kotlin 集合函数
原文:https://medium.com/mobile-app-development-publication/kotlin-collection-functions-cheat-sheet-975371a96c4b作者:Elye前言你们知道 Kotlin Collection 的操作函数有多少个?200多个。按照函数名的字母顺序浏览一遍可能都得花点时间,更别提快速找到满足自己业务场景的函数了,甚至有些函数你可能都不知道它的存在,此情此景甚是苦恼啊!好在最近阅读一遍关于 Kotlin 集合操作函.翻译 2021-07-02 21:19:13 · 627 阅读 · 0 评论 -
有趣的 Kotlin 0x07:Composition
最近在 http://portal.kotlin-academy.com/#/ 上看到很多关于 Kotlin 的有趣的题目。个人觉得很适合 Kotlin 爱好者,感兴趣的小伙伴可自行查阅。【有趣的 Kotlin 】系列记录自己对每一题的理解。0x07:Compositionoperator fun (() -> Unit).plus(f: () -> Unit) = { this() f()}fun main(args: Array<String>) .原创 2021-06-25 20:20:03 · 280 阅读 · 1 评论 -
有趣的 Kotlin 0x06:List minus list
最近在 http://portal.kotlin-academy.com/#/ 上看到很多关于 Kotlin 的有趣的题目。个人觉得很适合 Kotlin 爱好者,感兴趣的小伙伴可自行查阅。【有趣的 Kotlin 】系列记录自己对每一题的理解。0x06:List minus listfun main(args: Array<String>) { val list = listOf(1, 2, 3) print(list - 1) print(list - list.原创 2021-06-21 19:56:30 · 222 阅读 · 0 评论 -
有趣的 Kotlin 0x05:Making open abstract
最近在 http://portal.kotlin-academy.com/#/ 上看到很多关于 Kotlin 的有趣的题目。个人觉得很适合 Kotlin 爱好者,感兴趣的小伙伴可自行查阅。【有趣的 Kotlin 】系列记录自己对每一题的理解。0x04:Making open abstractopen class A { open fun a() {}}abstract class B: A() { abstract override fun a()}open class.原创 2021-06-19 21:04:07 · 359 阅读 · 3 评论 -
有趣的 Kotlin 0x04:Lambda runnables
最近在 http://portal.kotlin-academy.com/#/ 上看到很多关于 Kotlin 的有趣的题目。个人觉得很适合 Kotlin 爱好者,感兴趣的小伙伴可自行查阅。【有趣的 Kotlin 】系列记录自己对每一题的理解。0x04:Lambda runnablesfun run() { val run: () -> Unit = { println("Run run run!") } object : Runnable { .原创 2021-06-17 21:12:28 · 184 阅读 · 2 评论 -
有趣的 Kotlin 0x03:If-else chaining
最近在 http://portal.kotlin-academy.com/#/ 上看到很多关于 Kotlin 的有趣的题目。个人觉得很适合 Kotlin 爱好者,感兴趣的小伙伴可自行查阅。【有趣的 Kotlin 】系列记录自己对每一题的理解。0x03:If-else chainingfun printNumberSign(num: Int) { if (num < 0) { "negative" } else if (num > 0) { .原创 2021-06-14 08:57:04 · 726 阅读 · 3 评论 -
有趣的 Kotlin 0x02:Indent trimming
最近在 http://portal.kotlin-academy.com/#/ 上看到很多关于 Kotlin 的有趣的题目。个人觉得很适合 Kotlin 爱好者,感兴趣的小伙伴可自行查阅。【有趣的 Kotlin 】系列记录自己对每一题的理解。0x02:Indent trimmingfun main(args: Array<String>) { val world = "multiline world" println(""" Hello \$world """.原创 2021-06-13 12:12:41 · 628 阅读 · 1 评论 -
有趣的 Kotlin 0x01:Scala-like functions
最近在 http://portal.kotlin-academy.com/#/ 上看到很多关于 Kotlin 的有趣的题目。个人觉得很适合 Kotlin 爱好者,感兴趣的小伙伴可自行查阅。【有趣的 Kotlin 】系列记录自己对每一题的理解。0x01:Scala-like functionsfun hello() = { println("Hello, World")}fun main(args: Array<String>) { hello()}以上代码,.原创 2021-06-12 22:13:04 · 263 阅读 · 2 评论 -
可能一眼看不懂的几行Kotlin代码
看两段代码第一段代码:val a: Int = 100val boxedA: Int? = aval anotherBoxedA: Int? = aval b: Int = 10000val boxedB: Int? = bval anotherBoxedB: Int? = bprintln(boxedA === anotherBoxedA) // trueprintln(boxedB === anotherBoxedB) // false第二段代码:val a: Int = 1原创 2021-05-25 22:01:21 · 1212 阅读 · 16 评论 -
Kotlin Idioms
最近在看Kotlin官方文档,今天翻译【Kotlin Idioms】章节帮助大家复习,虽然我知道各位的英文都贼溜。官方原文:https://kotlinlang.org/docs/idioms.html创建 DTO、POJO、POCOdata class Customer(val name: String, val email: String)提供具备下列功能的 Customer 类:所有属性的 getters ,如果是 var 属性,还提供 settersequals()hashCo.原创 2021-05-25 22:00:08 · 303 阅读 · 2 评论 -
协变和逆变
本文同步发表于我的微信公众号,在微信搜索 OpenCV or Android 即可关注。协变、逆变概念许多程序设计语言的类型系统支持子类型。例如,如果Cat是Animal的子类型,那么Cat类型的表达式可用于任何出现Animal类型表达式的地方。所谓的变型(variance)是指如何根据组成类型之间的子类型关系,来确定更复杂的类型之间(例如Cat列表之于Animal列表,回传Cat的函数之于回传Animal的函数…等等)的子类型关系。当我们用类型构造出更复杂的类型,原本类型的子类型性质可能被保持、.原创 2021-02-24 06:41:16 · 1544 阅读 · 0 评论 -
Moshi
Moshi文章为对Moshi官方介绍的简单翻译。方便个人学习,加深印象。官方介绍:https://github.com/square/moshi基础用法依赖Maven<dependency> <groupId>com.squareup.moshi</groupId> <artifactId>moshi</artifactId> <version>1.9.2</version></depend翻译 2020-05-24 18:45:00 · 650 阅读 · 0 评论 -
《Kotlin》 Android Studio3.0 Kotlin工程问题集
Android Studio3.0使用问题集合原创 2017-05-21 18:00:39 · 5600 阅读 · 2 评论 -
《Android 应用 之路》 每日一文简单版<Kotlin>
每日一文简单版Kotlin练习原创 2017-07-31 13:48:23 · 2038 阅读 · 0 评论 -
《Android 基础(三十七)》 自定义ViewPagerIndicator
Kotlin学习,自定义View学习。实现简单的ViewPagerIndicator原创 2017-07-28 13:48:44 · 1274 阅读 · 0 评论 -
《Kotlin》 Android Studio3.0 新特性 ~ New Features in Android Studio Preview (译文)
Android Studio 3.0 新特性 官文翻译翻译 2017-05-21 16:49:51 · 2084 阅读 · 0 评论 -
《Kotlin》 Kotlin For Gank.io (干货集中营Kotlin实现)
把之前的项目用Kotlin重构一下原项目地址:https://github.com/onlyloveyd/GankIOClient 对应Kotlin版:https://github.com/onlyloveyd/GankIOWithKotlin原创 2017-05-20 22:53:27 · 1530 阅读 · 2 评论 -
《Kotlin》 Kotlin Android Extensions (译文)
原文链接:http://kotlinlang.org/docs/tutorials/android-plugin.htmlKotlin Android Extensions翻译 2017-05-18 15:30:26 · 1113 阅读 · 2 评论 -
《Kotlin》 Getting started with Android and Kotlin (译文)
原文链接http://kotlinlang.org/docs/tutorials/kotlin-android.html使用Kotlin开发Android入门翻译 2017-05-18 10:06:41 · 766 阅读 · 0 评论