package Ġcom . example . android . dic er ol ler Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . widget . Button Ċ import Ġandroid . widget . ImageView Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġjava . util .* Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĊĠĠĠ Ġ/* ĊĠĠĠ ĠNorm ally , Ġproperties Ġdeclared Ġas Ġhaving Ġa Ġnon - null Ġtype Ġmust Ġbe Ġinitialized Ġin Ġthe Ġconstructor . ĊĠĠĠ Ġhowever , Ġit Ġis Ġoften Ġthe Ġcase Ġthat Ġdoing Ġso Ġis Ġnot Ġconvenient , Ġas Ġwe Ġdo Ġnot Ġdefine Ġconstructor ĊĠĠĠ Ġin Ġactivity Ġbut Ġyou Ġstill Ġwant Ġto Ġavoid Ġnull Ġchecks Ġwhen Ġreferencing Ġthe Ġproperty ĊĠĠĠ Ġinside Ġthe Ġbody Ġof Ġa Ġclass , Ġthus Ġwe Ġuse Ġlateinit ĊĠĠĠĠ Ġ*/ ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġdice Image : ĠImageView ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĊĠĠĠĠĠĠĠ Ġ// Ġgetting Ġreference Ġwith Ġimmutable Ġvariable ĊĠĠĠĠĠĠĠ Ġval Ġroll Button : ĠButton Ġ= ĠfindViewById ( R . id . roll _ button ) ĊĊĠĠĠĠĠĠĠ Ġroll Button . text Ġ= Ġ" Let 's ĠRoll " ĊĠĠĠĠĠĠĠ Ġ// Ġ" Let 's ĠRoll ". also Ġ{ Ġroll Button . text Ġ= Ġit Ġ} ĊĊĠĠĠĠĠĠĠ Ġroll Button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠToast . makeText ( this , Ġ" Button Ġclicked ", Toast . LENGTH _ SHORT ). show (); ĊĠĠĠĠĠĠĠĠĠĠĠ Ġroll Dice () ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġdice Image Ġ= ĠfindViewById ( R . id . dice _ image ) ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġprivate Ġfun Ġroll Dice () Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġrandom Int Ġ= ĠRandom (). nextInt ( 6 ) Ġ+ Ġ 1 ĊĊĠĠĠĠĠĠĠ Ġval Ġdrawable Resource Ġ= Ġwhen ( random Int ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ-> ĠR . drawable . dice _ 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 2 Ġ-> ĠR . drawable . dice _ 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 3 Ġ-> ĠR . drawable . dice _ 3 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 4 Ġ-> ĠR . drawable . dice _ 4 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ 5 Ġ-> ĠR . drawable . dice _ 5 ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠR . drawable . dice _ 6 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġdice Image . setImage Resource ( drawable Resource ) ĊĊĠĠĠĠĠĠĠ Ġ/* ĊĠĠĠĠĠĠĠ Ġval Ġresult Text : ĠTextView Ġ= ĠfindViewById ( R . id . result _ text ) ĊĠĠĠĠĠĠĠ Ġ// Ġunder Ġjava . util .* ĊĠĠĠĠĠĠĠ Ġ// Ġgenerates Ġ 1 Ġto Ġ 6 Ġrandom Ġvalues ĊĠĠĠĠĠĠĠ Ġval Ġrandom Int Ġ= ĠRandom (). nextInt ( 6 ) Ġ+ Ġ 1 ĊĠĠĠĠĠĠĠ Ġresult Text . text Ġ= Ġrandom Int . toString () ĊĠĠĠĠĠĠĠĠ Ġ*/ ĊĠĠĠ Ġ} Ċ } Ċ