yumemi-inc / android-training-template

Apache License 2.0
13 stars 2 forks source link

エラーハンドリングとダイアログ表示(Compose) #14

Open Seo-4d696b75 opened 11 months ago

Seo-4d696b75 commented 11 months ago

💬 APIのエラーを補足してダイアログを表示しましょう。

[!NOTE]

Required(先に完了させましょう)

  • 13

Next(次に取り組みましょう)

  • 必須課題

    16

  • 任意課題

    15

課題内容

利用するAPI

YumemiWeather

    fun fetchThrowsWeather() : String

UI状態とイベント

エラーなどのイベントをUIでどう処理するのか?ではなく、イベントによってUIが表示すべき状態をどう変化させるか、という観点でモデル化します。今回ではエラーが発生すると、エラーダイアログを表示するか・非表示かの状態に影響しますので、例えば次のようにUI状態を定義できます

data class WeatherState(
    val weather: String?, // もっと適切な表現方法があります!
    val showErrorDialog: Boolean,
)

💡 ComposeではUI状態をひとつのDataClassにまとめて扱う場合が多いです

動作イメージ

参考資料