package Ġcom . dav ipv iana . using room . fragments ĊĊ Ċ import Ġandroid . content . Context Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . support . v 4 . app . Fragment Ċ import Ġandroid . view . LayoutInflater Ċ import Ġandroid . view . View Ċ import Ġandroid . view . ViewGroup Ċ import Ġandroid . widget . Button Ċ import Ġandroid . widget . EditText Ċ import Ġandroid . widget . Toast Ċ Ċ import Ġcom . dav ipv iana . using room . R Ċ import Ġcom . dav ipv iana . using room . database . Database Factory Ċ import Ġcom . dav ipv iana . using room . deleg ates . Students Delegate Ċ import Ġcom . dav ipv iana . using room . entities . Student Ċ Ċ /** Ċ Ġ* ĠA Ġsimple Ġ[ Fragment ] Ġsubclass . Ċ Ġ* Ċ Ġ*/ Ċ class ĠStudent Form Fragment Ġ: ĠFragment () Ġ{ ĊĊĠĠĠ Ġprivate Ġvar Ġstudent : ĠStudent Ġ= ĠStudent () ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġtxt Name : ĠEditText ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġtxt Email : ĠEditText ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġdelegate : ĠStudent s Delegate ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġdelegate Ġ= Ġactivity Ġas ĠStudent s Delegate ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġon Resume () Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . on Resume () ĊĠĠĠĠĠĠĠ Ġdelegate . set Activity Title (" Cad astro Ġde Ġal uno ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate View ( ĊĠĠĠĠĠĠĠ Ġinflater : ĠLayoutInflater , Ġcontainer : ĠViewGroup ?, ĊĠĠĠĠĠĠĠ ĠsavedInstanceState : ĠBundle ? ĊĠĠĠ Ġ): ĠView ? Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġview Ġ= Ġinflater . inflate ( R . layout . fragment _ student _ form , Ġcontainer , Ġfalse ) ĊĠĠĠĠĠĠĠ Ġinitialize Widgets ( view ) ĊĊĠĠĠĠĠĠĠ Ġload Student Information () ĊĊĠĠĠĠĠĠĠ Ġreturn Ġview ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġload Student Information () Ġ{ ĊĠĠĠĠĠĠĠ Ġif Ġ( arguments Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstudent Ġ= Ġarguments ?. get Serializable (" student ") Ġas ĠStudent ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġtxt Name . setText ( student . name ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtxt Email . setText ( student . email ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġinitialize Widgets ( view : ĠView ) Ġ{ ĊĠĠĠĠĠĠĠ Ġtxt Name Ġ= Ġview . findViewById ( R . id . student _ form _ name ) ĊĠĠĠĠĠĠĠ Ġtxt Email Ġ= Ġview . findViewById ( R . id . student _ form _ email ) ĊĊĠĠĠĠĠĠĠ Ġval Ġbtn Add Ġ= Ġview . findViewById < Button >( R . id . student _ form _ add ); ĊĊĠĠĠĠĠĠĠ Ġbtn Add . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġupdate Student Info () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġstudent Persist () ĊĊĠĠĠĠĠĠĠĠĠĠĠ Ġdelegate . back To Previous Screen () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġstudent Persist () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġstudent Dao Ġ= ĠDatabase Factory (). get Database ( context Ġas ĠContext ). student Dao () ĊĊĠĠĠĠĠĠĠ Ġif Ġ( student . id Ġ== Ġ 0 L ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstudent Dao . insert ( student ) ĊĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġstudent Dao . update ( student ) ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġupdate Student Info () Ġ{ ĊĠĠĠĠĠĠĠ Ġstudent . apply Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġname Ġ= Ġtxt Name . text . toString () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġemail Ġ= Ġtxt Email . text . toString () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} Ċ }