
Aplikasi keranjang belanja merupakan fitur penting dalam aplikasi e-commerce. Berikut tutorial langkah demi langkah membuat aplikasi keranjang belanja sederhana menggunakan Kotlin dan Android Studio.
Siapkan Proyek
Buka Android Studio dan buat proyek baru.
Pilih “Aktivitas Kosong” dan beri nama proyek, mis.Aplikasi Keranjang Belanja。
Pastikan untuk menggunakan Kotlin sebagai bahasa pemrograman Anda.
Pengaturan Antarmuka
Buat file XML untuk mendesain antarmuka pengguna:
aktivitas_main.xml:
xml
Salin kode
<Tata Letak Linier
xmlns:android=”http://schemas.android.com/apk/res/android”
android:layout_width=”match_parent”
android:layout_height=”match_parent”
android:orientasi=”vertikal”
android:padding=”16dp”>
<Tampilan Pendaur Ulang
android:id=”@+id/recyclerView”
android:layout_width=”match_parent”
android:layout_height=”wrap_content”
android:layout_marginBottom=”16dp” />
<Tampilan Teks
android:id=”@+id/totalHarga”
android:layout_width=”wrap_content”
android:layout_height=”wrap_content”
android:text=”Jumlah: Rp 0″
android:ukuranteks=”18sp”
android:layout_gravity=”akhir”
android:padding=”8dp” />
<Tombol
android:id=”@+id/checkoutButton”
android:layout_width=”match_parent”
android:layout_height=”wrap_content”
android:text=”Pembayaran” />
</Tata Letak Linier>
Tetapkan Data
Buat model data untuk item keranjang belanja:
kotlin
Salin kode
kelas data CartItem(
nama val: String,
harga val: Int,
kuantitas var: Int = 1 )
Buat Adaptor
Adaptor yang mengimplementasikan RecyclerView:
kotlin
Salin kode
kelas CartAdapter(
item val pribadi: Daftar<CartItem>,
val pribadi onQuantityChange: (Int) -> Unit
) : RecyclerView.Adapter<CartAdapter.ViewHolder>() {
kelas ViewHolder(tampilan: Tampilan) : RecyclerView.ViewHolder(lihat) {
nama val: TextView = view.findViewById(R.id.itemName)
harga val: TextView = view.findViewById(R.id.itemPrice)
kuantitas val: TextView = view.findViewById(R.id.itemQuantity)
kenaikan val: Tombol = view.findViewById(R.id.incrementButton)
penurunan val: Tombol = view.findViewById(R.id.decrementButton) }
ganti kesenangan onCreateViewHolder(induk: ViewGroup, viewType: Int): ViewHolder {
val view = LayoutInflater.from(induk.konteks)
.inflate(R.layout.item_cart, induk, false)
kembalikan ViewHolder (lihat) }
ganti kesenangan onBindViewHolder(pemegang: ViewHolder, posisi: Int) {
val item = item[posisi]
pemegang.nama.teks = item.nama
holder.price.text = “Rp ${item.price}”
pemegang.kuantitas.teks = item.kuantitas.toString()
pemegang.peningkatan.setOnClickListener {
item.kuantitas++
onQuantityChange(item.harga)
notifyItemChanged(posisi) }
pemegang.pengurangan.setOnClickListener {
if (barang.kuantitas > 1) {
barang.kuantitas–
onQuantityChange(-item.harga)
notifyItemChanged(posisi)
}
}
}
ganti kesenangan getItemCount(): Int = item.size }
Ikat Data ke RecyclerView
ada Aktivitas Utama Inisialisasi RecyclerView di:
kotlin
Salin kode
kelas MainActivity : AppCompatActivity() {
private lateinit var recyclerView: RecyclerView
adaptor var lateinit pribadi : CartAdapter
latinit pribadi var totalPriceText: TextView
var pribadi totalHarga = 0
ganti kesenangan onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.aktivitas_main)
item val = bisa diubahListOf(
Barang Keranjang(“Barang 1”, 10000),
Barang Keranjang(“Barang 2”, 15000),
Barang Keranjang(“Barang 3”, 20000) )
recyclerView = findViewById(R.id.recyclerView)
totalPriceText = findViewById(R.id.totalPrice)
adaptor = CartAdapter(item) { perubahan harga ->
totalHarga += hargaPerubahan
totalPriceText.text = “Total: Rp $totalHarga” }
recyclerView.layoutManager = LinearLayoutManager(ini)
recyclerView.adapter = adaptor
}
}
Jalankan Aplikasinya
Jalankan aplikasi di emulator atau perangkat nyata. Sekarang Anda memiliki aplikasi keranjang belanja sederhana yang memungkinkan pengguna menambah atau mengurangi jumlah item dan melihat harga total.
Kesimpulan
Tutorial ini menjadi dasar untuk membangun aplikasi keranjang belanja. Anda dapat memperluas fungsionalitas, seperti menggunakan database lokal seperti SQLite atau Room untuk menyimpan data, atau mengintegrasikan API untuk memberikan pengalaman belanja yang lebih kaya.