Dagger/RxレスMVPを自称しています。
大体以下の構成
- example
- datasource
- entity
- presenter
- service
- view
- item
- navigator
- MainApplication.kt
以下それぞれなにをしているのか
データの取得についてのクラスをまとめているぞ!APIにアクセスしたり、Firebaseにアクセスしたり、DBからデータを取ってくる処理はここに書こう!
データ構造についてのクラスをまとめているぞ!moshi/kotshiっていうパーサを使っているので @JsonSerialize
っていうアノテーションをつけるとJsonパーサがドンって感じで楽だぞ!
RetrofitがAPI連携するためのインターフェースを書くところだぞ!引数を @Query
アノテーション付きで書くとクエリができたり、 @Path
アノテーション付きで書くとパス変数ができるぞ!
画面についてのActivity/Fragmentはここに入れるぞ!CustomViewについては完全に考えていていなかったぞ!
Groupieでリスト要素の中身になるデータ構造とリストの要素のヒモ付を行うクラスをまとめているぞ!
画面遷移を行うクラスをまとめているぞ!
ホントは設計したくなかったけど複数人で書くとコンフリクトで消耗する未来が見えたんだ!許してヒヤシンス!