0
Help us understand the problem. What are the problem?

posted at

【Android】MVVM的に2つのサンプルアプリを作ってみた 〜 Room & Retrofit2 〜

はじめに

皆さん、ごきげんよう!れぶです!

今回の記事では、MVVM設計を意識して作成した2つのサンプルアプリをざっくり紹介していきます。これからMVVM的にアプリを作成したいと考えている方に特に参考になれば光栄です。

それでは、参りましょう!!

開発環境

  • MacBook Air
  • Android Studio Bumblebee | 2021.1.1 Patch 1
  • Java 8
  • compileSdkVersion 31
  • minSdkVersion 21

1つ目のアプリ

概要

自分が行きたい国を管理できるサンプルアプリです。データの全表示・追加・削除ができます。
Roomを使って、ローカルDBのSQLiteを操作しています。

動作イメージ

MVVM.gif

アーキテクチャ図

MVVM.png

サンプルコード

2つ目のアプリ

概要

入力された郵便番号で町域名をリスト表示するサンプルアプリです。
Retrofit2を使って、zipcloudさんのAPIデータを取得しています。

また、以下の記事でこのサンプルアプリを作成した際に自身が躓いた箇所について赤裸々に書いているので、もし良かったら読んでみてください。

動作イメージ

ezgif.com-gif-maker (1).gif

アーキテクチャ図

MVVM2.png

サンプルコード

おわりに

今回は、MVVM的に作成したサンプルアプリ2つを簡単に紹介しました。
MVVM設計の思想を完全に理解したわけではないですが、今後もより一層View側にコードを書きすぎないように、以下の役割分担を意識してクラスを分割していこうと思います。

  • View➡️データの表示
  • ViewModel➡️データの加工・伝達
  • Model➡️データの取得・操作

アーキテクチャ図やサンプルコードが皆さんの学習に少しでも役立つと嬉しいです。
以上です。ありがとうございました!

参考サイト

Register as a new user and use Qiita more conveniently

  1. You can follow users and tags
  2. you can stock useful information
  3. You can make editorial suggestions for articles
What you can do with signing up
0
Help us understand the problem. What are the problem?