PPB - Tugas 2
Nama : Ahmad Hafiz Mahardika
NRP : 5025201196
Kelas : Pemrograman Perangkat Bergerak (B)
Membuat Aplikasi "Hello Android!"
Tugas 2 ini yaitu implementasi aplikasi Hello Android pada Android Studio dengan menggunakan Jetpack Compose.
Implementasi:
Berikut adalah isi dari file MainActivity.kt:
Import Library:
package com.example.greetingcard
import android.os.Bundle
import androidx.activity.ComponentActivity
import androidx.activity.compose.setContent
import androidx.activity.enableEdgeToEdge
import androidx.compose.foundation.layout.fillMaxSize
import androidx.compose.foundation.layout.padding
import androidx.compose.material3.Scaffold
import androidx.compose.material3.Text
import androidx.compose.runtime.Composable
import androidx.compose.ui.Modifier
import androidx.compose.ui.tooling.preview.Preview
import com.example.greetingcard.ui.theme.GreetingCardTheme
MainActivity Class:
class MainActivity : ComponentActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
enableEdgeToEdge()
setContent {
GreetingCardTheme {
Scaffold(modifier = Modifier.fillMaxSize()) { innerPadding ->
Greeting(
name = "Android",
modifier = Modifier.padding(innerPadding)
)
}
}
}
}
}
Class MainActivity adalah Class utama yang meng-inherit kelas ComponentActivity. Class ini meng-override method onCreate() dari class parent. Method onCreate() adalah titik awal dari dari aplikasi Android ini dan berguna untuk memanggil fungsi lain untuk membangun user interface dari aplikasi.
Fungsi setContent() didalam onCreate() digunakan untuk mendefinisikan layout aplikasi melalui fungsi composable. Semua fungsi yang ditandai oleh @Composable dapat dipanggil dari dalam setContent() atau dari fungsi composable yang lainnya. Anotasi tersebut memberi tahu compiler Kotlin bahwa fungsi tersebut digunakan oleh Jetpack Compose untuk membangu UI.
Fungsi Greeting():
@Composable
fun Greeting(name: String, modifier: Modifier = Modifier) {
Text(
text = "Hello $name!",
modifier = modifier
)
}
Fungsi diatas adalah fungsi Composable yang dapat diketahui dari anotasi @Composable diatasnya. Fungsi ini mengambil beberapa input dan menghasilkan sebuah teks yang ditampilkan oleh aplikasi.
Fungsi ini menggunakan fungsi Composable lain yaitu fungsi Text() untuk menampilkan teks.
Fungsi GreetingPreview():
@Preview(showBackground = true)
@Composable
fun GreetingPreview() {
GreetingCardTheme {
Greeting("Android")
}
}
Fungsi ini berfungsi untuk agar developer dapat melihat preview dari fungsi Composable yang dibuat tanpa harus mem-build seluruh aplikasi. Untuk mengaktifkan preview dari sebuah composable, digunakan anotasi @Preview dan @Composable. Anotasi @Preview memberitahu Android Studio bahwa composable tersebut dapat ditunjukan pada design view file tersebut. Anotasi @Preview menggunakan satu parameter yaitu parameter showBackground. Parameter tersebut berfungsi untuk menambah background pada preview yang dihasilkan.
Didalam fungsi GreetingPreview(), fungsi Greeting() dipanggil dengan argumen string "Android". Sehingga, fungsi preview tersebut dapat menampilkan preview dari fungsi Composable Greeting().
Hasil
Berikut adalah preview dan hasil running dari aplikasi ini.
Preview:
Run & Build:
Comments
Post a Comment