[Android]lifecycleライブラリ2.2.0からViewModelProviders.ofが非推奨になっちゃった件

AndroidにおけるGoogle先生推奨の設計パターン「MVVM」の中核をなす「ViewModel」を使うためのライフサイクル(lifecycle)ライブラリが、2.2.0にアップデートされたことによって、ViewModelのインスタンスを取得するための「ViewModelPrviders.of」メソッドが非推奨になってしまいました、、、

blank

blank

ですので、バージョン2.2.0以降は、

1)Fragmentのktxライブラリを入れる(appレベルのbuild.gradleファイル)

blank

implementation "androidx.fragment:fragment-ktx:1.2.1"

(1.2.1の箇所は最新バージョンに)

 

2)Java8言語機能を使えるように設定(appレベルのbuild.gradleファイル)

blank

compileOptions {
        sourceCompatibility JavaVersion.VERSION_1_8
        targetCompatibility JavaVersion.VERSION_1_8
    }
    // For Kotlin projects
    kotlinOptions {
        jvmTarget = "1.8"
}

 

3)ViewModelのインスタンス取得方法のコード修正

blank

 

他のFragmentとViewModelを共有しない場合は「by viewModels()」

他のFragmentとViewModelを共有する場合(SharedViewModel)は「by activityViewModels()」を使用します。

これで、これまで「lateinit var」だったのを「val」にすることが出来ます。

(詳しくは、下の動画で解説していますので、よろしければご覧ください)

blank

こんな記事も読まれています

今すぐプレゼントを受け取る(約6時間のFlutter初級編体験版動画講座を無料でプレゼント)
blank

はじめての方へ

blank
みんプロ式プログラミング講座体系・ラインナップ
みんプロ式プログラミング講座受講の流れ(割引特典利用方法)
サイトマップ(みんプロHPコンテンツ一覧)
運営会社概要

おすすめコンテンツ

プログラミングを学ぶとどんないいことがあるのか
みんプロ式を選んでいただける6つの理由
ぼくの人生挫折ヒストリー(代表者プロフィール)
ぼくのプログラミング挫折ヒストリー(無料メール講座・6大特典付き)
今最も注目のアプリ開発ツール「Flutter(フラッター)」ミニ動画講座

みんプロ式動画講座(コア・Flutter)

ゼロからのFlutter(初級編)-はじめてのプログラミングからアプリリリースまで-
Flutter中級編1-Web通信・設計・状態管理・DIの基礎-
Flutter中級編2-Firebase/地図・カメラ連携等の基礎-
Flutter中級編3-広告/アプリ内課金等の基礎-
Flutter中級編4-Webアプリとレスポンシブデザインの基礎-

みんプロ式動画講座(サテライト)

Flutter/Dartトラブルシューティング・小ネタ集(コア初級編受講で無料プレゼント)
ゼロからのGit・GitHub(コマンドラインツールを極力使わないバージョン管理入門)
Flutter/Dartにおける設計・状態管理・DIの解説集
Dart逆引き大辞典
Flutterにおけるテストの基礎
blank
blank

みんプロ式対面講座(Zoom)

反転授業型3ヶ月集中グループコース(対面講座)
アプリ作成サポート型マンツーマンコース(対面講座)

みんプロ作成アプリ

blank
blank
blank
blank

TOP