/* Ċ Ġ* ĠCopyright Ġ 2 0 1 8 , ĠThe ĠAndroid ĠOpen ĠSource ĠProject Ċ Ġ* Ċ Ġ* ĠLicensed Ġunder Ġthe ĠApache ĠLicense , ĠVersion Ġ 2 . 0 Ġ( the Ġ" License "); Ċ Ġ* Ġyou Ġmay Ġnot Ġuse Ġthis Ġfile Ġexcept Ġin Ġcompliance Ġwith Ġthe ĠLicense . Ċ Ġ* ĠYou Ġmay Ġobtain Ġa Ġcopy Ġof Ġthe ĠLicense Ġat Ċ Ġ* Ċ Ġ* ĠĠĠĠ Ġhttp :// www . apache . org / licenses / LICENSE - 2 . 0 Ċ Ġ* Ċ Ġ* ĠUnless Ġrequired Ġby Ġapplicable Ġlaw Ġor Ġagreed Ġto Ġin Ġwriting , Ġsoftware Ċ Ġ* Ġdistributed Ġunder Ġthe ĠLicense Ġis Ġdistributed Ġon Ġan Ġ" AS ĠIS " ĠBASIS , Ċ Ġ* ĠWITHOUT ĠWARRANTIES ĠOR ĠCONDITIONS ĠOF ĠANY ĠKIND , Ġeither Ġexpress Ġor Ġimplied . Ċ Ġ* ĠSee Ġthe ĠLicense Ġfor Ġthe Ġspecific Ġlanguage Ġgoverning Ġpermissions Ġand Ċ Ġ* Ġlimitations Ġunder Ġthe ĠLicense . Ċ Ġ*/ Ċ Ċ package Ġcom . example . android . dic er ol ler Ċ Ċ import Ġandroid . os . Bundle Ċ import Ġandroid . widget . Button Ċ import Ġandroid . widget . ImageView Ċ import Ġandroid . widget . Toast Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ Ċ class ĠMainActivity Ġ: ĠAppCompatActivity () Ġ{ ĊĠĠĠ Ġ// Image Ġcontainer ĊĠĠĠ Ġlateinit Ġvar Ġcat Image : ĠImageView ĊĊĠĠĠ Ġ// Variable Ġthat Ġsets Ġthe Ġtoast Ġmethod Ġduration Ġto Ġlong ĊĠĠĠ Ġval Ġduration Ġ= ĠToast . LENGTH _ LONG ĊĊĠĠĠ Ġoverride Ġfun ĠonCreate ( savedInstanceState : ĠBundle ?) Ġ{ ĊĠĠĠĠĠĠĠ Ġsuper . onCreate ( savedInstanceState ) ĊĠĠĠĠĠĠĠ Ġ// Sets Ġthe Ġlayout Ġabout Ġto Ġuse ĊĠĠĠĠĠĠĠ ĠsetContentView ( R . layout . activity _ main ) ĊĊĠĠĠĠĠĠĠ Ġ// This Ġtext Ġwill Ġappear Ġin Ġthe Ġtoast Ġmessage ĊĠĠĠĠĠĠĠ Ġval Ġtext Ġ= ĠgetString ( R . string . m ia u ) ĊĠĠĠĠĠĠĠ Ġ// Create Ġthe Ġtoast Ġmessage Ġthat Ġwill Ġbe Ġshown Ġin Ġthe Ġgiven Ġcontext ĊĠĠĠĠĠĠĠ Ġval Ġtoast Ġ= ĠToast . makeText ( application Context , Ġtext , Ġduration ) ĊĊĠĠĠĠĠĠĠ Ġ// Initialize Ġa ĠButton Ġvariable ĊĠĠĠĠĠĠĠ Ġval Ġchange Button : ĠButton Ġ= ĠfindViewById ( R . id . change _ button ) ĊĠĠĠĠĠĠĠ Ġ// Sets Ġa Ġlistener Ġthat Ġwill Ġpress Ġthe Ġbutton Ġwhen Ġwe Ġclick Ġon Ġit ĊĠĠĠĠĠĠĠ Ġchange Button . setOnClickListener Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġchange Cat () ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// Shows Ġthe Ġtoast Ġmessage ĊĠĠĠĠĠĠĠĠĠĠĠ Ġtoast . show () ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġcat Image Ġ= ĠfindViewById ( R . id . cat _ image ) ĊĠĠĠ Ġ} ĊĠĠĠ Ġ// Function Ġrand Ġrequests Ġtwo Ġint Ġarguments Ġand Ġreturns Ġus Ġanother ĊĠĠĠ Ġfun Ġrand ( start : ĠInt , Ġend : ĠInt ): ĠInt Ġ{ ĊĠĠĠĠĠĠĠ Ġ// Throws Ġan ĠIllegalArgumentException Ġif Ġthe Ġvalue Ġis Ġfalse . ĊĠĠĠĠĠĠĠ Ġrequire ( start Ġ<= Ġend ) Ġ{ Ġ" Illegal ĠArgument "} ĊĠĠĠĠĠĠĠ Ġ// Random ize Ġthe Ġint Ġvalue Ġreturned Ġbetween Ġthe Ġgiven Ġarguments ĊĠĠĠĠĠĠĠ Ġreturn Ġ( start .. end ). random () ĊĠĠĠ Ġ} ĊĠĠĠ Ġ// Function Ġchange Cat Ġuse Ġrand () Ġto Ġinicial ize Ġthe Ġdrawable Ġresources Ġwith Ġone Ġrandom Ġpicture ĊĠĠĠ Ġprivate Ġfun Ġchange Cat () Ġ{ ĊĠĠĠĠĠĠĠ Ġval Ġrandom Int Ġ= Ġrand ( 1 , Ġ 6 ) ĊĠĠĠĠĠĠĠ Ġval Ġdrawable Resource Ġ= Ġwhen Ġ( random Int ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠ 1 Ġ-> ĠR . drawable . gat ito 1 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 2 Ġ-> ĠR . drawable . gat ito 2 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 3 Ġ-> ĠR . drawable . gat ito 3 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 4 Ġ-> ĠR . drawable . gat ito 4 ĊĠĠĠĠĠĠĠĠĠĠĠĠ 5 Ġ-> ĠR . drawable . gat ito 5 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġelse Ġ-> ĠR . drawable . gat ito 6 ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ// Set Ġthe Ġimage Ġin Ġits Ġcontainer ĊĠĠĠĠĠĠĠ Ġcat Image . setImage Resource ( drawable Resource ) ĊĠĠĠ Ġ} Ċ } Ċ