Tugas 13 PPB
📲 Studi Kasus Activity dan Intent: Dessert Clicker
Nama: Revy Pramana
NRP: 5025221252
Topik: Activity dan Intent
🧠Deskripsi Singkat
Aplikasi Dessert Clicker digunakan sebagai studi kasus untuk memahami bagaimana siklus hidup Activity
dan implementasi Implicit Intent
digunakan dalam pengembangan aplikasi Android berbasis Jetpack Compose.
🔄 Siklus Hidup Activity
Pada MainActivity.kt
, berbagai metode siklus hidup Activity di-log menggunakan Log.d
untuk memantau urutan pemanggilan, seperti:
override fun onCreate(savedInstanceState: Bundle?) {
Log.d(TAG, "onCreate Called")
...
}
override fun onStart() {
Log.d(TAG, "onStart Called")
}
override fun onResume() {
Log.d(TAG, "onResume Called")
}
override fun onPause() {
Log.d(TAG, "onPause Called")
}
override fun onStop() {
Log.d(TAG, "onStop Called")
}
override fun onDestroy() {
Log.d(TAG, "onDestroy Called")
}
Log ini dapat dilihat di Logcat untuk memahami kapan setiap lifecycle method dipanggil, terutama saat aplikasi berpindah antar state (foreground, background, dihentikan, dll).
📤 Penggunaan Intent
Aplikasi menggunakan Implicit Intent untuk membagikan informasi jumlah dessert yang terjual dan pendapatan ke aplikasi lain (seperti WhatsApp, Gmail, dsb).
✅ Kode Implementasi:
private fun shareSoldDessertsInformation(intentContext: Context, dessertsSold: Int, revenue: Int) {
val sendIntent = Intent().apply {
action = Intent.ACTION_SEND
putExtra(
Intent.EXTRA_TEXT,
intentContext.getString(R.string.share_text, dessertsSold, revenue)
)
type = "text/plain"
}
val shareIntent = Intent.createChooser(sendIntent, null)
try {
ContextCompat.startActivity(intentContext, shareIntent, null)
} catch (e: ActivityNotFoundException) {
Toast.makeText(
intentContext,
intentContext.getString(R.string.sharing_not_available),
Toast.LENGTH_LONG
).show()
}
}
Fungsi ini dipanggil dari Top App Bar
saat tombol share ditekan.
🖱️ Contoh pemanggilan:
DessertClickerAppBar(
onShareButtonClicked = {
shareSoldDessertsInformation(
intentContext = intentContext,
dessertsSold = dessertsSold,
revenue = revenue
)
}
)
📸 Hasil Tampilan
Berikut adalah Hasil logcat saat aplikasi dilakukan berbagai macam kegiatan:

💡 Kesimpulan
- Activity lifecycle sangat penting untuk mengelola perilaku aplikasi selama pengguna berpindah antar state.
- Implicit Intent dapat digunakan untuk berbagi data ke aplikasi eksternal dengan cara yang aman dan fleksibel.
- Aplikasi Dessert Clicker adalah contoh ideal untuk memperkenalkan kedua konsep tersebut secara langsung dalam konteks aplikasi yang sederhana namun praktis.
🔗 Link GitHub Repository
Source code aplikasi ini dapat diakses di:
https://github.com/Revprm/Repo-PPB/tree/main/ActivityAndIntent
Comments
Post a Comment