package Ġcom . jes us ro jo . compose demo . state . examples Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroidx . activity . compose . setContent Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġandroidx . compose . foundation . layout . Column Ċ import Ġandroidx . compose . material . Text Ċ import Ġandroidx . compose . material . TextField Ċ import Ġandroidx . compose . runtime . Composable Ċ import Ġandroidx . compose . runtime . getValue Ċ import Ġandroidx . compose . runtime . li ved ata . observe As State Ċ import Ġandroidx . compose . runtime . mutable State Of Ċ import Ġandroidx . compose . runtime . remember Ċ import Ġandroidx . compose . ui . graphics . Color Ċ import Ġandroidx . lifecycle . view model . compose . viewModel ĊĊ Ċ class ĠHello Activity Compose Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġset Content Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠHello Screen () ĊĠĠĠĠĠĠĠĠĠĠ Ġ// ĠHello Screen With Internal State () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ } Ċ Ċ @ Composable Ċ private Ġfun ĠHello Screen ( hello ViewModel : ĠHello ViewModel Ġ= ĠviewModel ()) Ġ{ ĊĠĠĠ Ġ// Ġhello ViewModel Ġfollows Ġthe ĠLifecycle Ġas Ġthe Ġthe ĠActivity Ġor ĠFragment Ġthat Ġcalls Ġthis ĊĠĠĠ Ġ// Ġcomp osable Ġfunction . ĊĊĠĠĠ Ġ// Ġname Ġis Ġthe Ġ_ current _ Ġvalue Ġof Ġ[ hello ViewModel . name ] ĊĠĠĠ Ġval Ġname : ĠString Ġby Ġhello ViewModel . name . observe As State ("") ĊĊĠĠĠ ĠHello Input ( name Ġ= Ġname , Ġon Name Change Ġ= Ġ{ Ġhello ViewModel . on Name Changed ( it ) Ġ}) Ċ } Ċ Ċ @ Composable Ċ private Ġfun ĠHello Screen With Internal State () Ġ{ ĊĠĠĠ Ġval Ġ( name , ĠsetName ) Ġ= Ġremember Ġ{ Ġmutable State Of ("") Ġ} ĊĠĠĠ ĠHello Input ( name Ġ= Ġname , Ġon Name Change Ġ= ĠsetName ) Ċ } ĊĊĊ Ċ /** Ċ Ġ* Ġ@ param Ġname Ġ( state ) Ġcurrent Ġtext Ġto Ġdisplay Ċ Ġ* Ġ@ param Ġon Name Change Ġ( event ) Ġrequest Ġthat Ġtext Ġchange Ċ Ġ*/ Ċ @ Composable Ċ private Ġfun ĠHello Input ( ĊĠĠĠ Ġname : ĠString , ĊĠĠĠ Ġon Name Change : Ġ( String ) Ġ-> ĠUnit Ċ ) Ġ{ ĊĠĠĠ ĠColumn Ġ{ ĊĠĠĠĠĠĠĠ ĠText (" Hello Activity Compose ", Ġcolor Ġ= ĠColor . Red ) ĊĠĠĠĠĠĠĠ ĠText ( name ) ĊĠĠĠĠĠĠĠ ĠTextField ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvalue Ġ= Ġname , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġon Value Change Ġ= Ġon Name Change , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġlabel Ġ= Ġ{ ĠText (" Please , Ġenter Ġyour Ġname ") Ġ} ĊĠĠĠĠĠĠĠ Ġ) ĊĠĠĠ Ġ} Ċ }