Capitulo 13 del Módulo 5 Carrito de compra

➜ AddItem

AddItem() Agregar Productos al Carrito en Android con SQLite y Kotlin | En esta lección aprenderás a implementar la funcionalidad para agregar productos al carrito en una aplicación Android, utilizando SQLite como base de datos local y Kotlin como lenguaje de programación. Configurarás un botón en el RecyclerView que permitirá a los usuarios añadir productos,

En esta lección aprenderás a implementar la funcionalidad para agregar productos al carrito en una aplicación Android, utilizando SQLite como base de datos local y Kotlin como lenguaje de programación. Configurarás un botón en el RecyclerView que permitirá a los usuarios añadir productos, y gestionarás la inserción de los datos en la base de datos. Además, veremos cómo mostrar un mensaje de confirmación con Toast y cómo mejorar la experiencia de usuario verificando si el producto ya existe en el carrito.

 la función addItem() que tienes se encarga de añadir un producto al carrito, representado por la tabla TABLE_CART_NAME en la base de datos SQLite. A continuación te explico cada parte del código y qué realiza:

Desglose de la función addItem():

 

kotlin
fun addItem(cart: Cart) {
    val values = ContentValues()
    values.put("_id", cart.id)
    values.put("name", cart.name)
    values.put("price", cart.price)
    values.put("quantity", cart.quantity)
    values.put("unit", cart.unit)
    values.put("image", cart.image)
    val _DB = this.writableDatabase
    _DB.insert(TABLE_CART_NAME, null, values)
    _DB.close()
}


Explicación:

  • fun addItem(cart: Cart): Esta función recibe un objeto Cart, que contiene la información de un producto que se va a añadir al carrito.

  • val values = ContentValues(): Crea una instancia de ContentValues, que es un contenedor utilizado para almacenar pares clave-valor. Este objeto se pasa al método de inserción en la base de datos.

  • values.put(...): Aquí es donde introduces los datos que quieres guardar en la tabla TABLE_CART_NAME. Cada campo de la tabla se mapea con los valores del objeto Cart:

    • "_id": El identificador del producto en el carrito.
    • "name": El nombre del producto.
    • "price": El precio del producto.
    • "quantity": La cantidad de productos añadidos.
    • "unit": La unidad de medida del producto (por ejemplo, kg, litros, etc.).
    • "image": El campo que almacena la URL o la ruta de la imagen del producto.
  • val _DB = this.writableDatabase: Se obtiene una instancia de la base de datos en modo escritura, ya que estamos añadiendo nuevos datos.

  • _DB.insert(TABLE_CART_NAME, null, values): Este método inserta los valores contenidos en values en la tabla definida por TABLE_CART_NAME. El segundo parámetro, que se establece en null, se usa cuando no deseas especificar un valor en la segunda columna de tu tabla (si todas tus columnas tienen valores, esto se mantiene como null).

  • _DB.close(): Después de realizar la inserción, cierras la conexión con la base de datos para liberar recursos.

 

El botón para agregar un producto al carrito en el RecyclerView tiene un enfoque correcto. Estás llamando al método addItem() de la base de datos cuando el usuario hace clic en el botón de agregar, y luego mostrando un mensaje Toast para confirmar que el producto ha sido añadido al carrito.

Explicación del código:

kotlin

holder.rvBtnAdd.setOnClickListener {
    dBmanager.addItem(
        Cart(
            product.id,
            product.name,
            product.price,
            1,  // Cantidad inicial del producto
            product.unit,
            product.image
        )
    )
    Toast.makeText(context, "Producto " + product.name, Toast.LENGTH_LONG).show()
}

Puntos clave:

  1. holder.rvBtnAdd.setOnClickListener { ... }: Aquí defines lo que sucede cuando el usuario hace clic en el botón "Agregar". El código dentro del setOnClickListener se ejecuta cuando ocurre el clic.

  2. dBmanager.addItem(): Estás llamando al método addItem() que definiste previamente para agregar el producto al carrito en la base de datos SQLite. Pasas una nueva instancia del objeto Cart con los datos del producto (product.id, product.name, etc.) y estableces la cantidad inicial del producto a 1.

  3. Toast.makeText(): Después de agregar el producto al carrito, muestras un mensaje de tipo Toast que le dice al usuario que el producto ha sido añadido correctamente. Este mensaje dura un tiempo determinado (en este caso Toast.LENGTH_LONG).

 

 


491 visitas

Capítulo 14 – ListItems »

Descarga el código del proyecto

Descarga el código fuente del proyecto adquiriendo el curso completo

Comprar

¡Qué aprenderás?

tooltip bs-tooltip-top bs-tooltip-end bs-tooltip-bottom bs-tooltip-start show fade tooltip-inner

Codea Applications

México, Colombia, España, Venezuela, Argentina, Bolivia, Perú