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 menyediakan TopAppBar, konten utama, dsb.

  • LazyColumn: Daftar yang efisien untuk banyak item (scrollable list).

  • dogs: List data anjing dari file data/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

Postingan populer dari blog ini

Latihan 1 (PBKK)

PPL-EAS

PPL-PERTEMUAN(14)