草庐IT

kotlin-experimental

全部标签

Kotlin: Module was compiled with an incompatible version of Kotlin

背景:使用intellij-idea工具,springboot项目,使用的maven问题:项目中没有依赖Kotlin,结果报错Kotlin版本问题,如下Kotlin:ModulewascompiledwithanincompatibleversionofKotlin.Thebinaryversionofitsmetadatais1.7.1,expectedversionis1.1.15.解决方案:JustgototheBuildmenuandclickontherebuildproject.只需要去Build菜单点击重建项目即可 参考文章:intellijidea-Error:Kotlin:M

android - 如何在 Kotlin 中使用 ViewModelProvider

我是Kotlin的新手,请帮助我如何在Kotlin中使用ViewModelProviders.of(this)我的java代码是mFavViewModel=ViewModelProviders.of(this).get(FavouritesViewModel.class);我无法在kotlin中找到ViewModelProviders类试过自动转换,但显示错误。谢谢。这是我的DataModel类classFavoritesDataViewModel:ViewModel{privatevarmFavHelper:DatabaseHelperprivatelateinitvarmfav:A

android - 缺少 Kotlin View setEnabled 函数?

在Kotlin中,当使用kotlinx.android.synthetic访问View(例如Button)时,setEnabled()函数丢失了吗?isEnabled()函数仍然存在。我如何setEnabled()? 最佳答案 如前所述inthereference,Javagetter和getter和setter对在Kotlin中表示为属性,使用以下逻辑:TgetSomething()(+voidsetSomething(T))→something:TTisSomething()(+voidsetSomething(T))→isSo

android - 更新到 Kotlin 1.3.30 后 "Unresolved reference: Parcelize"

我在实验模式下长期使用Kotlin1.3.21和kotlin-android-extensions插件。今天,我只是通过修改版本切换到Kotlin1.3.30,现在无论我在哪里使用@Parcelize注释,我都会看到错误:未解析的引用:Parcelize。以下是我启用android扩展的方法:applyplugin:'kotlin-android-extensions'androidExtensions{experimental=truefeatures=["parcelize"]}请注意,我在没有明确声明所需功能的情况下进行了尝试,但效果不佳。另请注意,我使用的是GrrovyGrad

android - 理想的Android Studio Kotlin gitignore

我想将我的Android应用程序代码提交到git存储库。为此,我需要一个合适的.gitignore文件,这样我就可以避免向repo提交不必要的和膨胀的东西。所以我想知道是否有人可以为我的kotlin项目提供一个好的。我已经在StackOverflow上解决了一些问题,但是那些.gitignore是面向JAVA项目的,我想要一个面向kotlin的问题。 最佳答案 android和java的gitignore与android和kotlin之间没有太大区别。不同之处在于构建目录,因此由于您的.gitignore中应该有一个构建条目,所以这

Kotlin中的Gradle

Grandle程序第一个Gradle程序1.创建左上角【File】->【NewProject】->【Project】,出现以下画面,如下勾选在配置Gradle时,需要连接网络下载资源,不然会出现配置失败的情况。若在构建完毕后,左侧的路径中没有出现src包,可以在build.gradle文件中最外部添加如下内容(对应的是5.X版本的Gradle):task'create-dirs'{doLast{sourceSets*.java.srcDirs*.each{it.mkdirs()}sourceSets*.resources.srcDirs*.each{it.mkdirs()}}}点击右侧栏进行如

Android Studio最新好用的插件----Gson转Java实体类/Kotlin Data

关于JSONJSON(JavaScriptObjectNotation)是一种轻量级的数据交换格式,易于阅读和编写,同时也易于机器解析和生成。JSON是由JavaScript语言衍生而来,但JSON并不是JavaScript的一种形式,它是一种独立的格式,可以在任何编程语言中使用。JSON数据由键值对组成,可以使用大括号来包含一组键值对,使用逗号来分隔不同的键值对。键和值之间使用冒号分隔,键必须是字符串,而且必须用双引号括起来,值可以是字符串、数字、布尔值、null、数组或另一个JSON对象。JSON数据可以是散乱的(unordered)或者有序的(ordered),散乱的JSON不会保留键值

android - Kotlin 和 Dagger 属于同一类吗?

依赖注入(inject)可能是所有模式中最强大的模式,但当我与Kotlin结合使用时,我想知道Dagger是否可靠,最重要的是可调试性足以用于大型项目。作为一个例子,gradle中的这条指令kapt"com.google.dagger:dagger-compiler:$rootProject.daggerVersion"产生一条非常长但无用的消息无法访问NonExistent类:缺少当然是这样困难的信息1)缺少的类名2)关于此引用所在代码中的点的任何信息。显然这是2016年报告的一个老问题:https://github.com/google/dagger/issues/435要解决此问

23:kotlin类和对象 -- 内联值类(Inline value classes)

有时,将一个值包装在一个类中可以创建一个更具领域特定类型的类。然而,由于额外的堆分配,这会引入运行时开销。此外,如果包装的类型是原始类型,性能损失是显著的,因为原始类型通常由运行时进行了大量优化,而它们的包装类没有得到任何特殊处理。为了解决这些问题,kotlin引入了一种特殊类型的类,称为内联类(inlineclass)。内联类是值类(value-basedclasses)的一个子集。它们没有身份,只能持有值。要声明一个内联类,请在类名之前使用value修饰符valueclassPassword(privatevals:String)要在JVM后端声明一个内联类,可以在类声明之前使用value

java - 为什么我不能在 Kotlin 中访问父类(super class)的枚举?

我正在将JavaAndroid项目转换为Kotlin。我正在使用API.AI'sclient,它有两个AIConfiguration类:父类(superclass)packageai.api;publicclassAIConfigurationimplementsCloneable{publicstaticenumSupportedLanguages{English("en"),//...}//...}子类packageai.api.android;publicclassAIConfigurationextendsai.api.AIConfiguration{publicenumRec