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 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 (sepertiFrameLayout
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
Posting Komentar