我的ViewModel类是Java,我的Activity类在Kotlin中 . 我收到了错误

09-18 14:01:32.737 14082-14082 / com.meme.archcompwordlist E / AndroidRuntime:FATAL EXCEPTION:main进程:com.meme.archcompwordlist,PID:14082 java.lang.RuntimeException:无法启动活动ComponentInfo {com .meme.archcompwordlist / com.meme.archcompwordlist.MainActivity}:java.lang.RuntimeException:无法在android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2665)的android下创建类com.meme.archcompwordlist.WordViewModel的实例位于android.app.Handler的android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1477)的android.app.ActivityThread.-wrap12(ActivityThread.java)上的.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726) .dispatchMessage(Handler.java:102)位于android.app.Looper.loop(Looper.java:154)的android.app.ActivityThread.main(ActivityThread.java:6119),位于java.lang.reflect.Method.invoke(本地方法)在com.android.internal.os.ZygoteInit的com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:886) . main(ZygoteInit.java:776)引起:java.lang.RuntimeException:无法在android.arch.lifecycle.ViewModelProvider $ AndroidViewModelFactory.create(ViewModelProvider.java:207)处创建类com.meme.archcompwordlist.WordViewModel的实例android.arch.lifecycle.ViewModelProvider.get(ViewModelProvider.java:134)位于android.arch.lifecycle.ViewModelProvider.get(ViewModelProvider.java:102)的com.meme.archcompwordlist.MainActivity.onCreate(MainActivity.kt:37)在android.app.A活动中的android.app.Asetrumentation.callActivityCnate(Instrumentation.java:1118)上的android.app.A活动,活动开发活动(ActivityThread.java:2618)上的android.app.Activity.performCreate(Activity.java:6679) . Activity.Thread.handleLaunchActivity(ActivityThread.java:2726)位于android.app.Handler.dispatchMessage的android.app.ActivityThread.-wrap12(ActivityThread.java)android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1477) Handler.java:102)在android.a.Looper.loop(Looper.java:154)android.a pp.ActivityThread.main(ActivityThread.java:6119)at com.android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:886)at com的java.lang.reflect.Method.invoke(Native Method) . android.internal.os.ZygoteInit.main(ZygoteInit.java:776)由java.lang.reflect.Constructor.newInstance中java.lang.reflect.Constructor.newInstance0(Native Method)的java.lang.reflect.InvocationTargetException引起(Constructor.java:430)位于android.arch.life循环的android.arch.lifecycle.ViewModelProvider $ AndroidViewModelFactory.create(ViewModelProvider.java:199)android.arch.lifecycle.ViewModelProvider.get(ViewModelProvider.java:134) . 位于android.app.Instrumentation.callActivityOnCreate的android.app.Activity.performCreate(Activity.java:6679)的com.meme.archcompwordlist.MainActivity.onCreate(MainActivity.kt:37)中的ViewModelProvider.get(ViewModelProvider.java:102) (Instrumentation.java:1118)在android.app.ActivityThread的android.app.ActivityThread.performLaunchActivity(ActivityThread.java:2618) . handleLaunchActivity(ActivityThread.java:2726)位于Android.app.Handler.dispatchMessage(处理程序 . )的android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1477)上的android.app.ActivityThread.-wrap12(ActivityThread.java) . java:102)在android.app.Looper.loop(Looper.java:154)的android.app.ActivityThread.main(ActivityThread.java:6119)at java.lang.reflect.Method.invoke(Native Method)at com .android.internal.os.ZygoteInit $ MethodAndArgsCaller.run(ZygoteInit.java:886)at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:776)引起:java.lang.RuntimeException:找不到实现for com.meme.archcompwordlist.room.WordRoomDatabase . Word.RoomDatabase_Impl不存在于android.arch.persistence.room.Room.getGeneratedImplementation(Room.java:93)的android.arch.persistence.room.RoomDatabase $ Builder.build(RoomDatabase.java:630)com.meme.archcompwordlist .room.WordRoomDatabase.getRoomDatabase(WordRoomDatabase.java:22)位于com.meme.archcompwordlist.WordRepository . (WordRepository.java:21),位于java.lang的com.meme.archcompwordlist.WordViewModel . (WordViewModel.java:22) . 位于android.arch的android.arch.lifecycle.ViewModelProvider $ AndroidViewModelFactory.create(ViewModelProvider.java:199)的java.lang.reflect.Constructor.newInstance(Constructor.java:430)中的reflect.Constructor.newInstance0(Native Method) . android.appme.archcompa上的com.meme.archcompword.MainActivity.onCreate(MainActivity.kt:37)中的android.arch.lifecycle.ViewModelProvider.get(ViewModelProvider.java:102)生命周期.ViewModelProvider.get(ViewModelProvider.java:134) .Activity.performCreate(Activity.java:6679)在android.app.Instrumentation.callActivityOnCreate(Instrume) ntation.java:1118)在android.app.ActivityThread.perleLaunchActivity(ActivityThread.java:2618)的android.app.ActivityThread.handleLaunchActivity(ActivityThread.java:2726)at atandroid.app.A活动中的android.app.ActivityThread.-wrap12(ActivityThread.java)在Android.os上的android.app.Handler.dispatchMessage(Handler.java:102)上的android.app.ActivityThread $ H.handleMessage(ActivityThread.java:1477) . 位于android.app.ActivityThread.main(ActivityThread.java:6119)的looper.loop(Looper.java:154)位于com.android.internal.os.ZygoteInit $的java.lang.reflect.Method.invoke(Native Method) com.android.internal.os.ZygoteInit.main中的MethodAndArgsCaller.run(ZygoteInit.java:886)(ZygoteInit.java:776)

这是我的AndroidViewModel类

public class WordViewModel extends AndroidViewModel {

    private WordRepository repository;

    private LiveData<List<WordEntity>> allWords;

    public WordViewModel(Application application){
        super(application);
        repository = new WordRepository(application);
        allWords = repository.getAllWords();
    }

    public LiveData<List<WordEntity>> getAllWords(){
        return allWords;
    }

    public void insert(WordEntity word){
        repository.insert(word);
    }

    public void deleteAllWords() {
        repository.deleteAllWords();
    }
}

这是我的活动课

class MainActivity : AppCompatActivity() {

    private lateinit var wordViewModel:WordViewModel
    private lateinit var newWord:EditText
    private lateinit var recyclerView:RecyclerView
    private lateinit var adapter:WordAdapter


    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)
        setContentView(R.layout.activity_main)
        setSupportActionBar(toolbar)

        adapter= WordAdapter()
        recyclerView= findViewById<RecyclerView>(R.id.wordList)
        recyclerView.adapter=adapter

        //establish a connection to the current ViewModel
        wordViewModel= ViewModelProviders.of(this).get(WordViewModel::class.java)

        newWord = findViewById<EditText>(R.id.insertWord);
        findViewById<Button>(R.id.submitWord).setOnClickListener {
             fun onClick(v:View?){
                if(!TextUtils.isEmpty(newWord.getText())){
                    wordViewModel.insert(WordEntity(newWord.getText().toString()))
                }
            }
        }
        findViewById<Button>(R.id.deleteWords).setOnClickListener{
            fun onClick(v:View?){
                wordViewModel.deleteAllWords()
            }
        }


        wordViewModel.getAllWords().observe(this,Observer<List<WordEntity>>(){
            fun onChanged(words:List<WordEntity>){
            adapter.setWords(words)
        }
        })

    }

}

有人可以帮我辨别我做错了什么吗?我想在远离Android的很长一段时间后拿起架构组件 . 我不完全清楚如何继续 .