【问题标题】:How to use a Kotlin class in a java class?如何在 Java 类中使用 Kotlin 类?
【发布时间】:2017-05-24 07:16:20
【问题描述】:

我是 Kotlin 编程的新手。我正在开发一个 Android 应用程序,我使用 Java 进行开发。在 Google 宣布 Kotlin 成为 Android 开发的官方之后,我想尝试在 Kotlin 中添加到我的 android 应用程序中的功能。所以我从一个 POJO 类开始。

我在包 com.example.model 中有一个 pojo 类说 MyPOJO.kt 我正在尝试在 com.example.viewmodel 包中的另一个 java 类 MyViewModel.java 中使用该 pojo

当我尝试运行我的应用程序时,我得到一个异常,例如, /Users/senthil/app/src/main/java/com/example/viewmodel/MyViewModel.java 错误:(17, 35) 错误:找不到符号类 MyPojo

我不知道问题出在哪里。

提前致谢

【问题讨论】:

  • 您是否在项目中设置了 Kotlin 插件?
  • 发布您的 java 文件
  • 显示你的代码?
  • 这个被标记为重复的问题与这个问题没有任何关系,即使标题相似。

标签: java android kotlin


【解决方案1】:

最可能的错误似乎是您在 Kotlin 设置中遗漏了某些内容。

对于 3.0 之前的 Android Studio 设置,您的应用 build.gradle 中应包含以下内容:

apply plugin: 'kotlin-android'

dependencies {
  ...
  compile "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
}

以及您的顶级 gradle 中的以下内容:

buildscript {
  ext.kotlin_version = '1.1.2-3'
  repositories {
    jcenter()
  }
  dependencies {
    classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:$kotlin_version"
  }
}

allprojects {
  repositories {
    jcenter()
  }
}

当然还安装了 kotlin 插件。

根据您的 src 文件结构,您可能还需要添加如下内容:

sourceSets {
  main.java.srcDirs += 'src/main/kotlin'
  test.java.srcDirs += 'src/test/kotlin'
}

但只有当您坚持将 kotlin 文件放在单独的目录中时才需要这样做(目前,我倾向于不这样做)。

【讨论】:

  • 感谢您的友好回复。我现在开始工作了,早些时候我错过了“应用插件:kotlin-android”声明。谢谢
猜你喜欢
  • 1970-01-01
  • 2021-12-23
  • 2020-08-17
  • 1970-01-01
  • 1970-01-01
  • 2019-01-14
  • 2020-03-12
  • 2021-09-20
  • 2015-09-01
相关资源
最近更新 更多