Tugas 4 PPB

 

Tugas 4

Nama : Adinda Zahra Pamuji
NRP : 5025201175
Kelas : PPB I

Tugas kali ini adalah membuat aplikasi android Dice Roller

Membuat project Empty Activity

  1. Dalam dialog Welcome to Android Studio, pilih New Project.
  2. Dalam dialog New Project, pilih Empty Activity, lalu klik Next.
  3. Di kolom Name, masukkan Dice Roller, lalu pilih level API minimum 24 (Nougat) di kolom Minimum SDK dan klik Finish.
  4. Tunggu hingga Android Studio membuat file project dan membangun project tersebut.
  5. Klik Run App
Selanjutnya, kita akan memodifikasi file MainActivity menjadi seperti berikut
package com.example.diceroller
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.Image
import androidx.compose.foundation.layout.Column
import androidx.compose.foundation.layout.Spacer
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.height
import androidx.compose.foundation.layout.wrapContentSize
import androidx.compose.material3.Button
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Surface
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.runtime.mutableStateOf
import androidx.compose.runtime.remember
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.res.painterResource
import androidx.compose.ui.res.stringResource
import androidx.compose.ui.tooling.preview.Preview
import androidx.compose.ui.unit.dp
import com.example.diceroller.ui.theme.DiceRollerTheme
import androidx.compose.runtime.*
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
DiceRollerTheme {
DiceRollerApp()
}
}
}
}
@Preview
@Composable
fun DiceRollerApp() {
DiceRollerWithImageAndButton(modifier = Modifier
.fillMaxSize()
.wrapContentSize(align = Alignment.Center)
)
}
@Composable
fun DiceRollerWithImageAndButton(modifier: Modifier = Modifier) {
var result by remember { mutableStateOf(1) }
val imageResource = when (result) {
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
}
Column (
modifier = modifier,
horizontalAlignment = Alignment.CenterHorizontally
) {
Image(
painter = painterResource(id = imageResource),
contentDescription = result.toString()
)
Spacer(modifier = Modifier.height(16.dp))
Button(onClick = { result = (1..6).random() }) {
Text(stringResource(R.string.roll))
}
}
}
view raw MainActivity.kt hosted with ❤ by GitHub

Hasilnya akan seperti berikut


Comments