awesome-kotlin 详解:Kotlin 生态的官方精选导航
awesome-kotlin 详解:Kotlin 生态的官方精选导航学一门语言最费时间的往往不是语法,而是"该用哪个库":网络请求、依赖注入、序列化、协程扩展……每个方向都有一堆候选。开源项目 Heapy/awesome-kotlin(awesome-kotlin)就是为解决选型焦虑而生:受 awesome-java 启发的 Kotlin 精选清单,配套 kotlin.link 分类导航站点、RS
分类
专注于 Kotlin 编程语言的全面探索,深入解析其现代语法、特性与应用实践。从基础的变量、函数和类设计,到高级主题如协程(Coroutines)、DSL 构建、扩展函数和 Jetpack Compose 集成,提供详尽代码示例和优化技巧。适合初学者快速上手,以及资深开发者提升效率与代码优雅度。通过实际项目案例和常见问题调试,展现 Kotlin 在 Android、多平台开发中的核心优势。呈现更简
共 46 篇文章
awesome-kotlin 详解:Kotlin 生态的官方精选导航学一门语言最费时间的往往不是语法,而是"该用哪个库":网络请求、依赖注入、序列化、协程扩展……每个方向都有一堆候选。开源项目 Heapy/awesome-kotlin(awesome-kotlin)就是为解决选型焦虑而生:受 awesome-java 启发的 Kotlin 精选清单,配套 kotlin.link 分类导航站点、RS
Apollo Kotlin 详解:Kotlin 多平台 GraphQL 客户端后端上了 GraphQL,Android/Kotlin 端要一个既类型安全又能跨平台的客户端——apollographql/apollo-kotlin(Apollo Kotlin)是行业事实答案:Apollo 官方维护的 GraphQL 客户端,运行于 Android 与全部 Kotlin 多平台目标,以代码生成实现从服
KEEP 详解:Kotlin 语言的演进提案机制用 Kotlin 的人每天都在吃协程、密封接口、value class 这些特性的红利,但很少有人想过:一个语言特性从"想法"到"落地"要走什么流程?答案就是 Kotlin/KEEP——Kotlin Evolution and Enhancement Process(Kotlin 演进与增强流程)。它是 JetBrains 官方维护的提案仓库,每一份
Kotlin协程深度解析:suspendCoroutine vs suspendCancellableCoroutinesuspendCoroutine 和 suspendCancellableCoroutine 是 Kotlin 协程中将回调式 API 转换为挂起函数的核心工具。前者提供基础的续体挂起能力,后者在此基础上增加了取消支持和线程安全保障。本文从源码机制到实战场景,全面对比两者的差异与
Kotlin Channel 深度解析1、Channel 核心概念Channel 是 Kotlin Coroutines 中用于在协程之间进行通信的核心组件,它提供了一种安全、高效的消息传递机制。Channel 本质上是一个阻塞队列,支持发送和接收操作,具有背压控制能力。核心特性: - 支持无缓冲和有缓冲模式 - 提供公平和非公平的调度策略 - 支持多种关闭机制 - 与协程生命周期紧密集成 - 提
Koin依赖注入框架深度解析与实践指南1、什么是 KoinKoin 是一个轻量级、实用的 Kotlin 依赖注入框架,由 InsertKoinIO 团队开发。它专为 Kotlin 设计,采用简洁的 DSL 语法,无需注解处理器,无需代码生成,完全基于 Kotlin 语言特性实现依赖注入。核心优势: - 纯 Kotlin 实现,无注解、无代码生成 - 简洁直观的 DSL 语法 - 轻量级,启动速度快
coroutineScope 与 supervisorScope:Kotlin 协程作用域的核心区别1、核心概念在 Kotlin 协程中,coroutineScope 和 supervisorScope 是两个重要的作用域构建器,它们的主要区别在于异常处理策略。2、coroutineScope- 异常传播:当任何子协程抛出未捕获的异常时,会立即取消所有其他子协程,异常会向上传播- 适用场景:任务之
Kotlin Flow 操作符详解Kotlin Flow 是 Kotlin 协程库中用于处理异步数据流的强大工具。Flow 提供了丰富的操作符,使我们能够以声明式的方式处理数据流。本文将详细介绍 Kotlin Flow 的常用操作符及其用法。1、Flow 基本概念Flow 是一种冷流(cold stream),只有当终端操作符被调用时才会开始发射数据。它具有以下特点: - 异步数据流 - 可取消
Kotlin 数据流:冷热Flow 全面解析1、Flow 概述Flow 是 Kotlin 协程中的数据流处理工具,它提供了一种响应式编程模型,用于处理异步数据流。Flow 基于协程构建,具有挂起函数的特性,可以轻松处理异步操作而不会阻塞主线程。核心特点: - 异步处理:基于协程,支持挂起操作 - 响应式:支持数据流的转换和处理 - 背压处理:自动处理生产者和消费者之间的速度差异 - 操作符丰富:提
解决报错:The feature "nested type aliases" is experimental and should be enabled explicitly. 遇到的提示是:The feature "nested type aliases" is experimental and should be enabled explicitly. This can be done by
解决 Koin 的 ScopeAlreadyCreatedException 错误在使用 Koin 进行依赖注入时,可能会遇到 ScopeAlreadyCreatedException 错误,错误信息为 "Scope with id 'session' is already created"。本文将详细介绍这个错误的原因和解决方案。1、错误原因分析这个错误表示试图创建一个已经被创建的 Koin s
Kotlin里的typealias关键字typealias 是 Kotlin 里的一个关键字,用于为已有的类型创建新的别名。它本质上是给类型加个“昵称”,这样可以让代码更简洁、可读性更强,特别是在类型很长、很复杂的时候。1、基本语法比如有一个很长的函数类型:定义之后,ClickListener 就能用在任何地方代替原本的 (Int, String) -> Unit 类型。2、主要用途·简化类型书写
Kotlin ByteArray 和 ByteBuffer 深度解析1、ByteArray(字节数组)1.1、基本特性固定大小的原生字节序列JVM上对应Java的byte[]索引访问速度极快(O(1))1.2、创建方式1.3、核心操作1.4、二进制数据处理示例2、ByteBuffer(字节缓冲区)2.1、设计目的提供结构化二进制数据读写能力支持高低级混合操作内置字节序(endianness)控制2
Kotlin重载函数和默认参数冲突,会调用谁?有一个简单的关于函数重载和默认参数结合的问题,最近问了很多开发都不知道,说明平时没有关注或者很少发散思考。首先,定义重载函数。这个大家都不陌生,Koltin当然也可以,定义两个printMessage同名方法:一个有参数,一个无参数。同时Koltin也支持默认参数:这里给fun printMessage(message: Double = 1)方法的参