はじめに
皆さん、ごきげんよう!れぶです!
今回の記事では、MVVM設計
を意識して作成した2つのサンプルアプリをざっくり紹介していきます。これからMVVM的にアプリを作成したいと考えている方に特に参考になれば光栄です。
それでは、参りましょう!!
開発環境
- MacBook Air
- Android Studio Bumblebee | 2021.1.1 Patch 1
- Java 8
- compileSdkVersion 31
- minSdkVersion 21
1つ目のアプリ
概要
自分が行きたい国を管理できるサンプルアプリです。データの全表示・追加・削除ができます。
Room
を使って、ローカルDBのSQLiteを操作しています。
動作イメージ
アーキテクチャ図
サンプルコード
2つ目のアプリ
概要
入力された郵便番号で町域名をリスト表示するサンプルアプリです。
Retrofit2
を使って、zipcloudさんのAPIデータを取得しています。
また、以下の記事でこのサンプルアプリを作成した際に自身が躓いた箇所について赤裸々に書いているので、もし良かったら読んでみてください。
動作イメージ
アーキテクチャ図
サンプルコード
おわりに
今回は、MVVM的に作成したサンプルアプリ2つを簡単に紹介しました。
MVVM設計の思想を完全に理解したわけではないですが、今後もより一層View側にコードを書きすぎないように、以下の役割分担を意識してクラスを分割していこうと思います。
- View➡️データの表示
- ViewModel➡️データの加工・伝達
- Model➡️データの取得・操作
アーキテクチャ図やサンプルコードが皆さんの学習に少しでも役立つと嬉しいです。
以上です。ありがとうございました!
参考サイト
- Android Room with a View - Java
- [Android]MVVMモデルでRoom+SQLite+LiveDataでRecyclerViewに表示する仕組みを理解する
- 2020年版RecyclerViewの使い方 〜 RecyclerView + ListAdapter + DataBinding + LiveData + ViewModel 〜
- 【Android】MVVMで、Retrofit2 + Kotlin CoroutinesでHttp通信でqiitaの記事検索するやつ作った
- Retrofit2 + Java でAPIコールを実装する
- MVVMアーキテクチャで書籍管理アプリを作ってみた!
- 【Android】分かった気になれる!アーキテクチャ・MVVM概説
- 【Android】初心者が意識すべきMVVMでの開発ルール