package Ġcom . bab o ais ystem . fe erate kit . demo Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . widget . Button Ċ import Ġandroid . widget . TextView Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . lifecycle . Observer Ċ import Ġandroidx . lifecycle . ViewModel Providers Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar ĠviewModel : ĠMain ViewModel ĊĊĠĠĠ Ġlateinit Ġvar Ġrates TextView : ĠTextView ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġrates Refresh Btn : ĠButton ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĊĊĠĠĠĠĠĠĠ ĠviewModel Ġ= ĠViewModel Providers . of ( this ). get ( Main ViewModel :: class . java ) ĊĠĠĠĠĠĠĠ Ġrates TextView Ġ= ĠfindViewById ( R . id . fee Rates ) ĊĠĠĠĠĠĠĠ Ġrates Refresh Btn Ġ= ĠfindViewById ( R . id . refresh Button ) ĊĊĠĠĠĠĠĠĠ ĠviewModel . fee Rate Data . observe ( this , ĠObserver Ġ{ Ġfees Ġ-> ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrates TextView . text Ġ= Ġfees ĊĠĠĠĠĠĠĠ Ġ}) ĊĊĠĠĠĠĠĠĠ Ġrates Refresh Btn . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġrates TextView . text Ġ= Ġ" Getting Ġvalues Ġ... Ġ" ĊĠĠĠĠĠĠĠĠĠĠĠ ĠviewModel . refresh () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ Ċ } Ċ