// RandomAnimals Example // Source code file: MainActivity.kt package it372.ssmith.randomanimal import android.os.Bundle import androidx.activity.ComponentActivity import androidx.activity.compose.setContent import androidx.activity.enableEdgeToEdge import androidx.compose.foundation.layout.Column import androidx.compose.foundation.layout.padding import androidx.compose.material3.Button import androidx.compose.material3.Text import androidx.compose.runtime.Composable import androidx.compose.runtime.mutableStateOf import androidx.compose.runtime.remember import androidx.compose.ui.Modifier import androidx.compose.ui.platform.LocalContext import androidx.compose.ui.tooling.preview.Preview import androidx.compose.ui.unit.dp import java.util.Scanner class MainActivity : ComponentActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) enableEdgeToEdge() setContent { MainLayout( ) } } } @Composable fun MainLayout( ) { var animalList = remember { mutableStateOf(mutableListOf("")) } var textDisplay = remember { mutableStateOf("") } Column(modifier = Modifier.padding(all = 40.dp)) { val context = LocalContext.current val inpStr = context.resources.openRawResource(R.raw.animals) val scanner = Scanner(inpStr) while (scanner.hasNextLine()) { animalList.value.add(scanner.nextLine( )) } Button( onClick = { var randomIndex = (0..2).random( ) var item = animalList.value[randomIndex] var itemArray = item.split(',') var animal = itemArray[0] var imageName = itemArray[1] + ".jpg" textDisplay.value = "Animal: $animal\nImage: $imageName" }, content = { Text("Show Random Animal") } ) Text(text = textDisplay.value) } } @Preview(showBackground = true) @Composable fun MainLayoutPreview() { MainLayout( ) }