PPB G - Pertemuan 12
Nama: Moh. rosy haqqy aminy
NRP: 5025211012
Kelas: PPB G
Membuat Aplikasi Woof
link github: https://github.com/rosyhaqqy/Tugas_Tugas_PPB/tree/main/woof
MainActivity.kt
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
...
setContent {
WoofTheme {
Surface {
WoofApp()
}
}
}
}
}
-
WoofTheme
: Menerapkan tema aplikasi. -
WoofApp()
: Fungsi utama yang memuat seluruh UI aplikasi.
WoofApp()
Scaffold(topBar = { WoofTopAppBar() }) {
LazyColumn(contentPadding = it) {
items(dogs) {
DogItem(dog = it, modifier = Modifier.padding(...))
}
}
}
-
Scaffold
: Struktur Compose yang menyediakanTopAppBar
, konten utama, dsb. -
LazyColumn
: Daftar yang efisien untuk banyak item (scrollable list). -
dogs
: List data anjing dari filedata/Dog.kt
.
DogItem()
Card {
Row {
DogIcon(...) // gambar anjing
DogInformation(...) // nama dan umur
}
}
-
Menampilkan kartu horizontal berisi gambar dan info anjing.
🐾 DogIcon()
Image(
painter = painterResource(dogIcon),
...
)
-
Menampilkan gambar anjing, dipotong (clip) dengan bentuk dari tema (
shapes.small
).
DogInformation()
Text(text = stringResource(dogName), ...)
Text(text = stringResource(R.string.years_old, dogAge), ...)
-
Menampilkan nama anjing dan umur dalam tahun.
-
Contoh: "Frankie", "2 years old"
WoofTopAppBar()
CenterAlignedTopAppBar {
Row {
Image(...) // Logo aplikasi
Text(...) // Nama aplikasi: "Woof"
}
}
-
Menampilkan app bar di atas dengan logo dan nama aplikasi.
Preview
@Preview
fun WoofPreview() { ... }
@Preview
fun WoofDarkThemePreview() { ... }
-
Menyediakan preview di Android Studio untuk tema terang dan gelap.
Dog.kt
(Data Class & Sample Data)
data class Dog(...)
val dogs = listOf(...)
-
Dog
: Model data untuk seekor anjing:-
imageResourceId
: ID gambar (e.g.R.drawable.koda
) -
name
: ID string untuk nama anjing -
age
: umur -
hobbies
: ID string hobi (belum ditampilkan di UI saat ini)
-
Komentar
Posting Komentar