Androidアプリ開発におけるViewModelの役割について
Q&A
Closed
最近、Androidアプリ開発を始めた(プログラミング自体最近始めた)初心者なのですが、ViewModel、そしてMVVMというものの存在を知りました。私の中で、「MVVMとは、Modelでデータ全般やsetOnclickListenerなどのイベント処理を扱い、Viewで画面表示を扱い、ViewModelでそれ以外の処理を扱う」という考えのもと、ViewModelを使ってアプリ開発の練習をしました。
その中で、リストを扱ったのですが、ViewModelを用いて、リストにいれる数値の管理を行ったところ、自分の技術力不足のためか、とても煩雑かつメンテナンスも非常に困難になるものができあがってしまいそうになり断念しました。クリック処理もViewModelの方ではfindViewByIdが使えないため、MainActivityにwhen分岐を使いながら1つ1つ書くことになりそうでした。
簡易的なものですがイメージ図で表すと以下のようになります。
これを通して、ViewModelは全てのアプリに入れるべき要素なのか、入れることによりどういったメリットデメリットが存在するのか、初心者が手を出してよいものなのか、という疑問がわいてきました。
用語もなんとなくでしか理解できておらず、イメージ図も正しく伝わっているかわからないですがご教授いただけるとありがたいです。
