Uso de Room SQLite Kotlin Android Studio

Поділитися
Вставка
  • Опубліковано 16 гру 2024

КОМЕНТАРІ • 40

  • @smtfundacionaldea4226
    @smtfundacionaldea4226 2 роки тому

    Clase vídeo hermano, quedé encantado! Tome su respectivo Like y suscripción. Éxitos y sigue así.

  • @faboxbkn
    @faboxbkn Рік тому +1

    Muchas gracias master! muy claro y conciso. Likeado y suscritooo

    • @dev.xcheko51x
      @dev.xcheko51x  Рік тому

      Saludos, esa es la idea aunque puede que no explique muy bien los conceptos, espero te sirva y al contrario gracias a ti por el apoyo 😁

    • @faboxbkn
      @faboxbkn Рік тому

      @@dev.xcheko51x man una pregunta un poco invasiva pero, qué tal anda el mercado para desarollo nativo de Android? lo recomiendas?

    • @dev.xcheko51x
      @dev.xcheko51x  Рік тому +1

      Para casi toda el área de TI y en especifico el desarrollo de software hay trabajo, el único inconveniente que veo es que es complicado encontrar la primera oportunidad teniendo nula o poca experiencia ya que los requisitos en las ofertas laborales tienden a pedir demasiadas cosas para puestos junior.
      Ya en cuestiones economicas se ecuentra todo tipo salarios, obvio entre más alto sea más altas son las exigencias y resposabilidades.
      En cuanto a especializarte a una área en especifico no esta mal, pero te recomiendo desarrollar y mejorar lo más que puedas tu lógica de programación ya que eso te ayuda a adaptarte más rapido a las diferentes tecnologías que necesites en los proyectos que colabores.
      Y como sugerencia y/o recomendación si te gusta un área en especifico (web, desktop, mobile) dale con todo ya que eso te ayuda a dar ese extra, que en ocasiones se necesita.
      Se que no conteste concretamente tu pregunta pero es como veo las cosas actualmente.
      Espero haber aclaro un poco tu pregunta, y si no, puedes comentar nuevamente XD

    • @faboxbkn
      @faboxbkn Рік тому

      @@dev.xcheko51x Muchas gracias por darte el tiempo de contestar amigo! Sí, contestaste mi pregunta y tienes razón, todo depende. Al menos por lo que he averiguado hay mucho trabajo para desarrolladores móvil nativo; pero como dices, el primer trabajo es el más difícil de encontrar así que por mi parte a seguir dándoleee, un saludo.

    • @dev.xcheko51x
      @dev.xcheko51x  Рік тому

      @@faboxbkn exacto, puedes hacer proyectos personales, o resolver alguna necesidad que veas en tu comunidad y ya sea que trates de comercializar tu solución, o empezar a llenar tu portafolio con esas soluciones ya que eso te sirve para demostrar y/o comprobar que tienes cierto nivel de dominio de alguna tecnología.

  • @Osubarudo
    @Osubarudo 2 роки тому +1

    Excelente video, solo faltó incluir una interfaz gráfica para que fuera perfecto, aunque así como lo presentaste es más fácil entender como funciona room, sin enredarse en otras cosas.

    • @dev.xcheko51x
      @dev.xcheko51x  2 роки тому +1

      Saludos, si lo pensé, pero opte por enfocarlo al uso de la librería para su mejor entendimiento pero igual déjame desarrollo un ejemplo con interfaz y lo subo y gracias por la retroalimentación

    • @Osubarudo
      @Osubarudo 2 роки тому

      @@dev.xcheko51x Gracias.

  • @juanmanuelmirandahuitron68
    @juanmanuelmirandahuitron68 2 роки тому

    Excelente explicación, sencilla y clara.

    • @dev.xcheko51x
      @dev.xcheko51x  2 роки тому

      Saludos, que bueno que te sirvió y gracias por el apoyo 😁👍

  • @perez6206
    @perez6206 10 місяців тому

    en sqlite normal yo agrega insert que solo se ejecutaban al instalar la app ,como podria hacer que no se vuelva a insertar cada vez que entre a la app?

    • @dev.xcheko51x
      @dev.xcheko51x  10 місяців тому

      Saludos, puedes usar una bandera en SharedPreferences que tenga un valor booleano y cada que se abra la app ejecutas un método que lea ese dato y realice la acción según sea el caso.
      Espero haberme explicado

  • @luzgenesis7
    @luzgenesis7 Рік тому +1

    Entities and POJOs must have a usable public constructor. You can have an empty constructor or a constructor whose parameters match the fields (by name and type).

    • @dev.xcheko51x
      @dev.xcheko51x  Рік тому

      You can also omit the constructor on the entities and change the name of the variables as long as the corresponding annotations are used to detect the columns in the database. Thanks for the feedback

  • @alejandropizarroso2103
    @alejandropizarroso2103 2 роки тому

    Muy útil y conciso :)

    • @dev.xcheko51x
      @dev.xcheko51x  2 роки тому

      Saludos, es la idea no meter tanta teoría e ir a la implementación, espero te sirva 😁

  • @oswaldotutorialesdescargab3180
    @oswaldotutorialesdescargab3180 2 роки тому

    Saludos amigo, segui los pasos tal cual pero en mi caso cuando corro el programa me sale el error que indica que el programa se ha detendio, me di cuenta que es cuando en el main creamos la variable que genera la conexion con la base de datos, como uno podria solventar esta falla ?

    • @dev.xcheko51x
      @dev.xcheko51x  2 роки тому

      saludos, no entiendo del todo tu problema pero por lo que entendi revisa la parte del Dao y que la clase Usuario o donde estes usando el decorador Entity coincida con tu definición de la base de datos.
      igual si sigues teniendo problemas comenta que error te manda ya que en base a eso podemos ver por donde encontrar la solución

  • @uxofpv5747
    @uxofpv5747 6 місяців тому

    Excelente vídeo, pero podrías hacer una actualización de cómo se importan las librerías por que intente hacerlo así y ahora se realiza de manera distinta.
    Saludos.

    • @dev.xcheko51x
      @dev.xcheko51x  6 місяців тому

      Saludos, al momento de crear el proyecto selecciona la opción anterior no la recomendada.
      Ya en el apartado de las dependencias pones las líneas tal cual el vídeo sincronizas y después haces los cambios que te sugiere.

    • @uxofpv5747
      @uxofpv5747 6 місяців тому

      @@dev.xcheko51x A qué te refieres con la opción anterior?... A seleccionar un "Basic Activity"
      Gracias por contestar

    • @dev.xcheko51x
      @dev.xcheko51x  6 місяців тому

      En la ventana donde pones nombre al proyecto hay una opción build configuraciones languajes selecciona el groovy DSL (build.gradle)

    • @uxofpv5747
      @uxofpv5747 6 місяців тому

      @@dev.xcheko51x Lo coloque como me indicas, al abrir el proyecto voy al build.gradle (Module :app) y las dependencias me aparecen así:
      dependencies {
      implementation libs.androidx.core.ktx
      implementation libs.androidx.appcompat
      implementation libs.material
      implementation libs.androidx.activity
      implementation libs.androidx.constraintlayout
      testImplementation libs.junit
      androidTestImplementation libs.androidx.junit
      androidTestImplementation libs.androidx.espresso.core
      }
      😥

  • @perez6206
    @perez6206 10 місяців тому

    a que se puede deber error Unresolved reference: kapt?

    • @dev.xcheko51x
      @dev.xcheko51x  10 місяців тому

      Saludos, puede ser a qué está mal importada una librería o te falta alguna configuración extra.

  • @TheFraruto
    @TheFraruto Рік тому

    Buenas
    Hice todo como en el video, pero al ejecutar la app me da el siguiente error:
    java.lang.RuntimeException: Unable to start activity ComponentInfo{com.jhondoe.apli/com.jhondoe.apli.MainActivity}: java.lang.RuntimeException: Cannot find implementation for com.jhondoe.apli.DBLanguages. DBLanguages_Impl does not exist

    • @dev.xcheko51x
      @dev.xcheko51x  Рік тому

      Saludos. parece ser problema que estas invocando una clase que no esta inicializada previamente, revisa que las estes inicializando ya sea antes del onCreate o dentro del mismo.

  • @osubarudo5041
    @osubarudo5041 2 роки тому

    Entities and POJOs must have a usable public constructor. You can have an empty constructor or a constructor whose parameters match the fields (by name and type). - kotlin.Unit
    Que rabia, en todos los videos que he intentado room, siempre surge algún error extraño

    • @dev.xcheko51x
      @dev.xcheko51x  2 роки тому

      Saludos, parece ser que no estás creando las entitys con el nombre que creas en la estructura de tu base de datos en room

  • @eloyrolandocanchanyabalbin4692
    @eloyrolandocanchanyabalbin4692 2 роки тому

    Gracias por el video,
    pregunta, ¿por qué no se declaro las dependencias como en la documentación?
    val roomVersion = "2.4.2"
    implementation("androidx.room:room-runtime:$roomVersion")
    annotationProcessor("androidx.room:room-compiler:$roomVersion")
    Saludos.

    • @dev.xcheko51x
      @dev.xcheko51x  2 роки тому +1

      Saludos, es solo por simplicidad y gusto personal, pero puedes usar la forma que a ti te guste más.

    • @eloyrolandocanchanyabalbin4692
      @eloyrolandocanchanyabalbin4692 2 роки тому

      @@dev.xcheko51x gracias, eh intentado usar la otra forma, pero sin éxito, algún día saldrá jejeje

    • @dev.xcheko51x
      @dev.xcheko51x  2 роки тому

      Si no te deja puede ser por algún problema en la versión de Android studio intenta actualizarlo o en su defecto que la librería en cuestión ya no se encuentre para descargar aunque siendo Room de Google debería estar disponible

  • @johanvacca5044
    @johanvacca5044 Рік тому

    Hmm al ejecutar me sale " C:\Users\johan\AndroidStudioProjects\SharedPreferencesApp\app\build\tmp\kapt3\stubs\debug\com\example\sharedpreferencesapp\DaoAlimento.java:11: error: Not sure how to convert a Cursor to this method's return type (java.lang.Object).
    public abstract java.lang.Object getAlimentos(@org.jetbrains.annotations.NotNull() "

    • @dev.xcheko51x
      @dev.xcheko51x  Рік тому +1

      Saludos.
      Posiblemente estás enviando un valor nulo al método o en su defecto el tipo que le pasas al método no coincide con el que procesar Room.

    • @johanvacca5044
      @johanvacca5044 Рік тому

      @@dev.xcheko51x Muchas gracias por tu tiempo, en efecto, sólo que hice tal cual como tu video y me sale "Entities and POJOs must have a usable public constructor. You can have an empty constructor or a constructor whose parameters match the fields (by name and type). - kotlin.Unit", tengo el constructor como tú lo hiciste tal cual y las variables se llaman igual jeje

    • @dev.xcheko51x
      @dev.xcheko51x  Рік тому

      Veo que en tu mensaje de error hace referencia a un archivo Java y el vídeo es usando Kotlin, para Kotlin en la entity usa data class ya que eso crea los getters, setters y el constructor de forma oculta.
      Si estás usando Java crear el constructor con los parámetros de las variables que tengas y los getters y setters correspondientes.