PPB G - Pertemuan 2

Nama: Moh rosy haqqy aminy

NRP: 5025211012

Kelas: PPB G


Membuat Aplikasi Helloworld


code:

package com.example.basicscodelab

import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.compose.foundation.layout.Box
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.material3.MaterialTheme
import androidx.compose.material3.Surface
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Alignment
import androidx.compose.ui.Modifier
import androidx.compose.ui.tooling.preview.Preview
import com.example.basicscodelab.ui.theme.BasicsCodelabTheme

class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContent {
BasicsCodelabTheme {
// A surface container using the 'background' color from the theme
Surface(
modifier = Modifier.fillMaxSize(),
color = MaterialTheme.colorScheme.background
) {
Greeting("Android")
}
}
}
}
}

@Composable
fun Greeting(name: String, modifier: Modifier = Modifier) {
Box(
modifier = modifier.fillMaxSize(),
contentAlignment = Alignment.Center
) {
Text(
text = "Hello $name! (5025211012)",
)
}
}


@Preview(showBackground = true)
@Composable
fun GreetingPreview() {
BasicsCodelabTheme {
Greeting("Android")
}
}


📦 Paket dan Impor

package com.example.basicscodelab

Mendefinisikan namespace dari project ini.

import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
...

Mengimpor berbagai komponen dari Android dan Jetpack Compose seperti ComponentActivity, Composable, Modifier, Text, dll.


🏛️ MainActivity: Entry Point Aplikasi

class MainActivity : ComponentActivity() {
    override fun onCreate(savedInstanceState: Bundle?) {
        super.onCreate(savedInstanceState)

MainActivity adalah aktivitas utama yang dijalankan saat aplikasi dibuka. onCreate() adalah fungsi lifecycle yang dipanggil pertama kali.

setContent {
    BasicsCodelabTheme {
        Surface(
            modifier = Modifier.fillMaxSize(),
            color = MaterialTheme.colorScheme.background
        ) {
            Greeting("Android")
        }
    }
}
  • setContent { ... } digunakan dalam Jetpack Compose untuk menyetel tampilan UI aplikasi.

  • BasicsCodelabTheme menerapkan tema custom dari project.

  • Surface adalah wadah dengan background dari tema.

  • Greeting("Android") memanggil fungsi composable Greeting.


🎨 Composable: Greeting

@Composable
fun Greeting(name: String, modifier: Modifier = Modifier) {
    Box(
        modifier = modifier.fillMaxSize(),
        contentAlignment = Alignment.Center
    ) {
        Text(
            text = "Hello $name! (5025211012)",
        )
    }
}
  • @Composable: Menandakan bahwa fungsi ini adalah UI yang dapat digunakan oleh Jetpack Compose.

  • Box: Layout yang digunakan untuk menumpuk elemen (seperti FrameLayout di View System).

  • contentAlignment = Alignment.Center: Teks akan ditampilkan di tengah layar.

  • Text: Menampilkan teks "Hello Android! (5025211012)".

    • 5025211012 kemungkinan adalah NIM atau ID mahasiswa.


👁️ Preview: GreetingPreview

@Preview(showBackground = true)
@Composable
fun GreetingPreview() {
    BasicsCodelabTheme {
        Greeting("Android")
    }
}
  • @Preview: Memungkinkan Anda melihat tampilan UI ini di Android Studio tanpa harus menjalankan aplikasi.

  • showBackground = true: Menampilkan latar belakang saat preview.

  • Fungsi ini memanggil Greeting("Android") di dalam tema yang sama.



Komentar

Postingan populer dari blog ini

Latihan 1 (PBKK)

PPL-EAS

PPL-PERTEMUAN(14)