簡體   English   中英

Kotlin javaClass <>缺少最新Android Studio 3.0中的依賴項

[英]Kotlin javaClass<> missing dependency in latest Android Studio 3.0

工具鏈

  • Android Studio 3.0 Canary 2:

    構建#AI-171.4041253,構建於2017年5月24日JRE:1.8.0_112-release-b736 x86_64 JVM:JetBrains的OpenJDK 64位服務器VM sro Mac OS X 10.12.5

  • Google SDK / Tools:我已經下載了最新的“全部”(Android O,工具,庫等,至少根據Android Studio SDK Manager)。

問題 :缺少javaClass<> ,Android Studio無法“導入”。

我做了什么

  1. 創建新的Android項目,目標API 23並告訴它包含“基本活動”。

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

這些是我添加到App Module的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類:

    import android.arch.lifecycle.ViewModel類MainViewModel:ViewModel(){}

  3. 然后我轉到我的活動並嘗試執行此Google文檔所說的內容: https//developer.android.com/topic/libraries/architecture/viewmodel.html

它是用Java編寫的,但是轉換為Kotlin, 我認為應該是這樣的:

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

問題是,Android的工作室沒有找到javaClass和修復(按⌥⏎)不會做任何事情。

Android Studio屏幕截圖

我錯過了什么?

我決定嘗試使用Java To Kotlin轉換。 所以我在Java中創建了一個新的Activity,並在java文檔中寫了上面的代碼。

課程結束后,我在Android Studio中進行了Code -> Convert Java Class To Kotlin ,得到的Kotlin類有以下幾行:

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

這完全編譯。 我將不得不更多地了解哪一個是正確的,但是如果你像我一樣對語言不熟悉,那么這個可以節省你一些時間。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM