Kotlin

记一次Android项目升级Kotlin版本(1.5 -> 1.7)

原文地址: [记一次Android项目升级Kotlin版本(1.5 -> 1.7) - Stars-One的杂货小窝](https://stars-one.site/2023/08/12/android-project-kotin-version-up) 由于自己的历史项目Kotlin版本比较老了, ......
Android 版本 项目 Kotlin 1.5

Kotlin中的Inline Class

### Inline Class ``` @JvmInline value class ErrorCode (code: Int) ``` Kotlin中在类声明处使用 **value** 关键字即可声明一个Inline Class,Inline Class的主构造函数有且仅有一个参数。后续对Inl ......
Kotlin Inline Class

Kotlin中的Data Class

### Data Class Kotlin中的Data Class主要用于封装和持有数据,作用类似Java中的POJO对象。 ``` data class User(nickname: String, sex: Int, age: Int) ``` 在**class**之前加上 **data** 关 ......
Kotlin Class Data

Dart vs Kotlin vs Swift 语法比较

> 原文地址 [juejin.cn](https://juejin.cn/post/6844904067974742030#heading-11) > _" 世界上只有两种编程语言:一种经常被人喷,一种没人用。” ——_ Bjarne Stroustrup 现代原生移动应用主要由 [Swift](h ......
语法 Kotlin Swift Dart vs

Kotlin与Java语法对比学习

## 定义变量 ```kotlin // Kotlin val i: Int = 10 // 定义一个整数变量 val d: Double = 10.0 // 定义一个双精度浮点数变量 val b: Boolean = true // 定义一个布尔变量 val c: Char = 'a' // 定义 ......
语法 Kotlin Java

Kotlin/Swift语法对比

> 原文地址 [juejin.cn](https://juejin.cn/post/6945655299353083917#heading-3) 变量和常量 Swift ``` var myVariable = 42 let myConstant = 42 ``` Kotlin ``` var my ......
语法 Kotlin Swift

kotlin开发 Flow的学习

前言 Flow是配合Kotlin协程使用的异步编程工具。其实Flow的概念并不是独家的,更早之前Java端就有自带的stream与大名鼎鼎的RxJava,它们的思想都是响应式编程思想(或者也可以称呼链式编程),当时的响应式编程思想就是为了解决Java各个线程的异步处理结果进行同步。其更底层的思想核心 ......
kotlin Flow

Kotlin 实用函数

chunked:将ByteArray分割为指定大小的子数组(List<ByteArray>) val list = listOf(1, 2, 3, 4, 5, 6, 7, 8, 9, 10) val chunkedList = list.chunked(3) println(chunkedList) ......
函数 Kotlin

从头学Java17-今天的Kotlin更香吗

> 出于各种限制,很多公司依然停留在Java8,部分小伙伴转向了Kotlin。Kotlin作为静态编译语言,提供大量语法糖,而且编译后的字节码跟Java一致。 > > 当时,Java8于2014年发布,Kotlin于2016年,很多宣称的语法糖都是对比的Java8。不禁要问,相对今天的Java17, ......
从头 Kotlin Java 17

【Kotlin】基于Room对SQLite操作

gradle中添加引用 一下引用有重复,可以删除部分,我这个在项目中,懒得删除了 def room_version = "2.3.0" implementation 'androidx.room:room-common:2.3.0' implementation 'androidx.room:roo ......
Kotlin SQLite Room

【Kotlin】 列表适配器

列表的显示和操作 定义操作接口,只定义编辑和删除的功能,其他的功能可以类似扩展 /** * 列表中项的操作 */ interface ItemOperatorAdapter<T> { /** * 删除 */ fun onDelete(t: T) /** * 编辑 */ fun onEdit(t: T ......
适配器 Kotlin

【Kotlin】 枚举

enum class RoleEnum(val v: Int, val desc: String) { UNKNOWN(-10, "未知"), ADMIN(10, "系统管理员"), KEEPER(20, "仓库管理员"), SCENER(30, "现场人员"); companion object ......
Kotlin

Kotlin中的泛型:协变与逆变

### 协变与逆变 现在假设存在类**A**和类**B**,以及泛型类**LIst\**和泛型类**LIst\**,则协变和逆变的定义如下: - 协变 如果A是B的子类,且List\是List\的子类,那么可以说泛型List\是协变的 - 逆变 如果A是B的子类,且List\是List\的子类,那么 ......
Kotlin

Kotlin 常用语法糖记录

原文地址: [Kotlin 常用语法糖记录 - Stars-One的杂货小窝](https://stars-one.site/2023/07/06/kotlin-common-fun) 当使用 Kotlin 编程时,有一些常用的函数可以帮助我们简化代码并提高开发效率。 稍微列举下常用的方法 ## r ......
语法 常用 Kotlin

Android 构建脚本从Groovy迁移到Kotlin DSL

原文:https://edenxio.github.io/2019/02/01/Android%20%E6%9E%84%E5%BB%BA%E8%84%9A%E6%9C%AC%E4%BB%8EGroovy%E8%BF%81%E7%A7%BB%E5%88%B0Kotlin%20DSL/ 为什么要迁移? ......
脚本 Android Groovy Kotlin DSL

为什么说Kotlin是未来

相比起 Java 语言,Kotlin 的优势确实非常明显: 第一,极高的生产效率。Kotlin 是一种跨平台的静态类型语言,具有现代简洁的语法,关键特性包括 null 安全性、协程、数据类型、扩展函数等;这让开发者会用得很爽:前期开发效率更高,中期线上问题更少,后期代码更容易维护。而这正是 Java ......
Kotlin

Kotlin 语法糖(对象不为空返回自身,为空返回其他)

原文地址: [Kotlin 语法糖(对象不为空返回自身,为空返回其他) - Stars-One的杂货小窝](https://stars-one.site/2023/06/16/kotlin-ifblank-usage) 开发中,经常会有这样逻辑: > 判断对象如果不为空,则取对象本身; > 为空,则 ......
语法 对象 Kotlin

Android Kotlin Retrofit MVP网络请求封装(四)

依赖 implementation 'com.squareup.retrofit2:retrofit:2.9.0' implementation 'com.google.code.gson:gson:2.8.8' implementation 'com.squareup.okhttp3:okhttp ......
Retrofit Android Kotlin 网络 MVP

Android Kotlin 底部菜单栏

LoginSuccessActivity布局 <?xml version="1.0" encoding="utf-8"?> <LinearLayout xmlns:android="http://schemas.android.com/apk/res/android" xmlns:app="http ......
底部 菜单 Android Kotlin

Android Kotlin MVP 登录实现

一:新建MVP软件包文件 activity_main.xml 界面 <?xml version="1.0" encoding="utf-8"?> <RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android" xm ......
Android Kotlin MVP

kotlin 调用对应java实现

kotlin 调用对应java实现1.枚举 kotlion默认是publiccotlin 枚举enum class DoorState { OPEN, CLOSE } java实现public static enum DoorState { OPEN, CLOSE; } 2. class 2.1 d ......
kotlin java

Kotlin协程-从理论到实战

> 上一篇文章从理论上对Kotlin协程进行了部分说明,本文将在上一篇的基础上,从实战出发,继续协程之旅。 ### 从源头说起 在Kotlin中,要想使用协程,首先需要使用协程创建器创建,但还有个前提——协程作用域(`CoroutineScope`)。在早期的Kotlin实现中,协程创建器是一等函数 ......
实战 理论 Kotlin

Kotlin协程-从一到多

> 上一篇文章,我介绍了Kotlin协程的创建,使用,协作等内容。本篇将引入更多的使用场景,继续带你走进协程世界。 ### 使用协程处理异步数据流 常用编程语言都会内置对同一类型不同对象的数据集表示,我们通常称之为容器类。不同的容器类适用于不同的使用场景。Kotlin的`Flow`就是在异步计算的需 ......
Kotlin

Kotlin协程-那些理不清乱不明的关系

> Kotlin的协程自推出以来,受到了越来越多Android开发者的追捧。另一方面由于它庞大的API,也将相当一部分开发者拒之门外。本篇试图从协程的几个重要概念入手,在复杂API中还原出它本来的面目,以全新的角度带读者走进Kotlin协程世界。 ### 什么是协程 在很多有关协程的文章中,描述协程 ......
Kotlin

Kotlin 集合对象的单条件和多条件排序

原文: [Kotlin 集合对象的单条件和多条件排序 - Stars-One的杂货小窝](https://stars-one.site/2023/06/14/kotlin-list-sort) 本文不是太难的东西,因为`sortedWith`之前没怎么用过,所以就记录下 平常开发经常使用到List, ......
条件 对象 Kotlin

Kotlin中的Sealed Class

###Sealed Class Sealed Class即密封类,使用**sealed**关键字修饰一个类即表示该类是密封类。 ``` sealed class Error ``` 密封类的一个主要特点是其只有有限个子类型,其所有的子类型在编译期就能够全部枚举出来。 从这一个特点上看,密封类有点像是 ......
Kotlin Sealed Class

Kotlin中的@JvmOverloads注解的解释

在自定义一些控件的时候,我经常会直接写入需要的参数,比如: class MaskedCardView( context: Context, attributeSet: AttributeSet? = null, defStyle: Int = com.google.android.material. ......
注解 JvmOverloads Kotlin

[Kotlin Tutorials 22] 协程中的异常处理

# 协程中的异常处理 ![coroutine exception handling](https://img2023.cnblogs.com/blog/325852/202306/325852-20230608084235670-684439238.png) ## Parent-Child关系 如果 ......
Tutorials Kotlin 22

[Kotlin Tutorials 21] 协程的取消

# 协程的取消 本文讨论协程的取消, 以及实现时可能会碰到的几个问题. ![coroutine cancellation](https://img2023.cnblogs.com/blog/325852/202306/325852-20230607235812812-279507376.png) 本 ......
Tutorials Kotlin 21

使用kotlin实现lua的协程(非对称)

一、非对称所以调用的参数和返回值可以是不同的类型 例如:我们创建一个调用的yield参数返回值 // 模板的参数是P,返回值是R // yield对应的传入参数是R,返回值是P interface CoroutineScope<P, R> { val parameter: P? suspend fu ......
kotlin lua