Java 房间+;ViewModel+;LiveData+;RecyclerView(MVVM)第7部分-添加注释活动-Android教程崩溃

Java 房间+;ViewModel+;LiveData+;RecyclerView(MVVM)第7部分-添加注释活动-Android教程崩溃,java,android,android-studio,mvvm,Java,Android,Android Studio,Mvvm,我正在关注youtube上flow编码的“Room+ViewModel+LiveData+RecyclerView(MVVM)Android Studio教程”。我已尽可能复制了他的代码,但他使用的一些代码已被弃用,即: noteViewModel = ViewModelProviders.of(this).get(NoteViewModel.class); 首先,我试着在其他帖子中使用以下建议,但是这不起作用 noteViewModel = new ViewModelProvider(

我正在关注youtube上flow编码的“Room+ViewModel+LiveData+RecyclerView(MVVM)Android Studio教程”。我已尽可能复制了他的代码,但他使用的一些代码已被弃用,即:

noteViewModel = ViewModelProviders.of(this).get(NoteViewModel.class);   
首先,我试着在其他帖子中使用以下建议,但是这不起作用

noteViewModel = new ViewModelProvider(this).get(NoteViewModel.class);
最后我发现下一行对我有用

noteViewModel = new ViewModelProvider(this, ViewModelProvider.AndroidViewModelFactory
            .getInstance(this.getApplication())).get(NoteViewModel.class);
这对我来说一直很有效,但现在我进行了教程(我现在在第7部分),我的应用程序崩溃了。当我尝试保存新便笺时会发生这种情况。我已经将我的代码与提供的代码进行了比较,上面一行是唯一的区别。下面是教程网站的链接,您可以在其中找到代码


以下版本已弃用

noteViewModel = ViewModelProviders.of(this).get(NoteViewModel.class);  
您应该使用下面的版本

noteViewModel = new ViewModelProvider(this).get(NoteViewModel.class);
但要做到这一点,您需要在build.gradle(应用程序模块版本)中添加正确的依赖项

implementation 'androidx.lifecycle:lifecycle-extensions:2.2.0'
implementation "androidx.lifecycle:lifecycle-viewmodel:2.2.0"