Curso Carrito de Compra en Kotlin - Api Laravel
IncreaseItem Incrementar la Cantidad de un Producto en el Carrito de Compras
aprenderás a implementar la funcionalidad para incrementar la cantidad de un producto en el carrito de compras en una aplicación Android. Utilizaremos SQLite para gestionar los datos y actualizaremos la cantidad del producto seleccionado a través de un botón en la interfaz.
En esta lección, nos centraremos en cómo permitir a los usuarios incrementar la cantidad de un producto que han añadido a su carrito de compras. A través de un simple botón de incremento, los usuarios podrán aumentar la cantidad de un producto y ver la actualización inmediatamente en la interfaz.
Primero, implementaremos el método updateQuantity()
en nuestra clase DBmanager
. Este método tomará el ID del producto y la nueva cantidad, y actualizará la base de datos utilizando una sentencia SQL UPDATE
.
kotlin
fun updateQuantity(id: Int, qty: Int): Boolean { val _DB = this.writableDatabase val contentValues = ContentValues() contentValues.put("quantity", qty) // Solo actualizamos la cantidad _DB.update(TABLE_CART_NAME, contentValues, "_id=?", arrayOf(id.toString())) return true }
Este método obtiene una instancia de la base de datos en modo escritura, prepara los valores de contenido con la nueva cantidad, y actualiza la fila correspondiente en la tabla del carrito de compras.
En la clase de actividad donde mostramos los productos en el carrito, podemos agregar un botón para incrementar la cantidad del producto. En el método bindView()
del CursorAdapter
, configura el OnClickListener
para el botón de incremento.
kotlin
btnIncrease?.setOnClickListener {
// Incrementa la cantidad del producto
val nuevaCantidad = cantidad!! + 1
dBmanager.updateQuantity(id!!, nuevaCantidad) // Llamada al método de actualización
// Actualiza el cursor para reflejar los cambios
val cursor = dBmanager.getCart()
cursor!!.moveToFirst() // Mueve el cursor al primer elemento
adapter.changeCursor(cursor) // Cambia el cursor en el adaptador para actualizar la vista
}
Después de actualizar la cantidad en la base de datos, es importante refrescar la vista para mostrar la nueva cantidad. Usamos adapter.changeCursor(cursor)
para hacer que el CursorAdapter
reemplace el cursor actual con el nuevo que obtuvimos de la base de datos.
Es recomendable manejar cualquier posible error que pueda ocurrir durante la actualización. Por ejemplo, verifica que la actualización haya sido exitosa y proporciona retroalimentación al usuario si es necesario.
kotlin
if (dBmanager.updateQuantity(id!!, nuevaCantidad)) { Toast.makeText(context, "Cantidad actualizada a $nuevaCantidad", Toast.LENGTH_SHORT).show() } else { Toast.makeText(context, "Error al actualizar la cantidad", Toast.LENGTH_SHORT).show() }
229 visitas
« Capítulo 14 – ListItems
Capítulo 16 – DecreaseItem - Disminuir un item »
Descarga el código fuente del proyecto adquiriendo el curso completo
Comprar© Copyright Codea::App Cursos de Programación Online | LATAM | 2020 - 2025