AndroidアプリではMVPアーキテクチャがよく使われてるっぽいぞ!?!!!と思ったのでRetrofit触るついでにやってみた。
以下のような認識でいます。
- Modelは、APIやDBとやり取りをしてEntityを返す。
- Presenterは、ModelからEntityを受け取り、Viewに渡す
- Viewは, Viewに関するメソッドを持ち、Entityを利用して表示したりする。
今までActivityはController的なやつ!って説明を見たりしていたので、最初それで考えてウーン??ってなったけど、ActivityはViewじゃんってわかった瞬間にアハ体験した。
こういう感じになった。
参考
主に以下を見て学びました。
- http://square.github.io/retrofit/
- http://blog.robinchutaux.com/blog/a-smart-way-to-use-retrofit/
- https://github.com/rallat/EffectiveAndroid/tree/mvp
- http://blog.nkzn.info/entry/2013/01/01/235154
- https://gist.github.com/Nkzn/4427906
一応書いたコードはGithubにもあげた。
コミットせずに進めてしまったのでわからないけど、最初はEntityを作らずにModelにEntityに入るようなクラスも入れてたけど、Viewに渡すならModelとは別概念がいいなと思って分けるとか色々した。
hisaichi5518/retrofit-mvp · GitHub