Part 1: ViewState のモデリング - 非同期なデータ取得
はじめに 今日のAndroid アプリ開発においては, ViewState を作るのが主流になってきたかと思います. 本シリーズでは, ViewState をモデリングするにあたって必要な考え方や実際の方法, そしてアプリ要件に合わせた応用的な実装について紹介していきます: 非同期なデータの取得状態の表現 統一的な Loading, Error 状態の表現 イベントの表現 今回は第1回として, もっともベーシックな 非同期なデータの取得状態の表現 について解説していきます. 同様の記事は既にたくさんあるので合わせて参照することをおすすめします. なお, 本シリーズが続く保証はありません… 😿 説明に当たっては, 次のような構成の To-do 管理アプリをベースに解説していきます. TasksFragment -> TasksViewModel (<-> TaskRepository <-> ...) <- TasksViewState -data class Task( val id: String, val title: String, val completedAt: String, )class TasksViewModel : ViewModel() { private val _state = MutableLiveData<TasksViewState>(TasksViewState()) val state: LiveData<TasksViewState> = _state } 非同期なデータの取得状態の表現 先に結論を述べると, 他の記事にもある通り, 次のようなクラスで表現するのが今のところ無難だろうということです....