gpt4 book ai didi

android - Kotlin javaClass<> 在最新的 Android Studio 3.0 中缺少依赖项

转载 作者:太空狗 更新时间:2023-10-29 16:28:40 26 4
gpt4 key购买 nike

工具链:

  • Android Studio 3.0 金丝雀 2:

    构建 #AI-171.4041253,构建于 2017 年 5 月 24 日JRE:1.8.0_112-release-b736 x86_64JVM:JetBrains s.r.o 的 OpenJDK 64 位服务器 VMMac OS X 10.12.5

  • Google SDK/工具:我已经下载了最新的“所有”(Android O、工具、库等,至少根据 Android Studio SDK 管理器)。

问题:javaClass<>缺少并且 Android Studio 无法“导入它”。

我做了什么:

  1. 创建新的 Android 项目,以 API 23 为目标并告诉它包含一个“基本 Activity ”。

  2. 为 ViewModel 和 Room 添加了 Gradle 依赖项,取自:https://developer.android.com/topic/libraries/architecture/adding-components.html

这些是我添加到应用模块的 gradle 文件中的行:

compile "android.arch.lifecycle:runtime:1.0.0-alpha1"
compile "android.arch.lifecycle:extensions:1.0.0-alpha1"
annotationProcessor "android.arch.lifecycle:compiler:1.0.0-alpha1"
compile "android.arch.persistence.room:runtime:1.0.0-alpha1"
annotationProcessor "android.arch.persistence.room:compiler:1.0.0-alpha1"
  1. 同一个 Gradle 中的 Kotlin 引用是:compile "org.jetbrains.kotlin:kotlin-stdlib-jre7:$kotlin_version" (我没加那个,自动来的)

  2. 然后我创建了一个名为 MainViewModel 的简单 Kotlin 类:

    导入android.arch.lifecycle.ViewModel类 MainViewModel : ViewModel() {}

  3. 然后我转到我的 Activity 并尝试执行此 Google 文档中所说的:https://developer.android.com/topic/libraries/architecture/viewmodel.html

它在 Java 中,但转换为 Kotlin,我认为它应该看起来像:

val mainViewModel = ViewModelProviders.of(this).get(javaClass<MainViewModel>)

问题是 Android Studio 没有找到 javaClass 并且修复(按 )没有做任何事情。

Android Studio screen shot

我错过了什么?

最佳答案

我决定尝试使用 Java 到 Kotlin 的转换。因此,我在 Java 中创建了一个新的 Activity,并按照 Java 文档的说明编写了上述代码。

类(class)开始后,我在 Android Studio 中执行了 Code -> Convert Java Class To Kotlin,生成的 Kotlin 类具有以下行:

val viewModel = ViewModelProviders.of(this).get(MainViewModel::class.java)

编译完美。我将不得不更多地了解哪一个是正确的,但是如果您像我一样是这门语言的新手,那么这个可能会为您节省一些时间。

关于android - Kotlin javaClass<> 在最新的 Android Studio 3.0 中缺少依赖项,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44222505/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com