kotlin
neo_尼欧
这个作者很懒,什么都没留下…
展开
-
Kotlin/JS工程构建及编译运行到浏览器
Kotlin/JS 提供了转换 Kotlin 代码、Kotlin 标准库的能力,并且兼容 JavaScript 的任何依赖项。Kotlin/JS 的当前实现以 ES5 为目标。使用 Kotlin/JS 的推荐方法是通过 kotlin.multiplatform Gradle 插件。它提供了一种集中且便捷的方式来设置与控制以 JavaScript 为目标的 Kotlin 项目。这包括基本特性, 例如控制应用程序的捆绑,直接从 npm 添加 JavaScript 依赖项等等。原创 2024-01-04 19:30:41 · 1108 阅读 · 2 评论 -
Kotlin差异化分析,let,run,with,apply及also
那如果我们将let块中最后一条语句修改为赋值语句,会发生什么变化?原创 2023-08-18 11:47:05 · 444 阅读 · 0 评论 -
java.lang.IllegalStateException: Already resumed, but proposed with update xxxx
只能单次恢复 Continuation。第二次恢复将抛出 IllegalStateException 并显示“已恢复,但收到 xxxx”消息。解决方法:可以添加额外的检查 continuation.isActive 来防止此异常。原创 2022-11-21 17:26:50 · 2630 阅读 · 0 评论 -
编译错误:Execution failed for task ‘:app:kaptDebugKotlin‘
使用Kotlin编译工程出现改错误:Execution failed for task ‘:app:kaptDebugKotlin’.A failure occurred while executing org.jetbrains.kotlin.gradle.internal.KaptExecutionjava.lang.reflect.InvocationTargetException (no error message)具体会报各种kotlin注解错误问题是kotlin插件版本和build原创 2022-03-18 13:29:08 · 9468 阅读 · 0 评论 -
ClassNotFoundException、NoClassDefFoundError异常
Room 使用中出现 ClassNotFoundException,NoClassDefFoundError异常问题 Caused by: java.lang.ClassNotFoundException: com.xxx.xxx.room.DBManager$initDB$MIGRATION_1_2$1 at java.lang.VMClassLoader.findLoadedClass(Native Method) at java.lang.ClassLoader.fi原创 2022-02-22 21:08:58 · 485 阅读 · 0 评论 -
Kotlin Float保留小数点后二位
一. 直接使用"%.2f".format(folat) 会自动执行四舍五入二. 使用DecimalFormatfun getFloatNoMoreThanTwoDigits(number: Float): String { val format = DecimalFormat("#.##") //舍弃规则,RoundingMode.FLOOR表示直接舍弃。 format.roundingMode = RoundingMode.FLOOR return format.for原创 2022-02-22 12:12:51 · 9181 阅读 · 0 评论 -
Room数据库构建失败问题
编译升级应用后出现异常打印:java.lang.NoClassDefFoundError: Failed resolution of: MyRoomDatabase原因:如果使用的是Kotlin语言build.gradle,需要添加Kapt插件依赖apply plugin: ‘kotlin-kapt’kapt ‘androidx.room:room-compiler:2.2.3’...原创 2021-12-15 20:03:30 · 2943 阅读 · 0 评论 -
LiveData的postValue与setValue多次调用问题
使用环境和特点setValue()只能在主线程中调用:多次调用每次都会收到postValue()可以在任何线程中调用:多次调用,只会收到最后一条更新(当然是在上一条没有发送之前,又收到一条消息时,前一条会被覆盖)方法分析setValue()看官方如何介绍这个方法。 /** * Sets the value. If there are active observers, the value will be dispatched to them. * <p> * ..原创 2021-12-09 10:06:07 · 2624 阅读 · 1 评论 -
Kotlin 空Null Or Empty的判断
値isEmptyisNotEmptyisNullOrEmptyisBlankisNotBlankisNullOrBlankorEmptyvar=""truefalsetruetruefalsetrue空文字var=" "falsetruefalsetruefalsetrue空格var=nullErrorErrortrueErrorErrortrue空var=“1”falsetruefalsefalsetru...原创 2021-09-22 12:14:53 · 428 阅读 · 0 评论 -
解构声明:从函数中返回多个变量
有时把一个对象 解构 成很多变量会很方便,例如:val (name, age) = person这种语法称为 解构声明上边代码会被编译成以下代码:val name = person.component1()val age = person.component2()其中的 component1() 和 component2() 函数是在 Kotlin 中广泛使用的 约定原则 的另一个例子。 (参见像 + 和 *、for-循环等操作符)。 任何表达式都可以出现在解构声明的右侧,只要可以对它调用所原创 2021-09-05 00:07:56 · 213 阅读 · 0 评论 -
Fragment间共享ViewModel
需要使用: val viewModel = ViewModelProvider(requireActivity()).get(TestViewModel::class.java)ViewModelProvider构造方法传入FragmentActivityViewModelProvider 的 of 方法,他主要有四个方法,分别是1.ViewModelProvider of(@NonNull Fragment fragment)2.ViewModelProvider of(@NonNull Fr原创 2021-08-08 17:00:36 · 1515 阅读 · 0 评论 -
Kotlin 复合符号( ‘?‘ ‘?.‘ ‘?:‘ ‘!!‘ )以及空处理
常用符合符号记录一下‘?’‘?.’Java表达:if (foo != null){ return foo.bar();}else{ return null;}‘?:’Java表达:if (foo != null){ return foo;}else{ return bar;}‘!!’Java表达:if (foo != null){ return foo;}else{ return throw ne原创 2021-08-04 14:57:59 · 817 阅读 · 0 评论