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. -
BasicsCodelabThememenerapkan tema custom dari project. -
Surfaceadalah wadah dengan background dari tema. -
Greeting("Android")memanggil fungsi composableGreeting.
🎨 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 (sepertiFrameLayoutdi View System). -
contentAlignment = Alignment.Center: Teks akan ditampilkan di tengah layar. -
Text: Menampilkan teks "Hello Android! (5025211012)".-
5025211012kemungkinan 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
Posting Komentar