Kotlin TUTORIAL: ANDROID data PERSISTENCE (PreferenceManager) | MoureDev by Brais Moure

แชร์
ฝัง
  • เผยแพร่เมื่อ 5 ก.พ. 2025
  • HELLO HACKERMEN! 👋🏼
    In this video we will learn to persist (save, recover and erase) simple type data in #Kotlin and #AndroidStudio.
    With the PreferenceManager we can persist values ​​(Boolean type, Float, Int, Long, String and StringSet) in the memory of our #Android device, to work with them throughout the code of our app even if it is closed.
    Welcome to MoureDev by Brais Moure. Development of applications on iOS, Android and Web.
    ► SUBSCRIBE AND ACTIVATE THE NOTIFICATION BELL 👆🏼 / @mouredev
    ► RESOURCES:
    • How to create an Android project in Android Studio: • ANDROID STUDIO: Cómo C...
    • How to translate our Android app: • Añade IDIOMAS a tu APP...
    ► DO YOU LIKE THE CONTENT?
    Leave me your comments or tell me what you would like to see on the channel.
    If you like the content, share, subscribe and show me your finger to give the space 👍🏼
    Thank you!
    ► FIND ME AT:
    • My website: mouredev.com/
    • Twitter: / mouredev
    • Facebook: / mouredev
    • Instagram: / mouredev

ความคิดเห็น • 81

  • @mouredev
    @mouredev  6 ปีที่แล้ว +4

    ► ¿TE GUSTA EL CONTENIDO?
    Ayúdame con tu like 👍🏼 y sigue con este vídeo ➡️➡️➡️ goo.gl/Np1534 ⬅️⬅️⬅️
    ► SUSCRÍBETE Y ACTIVA LA CAMPANA 👆🏼🔔 AQUÍ 👉🏼 goo.gl/afPz3g
    ► ENCUÉNTRAME EN:
    • Mi web: mouredev.com
    • Twitter: twitter.com/mouredev
    • Facebook: facebook.com/mouredev
    • Instagram: instagram.com/mouredev
    ¡Gracias!

    • @liteomegapkm
      @liteomegapkm 4 ปีที่แล้ว

      Hey MoureDev, AMO TUS VÍDEOS! No me ha quedado tan claro como programar una app como con tus vídeos... Quisiera saber si puede orientarme un poquito para una duda que tengo.
      En este vídeo explicas muy bien como guardar datos, ejemplificando con el boton PUT para grabarlos y con el GET para recuperarlos... lo que yo quiero hacer sería, que antes de esos botones, haya una lista de preguntas, como una especie de cuestionario que la persona vaya respondiendo (las respuestas son numéricas, así que se irían sumando o restando, para eso usaría lo de INT) y quiero que al final del cuestionario la persona puede "grabar" todas esas respuestas y que se sumen. Y que luego al dar en GET lo que te aparezca es el sumatorio de las respuestas que la persona ha dado junto a un mensaje que va a depender de ese resultado, ¿cómo podría hacerlo, alguna pequeña orientación desde la que yo pueda empezar a experimentar?
      De hecho, incluso me gustaría que no hiciera falta grabar y obtener los resultados, sino que un solo botón hiciese la función de ambos, es decir, que con solo apretar un botón que se llamase por ejemplo "ver resultados" ya grabase todos esos datos, los sumase e hiciera aparecer el mensaje correspondiente. Muchas gracias máquina!

  • @dlosavio02
    @dlosavio02 4 ปีที่แล้ว +1

    Es un crack este señor. Cada vez que pienso en hacer algo.. me aparece la solución rápida de éste excelente profesional.

  • @angelopolis938
    @angelopolis938 5 ปีที่แล้ว +2

    Amigo, no le doy ME ENCANTA a tus vídeos porque TH-cam no da la opción, pero tus explicaciones son muy completas y me ayudan infinitamente. Espero que sigas creciendo y subiendo más contenido de calidad como este.
    Me suscribo a tus canal! ;D

    • @mouredev
      @mouredev  5 ปีที่แล้ว +1

      Muchísimas gracias! Me alegro un montón de que encuentres útil mi contenido. Saludos!

  • @xavierrosales347
    @xavierrosales347 3 ปีที่แล้ว +1

    Estoy haciendo mi primera aplicación en kotlin, gracias por ser parte de mi crecimiento

  • @Pasandav
    @Pasandav 4 ปีที่แล้ว +5

    Genial, como siempre!! El tema de los Json... Podrías tocarlo tambien??

    • @marcosmillanh6762
      @marcosmillanh6762 4 ปีที่แล้ว

      La verdad es que seria muy interesante el tema de leer json.
      Donde hay que guardarles para que la app los lea. Y como hacer para que la app lea de un fichero en nuestro dispositivo.

  • @migueljosecamposlopez877
    @migueljosecamposlopez877 3 ปีที่แล้ว

    Excelentes Videos... Saludos desde Venezuela....

  • @diegoalexanderpulidorobayo3483
    @diegoalexanderpulidorobayo3483 ปีที่แล้ว

    Hola, gracias por tu conocimiento, y si quiero guardar mas de un valor en la misma key ?

  • @JoseLuisTorrenteW
    @JoseLuisTorrenteW 4 ปีที่แล้ว

    ¡¡Me fallaba porque no ponía el editor.apply(); , llevaba meses buscando una solución, muchas gracias!!

  • @alexminers6526
    @alexminers6526 4 ปีที่แล้ว

    Muchas gracias, tu explicación es muy buena.

  • @KroneauxWeskerSchneider
    @KroneauxWeskerSchneider 6 ปีที่แล้ว

    Esta serie no me la puedo perder!

    • @mouredev
      @mouredev  6 ปีที่แล้ว

      Kroneaux Schneider gracias!

  • @goriet.d2342
    @goriet.d2342 4 ปีที่แล้ว +1

    Hola Moure, tengo una gran duda, ¿Cómo puedo hacer para que darle valor a un val y que lo pueda usar en cualquier documento de mi app?. Eres muy bueno, nuchas gracias por la ayuda

  • @eduardogaona1022
    @eduardogaona1022 3 ปีที่แล้ว

    SOLUCION ERROR PREFERENCE CON KOTLIN.
    (Espero la siguiente información pueda ayudar a alguien con problemas similares)
    (Y agradeciendo a Brais por los tutoriales!!!)
    En mi caso trabajando con kotlin no me permitía usar las preferencias, si es que alguien tiene el mismo problema, (aparecer como remarcado o 'tachado') puede que se deba a que no está implementada la dependencia en el "build.gradle" a nivel de app o módulo.
    ¿Cómo implementar la dependencia?
    En la parte de "build.gradle(:app)" -> donde dice:
    dependencies {
    }
    Deberás definir la versión dentro de los corchetes "{ }"
    Poniendo la siguiente línea de código:
    ->>>>>> def preference_version = "1.1.1"
    Luego colocar la siguiente sentencia:
    ->>>>>> implementation "androidx.preference:preference-ktx:$preference_version"
    quedando
    dependencies{
    def preference_version = "1.1.1"
    implementation "androidx.preference:preference-ktx:$preference_version"
    }
    Si siguen teniendo dudas o problemas les sugiero revisar la documentación de android developers:
    developer.android.com/jetpack/androidx/releases/preference?hl=es
    Gracias por leer!

    • @DarkangeloHerrera
      @DarkangeloHerrera 3 ปีที่แล้ว

      y para la nueva version como se guardaria? hay algo que lo reemplazo?

  • @Kevin-nb6og
    @Kevin-nb6og 6 ปีที่แล้ว

    AMIGO QUE EXELENTES TUTORIALESTE FELICITO ESPERO QUE HAGAS UN CURSO PRONTO !

    • @mouredev
      @mouredev  6 ปีที่แล้ว

      Muchísimas gracias!!!

    • @Kevin-nb6og
      @Kevin-nb6og 6 ปีที่แล้ว

      @@mouredev una sugerencia te doy un tutorial de cómo desarrollar apps para Android TV

    • @mouredev
      @mouredev  6 ปีที่แล้ว

      @@Kevin-nb6og muchas gracias, lo tendré en cuenta. Saludos!

  • @codemixer3565
    @codemixer3565 3 ปีที่แล้ว

    tengo una duda, se pueden recuperar estas preferencias en otras Activities.?

  • @CUBER5
    @CUBER5 5 ปีที่แล้ว +6

    me dice que el PreferenceManager esta "Deprecated", y me sale tachado y no funciona, sera por esto que me da error al compilar?
    EDIT: vale he importado la libreria "androidx.preference.PreferenceManager" desde "Build->Edit Libraries and dependencies" pero ahora en el "buttonGet" cuando le pasamos myPref a showAlert me sale un error de que no es un string
    EDIT2: lo he solucionado con:
    if (myPref != null) {
    showAlert(myPref)
    }
    como mas se aprende es resolviendote las dudas tu solo xD

    • @JavierPortillojportiyo
      @JavierPortillojportiyo 4 ปีที่แล้ว +1

      showAlert(myPref.toString())

    • @ruif3r
      @ruif3r 4 ปีที่แล้ว

      casi siempre es asi, porque uno necesita soluciones rapidas jaja saludos

  • @diegoleon9667
    @diegoleon9667 4 ปีที่แล้ว

    El preferenceManager no me funciona porque lo actualizaron, me gustaría saber con que lo puedo remplazar.

  • @danielggalvangonzalez8506
    @danielggalvangonzalez8506 4 ปีที่แล้ว +1

    al querer poner el codigo de PreferenceManager.getDefaultSharedPreferences me lo subraya y sale que esta deprecated como se soluciona?

    • @habitours
      @habitours 4 ปีที่แล้ว

      Aunque esté deprecated, si construyes la app tal y como está en el video funciona perfectamente. 'Deprecated' quiere decir que actualmente existe otro modo más moderno de hacerlo, pero sigue funcionando.

    • @eduardogaona1022
      @eduardogaona1022 3 ปีที่แล้ว

      SOLUCION ERROR PREFERENCE CON KOTLIN.
      (Espero la siguiente información pueda ayudar a alguien con problemas similares)
      (Y agradeciendo a Brais por los tutoriales!!!)
      En mi caso trabajando con kotlin no me permitía usar las preferencias, si es que alguien tiene el mismo problema, (aparecer como remarcado o 'tachado') puede que se deba a que no está implementada la dependencia en el "build.gradle" a nivel de app o módulo.
      ¿Cómo implementar la dependencia?
      En la parte de "build.gradle(:app)" -> donde dice:
      dependencies {
      }
      Deberás definir la versión dentro de los corchetes "{ }"
      Poniendo la siguiente línea de código:
      ->>>>>> def preference_version = "1.1.1"
      Luego colocar la siguiente sentencia:
      ->>>>>> implementation "androidx.preference:preference-ktx:$preference_version"
      quedando
      dependencies{
      def preference_version = "1.1.1"
      implementation "androidx.preference:preference-ktx:$preference_version"
      }
      Si siguen teniendo dudas o problemas les sugiero revisar la documentación de android developers:
      developer.android.com/jetpack/androidx/releases/preference?hl=es
      Gracias por leer!

  • @escm1990
    @escm1990 4 ปีที่แล้ว

    ¿Cómo se puede hacer con el SharedPreferences, aparte de guardar e imprimir las claves de valor usarlas dentro de la App para modificar preferencias? Por ejemplo, si quisiera darle la posibilidad al usuario de elegir el color de la barra superior "MyFirstApp" o modificar el tamaño de letra que se muestra.
    De antemano gracias y excelentes videos.

  • @josej4893
    @josej4893 4 ปีที่แล้ว

    Hola amigo con ayúdame a actualizar una app por Android estudio ! según ya me dieron los códigos actualizado pero no logro actualizarla. Gracias

  • @luisrobertonavarro7581
    @luisrobertonavarro7581 4 ปีที่แล้ว

    Estimado Brais, tengo actualizado el Android Studio, y no me permite usar "PreferenceManager", por lo poco que entiendo en la página oficial indica que no se puede utilizar a partir de la API 29, hay alguna manera de solucionar esto??? Gracias!

  • @SJ-ke2vo
    @SJ-ke2vo 4 ปีที่แล้ว

    Como se podria hacer que en el put, se pueda escribir un string?

  • @davidotoniel4285
    @davidotoniel4285 4 ปีที่แล้ว

    Cual es tu curso en udemy de kotlin?

  • @enzovalenzuela9598
    @enzovalenzuela9598 4 ปีที่แล้ว +1

    Sos un crack, pero hay alguna alternativa que no este deprecated? como para tenerla en cuenta en el futuro.

  • @jmm3704
    @jmm3704 4 ปีที่แล้ว +1

    y uno de persistencia de datos con room?

  • @shakesnetwork
    @shakesnetwork 4 ปีที่แล้ว +1

    Me dió error al compilar por un tipo de string que esperaba en esta linea: val myPref= prefs.getString(key, "No hay un valor para esta clave")

  • @eosvill
    @eosvill 4 ปีที่แล้ว

    Para los que no resolvieron el error de PreferenceManager.getDefaultSharedPreferences, en MainActivity en el import que dice android.preference.PreferenceManager poner una x luego de android. Queda asi: androidx.preference.PreferenceManager

  • @DanCRK
    @DanCRK 3 ปีที่แล้ว

    se puede guardar un arreglo?

  • @alejandrosantiagomanriquen123
    @alejandrosantiagomanriquen123 3 ปีที่แล้ว

    Una pregunta amigos, y también va para Brais. Las Shared Preferences se guardan globalmente? Es decir, puedo acceder a ellas desde cualquier activity o son propias de cada una? Y si son propias de cada activity, hay manera de hacer que las pueda usar en otras activity? Gracias de antemano

    • @mouredev
      @mouredev  3 ปีที่แล้ว +1

      Son globales a toda la app

  • @Medyesus
    @Medyesus 3 ปีที่แล้ว

    Hola, me estoy viendo toda tu lista de Android Studio y Kotlin y la verdad es que a veces hablas de cosas que no has explicado o haces cortes que supongo das por hecho que se sobreentiende lo que estas haciendo. Creo que antes que estos tipos de videos deberias haber hecho uno explicando bien todo sobre la herramientas de design.
    Un saludo.

  • @johanhoyos3476
    @johanhoyos3476 2 ปีที่แล้ว

    Hola buen día Brais, de antemano gracias por los videos y tutoriales.
    Tengo una duda, tengo un proyecto con varias Activitys, y en una de ella tengo un cronometro que va de 10 minutos a 0, al iniciar el cronometro me corre perfectamente, pero al pasar a otra actividad y volver, el cronometro se reinicia, como puedo hacer para que el cronometro siga corriendo al momento de ir a otra Activity?

    • @RensRDev
      @RensRDev 2 ปีที่แล้ว

      Hola jogan sé que probablemente prefieres una respuesta del creador del video, pero si te ayuda, pienso que podrias pasar una variable de una activiti a otra con la funcion putExtra (Con google puedes saber más de esta funcion), por ejemplo si tu cronometro iba por el segundo 59 pasas ese valor por medio de putExtra, lo recuperas en la nueva activity y haces que el cronometro inicie desde ese valor.

  • @Canal100SCOUT
    @Canal100SCOUT 6 ปีที่แล้ว

    genial mou pero para ios este tutorial lo necesito U_U

    • @mouredev
      @mouredev  6 ปีที่แล้ว

      Gracias! Ahí va un spoiler... lo subo para la próxima semana! 😁

    • @Canal100SCOUT
      @Canal100SCOUT 6 ปีที่แล้ว

      tome su mega like buen hombre

  • @germanjr7233
    @germanjr7233 6 ปีที่แล้ว

    Excelente video!

    • @mouredev
      @mouredev  6 ปีที่แล้ว

      Muchísimas gracias!

  • @ruif3r
    @ruif3r 5 ปีที่แล้ว +1

    PreferenceManager me sale deprecated in Java, automaticamente esta descontinuado en kotlin tambien?

    • @mouredev
      @mouredev  5 ปีที่แล้ว +3

      Hola, solo en las últimas versiones. En mi caso lo uso para seguir dando compatibilidad también a las antiguas (hay mucho usuarios que no tienen la última versión de Android). Saludos!

    • @alqaidr
      @alqaidr 4 ปีที่แล้ว

      @@mouredev¿ Existe alternativa? , o ¿hay que ir olvidando este método?

    • @michaelandrango4543
      @michaelandrango4543 4 ปีที่แล้ว

      @@mouredev entonces que debo hacer en ese caso?

  • @kkrazius
    @kkrazius 5 ปีที่แล้ว

    Mooooooola! 👍👍👍👍

    • @mouredev
      @mouredev  5 ปีที่แล้ว +1

      Gracias!

  • @businessera4779
    @businessera4779 4 ปีที่แล้ว

    sos un CRAAAAACK

    • @mouredev
      @mouredev  4 ปีที่แล้ว +1

      Gracias 😊

  • @xSilencio99
    @xSilencio99 3 ปีที่แล้ว

    De donde sacaste esta linea y porque no me sale como a ti?, te cuesta mucho explicarlo? textViewWelcome.text=getString(R.string.welcome)

    • @xSilencio99
      @xSilencio99 3 ปีที่แล้ว

      Ni sale el buttonGet.setOnclickListener{
      no entiendo

  • @hebertmerchan3081
    @hebertmerchan3081 5 ปีที่แล้ว

    Hola eh estado aprendiendo mucho pero puedes hacer un nuevo sharedpreferences es que el no me sirve

    • @mouredev
      @mouredev  5 ปีที่แล้ว

      Hola! Uso este ya que es compatible con versiones antiguas de Android. Lo más normal es desarrollar a partir de Android 4.4 o 5 y funciona perfectamente.

    • @hebertmerchan3081
      @hebertmerchan3081 5 ปีที่แล้ว

      @@mouredev y como hago eso es que estoy comenzando y tengo solo 11 años pero de verdad eh aprendido mucho

    • @hebertmerchan3081
      @hebertmerchan3081 5 ปีที่แล้ว +1

      @@mouredev porque yo estoy con la version de celular 5.0 la que tu usas al crear uno nuevo asi que pues igual no me sirve el preferences manager ni el getdefaultsharedpreferences me dice:preferencemager is deprecated,deprecated in java entonces que hago

  • @Leon-or8dj
    @Leon-or8dj 4 ปีที่แล้ว

    Hola, no encuentro un curso que trate sobre rear interfaz grafica, botones acciones casillas de texto, explican bien pero solo vi codigo

  • @GonxaloAMV
    @GonxaloAMV 4 ปีที่แล้ว

    PreferenceManager esta obsoleto para Java, pero no para Kotlin, si quieren usarlo en Kotlin deben implementar la siguiente dependencia implementation 'androidx.preference:preference-ktx:1.1.1'

  • @ElGaragedeJuancho
    @ElGaragedeJuancho 5 ปีที่แล้ว

    Dave vio este video :)

  • @yugimuto5706
    @yugimuto5706 4 ปีที่แล้ว

    Por que mi código solo me da salida a eres goku?
    package com.photonSoft;
    import java.util.Scanner;
    public class SombreroSeleccionador {
    public static void main(String args[]) {
    Scanner in = new Scanner(System.in);
    int num1 = 0;
    int num2 = 0;
    int num3 = 0;
    int num4 = 0;
    int num5 = 0;

    int suma = num1 + num2 + num3 + num4 + num5;
    System.out.println("*¿Con que personalidad te identificas?*");
    System.out.println("");
    System.out.println("1 = me gusta hacer lo que es mi voluntad");
    System.out.println("");
    System.out.println("2 = me gusta siempre ser mejor que antes");
    System.out.println("");
    System.out.println("3 = me gusta pensar las cosas y analizarlas antes de actuar");
    System.out.println("");
    System.out.println("4 = me gusta promover la justicia y defender a los que me necesitan");
    num1 = in.nextInt();
    System.out.println("");
    System.out.println("¿como te consideras?");
    System.out.println("");
    System.out.println("1 = bondadoso");
    System.out.println("");
    System.out.println("2 = orgulloso");
    System.out.println("");
    System.out.println("3 = inteligente");
    System.out.println("");
    System.out.println("4 = manipulable");
    num2 = in.nextInt();
    System.out.println("");
    System.out.println("*¿como eres?*");
    System.out.println("");
    System.out.println("1 = timido");
    System.out.println("");
    System.out.println("2 = valiente");
    System.out.println("");
    System.out.println("3 = alegre");
    System.out.println("");
    System.out.println("4 = tranquilo");
    num3 = in.nextInt();
    System.out.println("");
    System.out.println("*¿en que rango de estatuta estas?*");
    System.out.println("");
    System.out.println("1 = 1.90");
    System.out.println("");
    System.out.println("2 = 1.80");
    System.out.println("");
    System.out.println("3 = 1.70");
    System.out.println("");
    System.out.println("4 = 1.60");
    num4 = in.nextInt();
    System.out.println("");
    System.out.println("*¿que te gusta de una chica?*");
    System.out.println("");
    System.out.println("1 = que tenga caracter");
    System.out.println("");
    System.out.println("2 = que sea estricta");
    System.out.println("");
    System.out.println("3 = que sea inteligente");
    System.out.println("");
    System.out.println("4 = que sea rica");
    num5 = in.nextInt();
    System.out.println("");
    if (suma =10 && suma = 13 && suma = 15 && suma

    • @mikadifobmx208
      @mikadifobmx208 4 ปีที่แล้ว

      porque la suma es 0, ya que cuando sumaste los valores eran 0, tienes que sumar al ultimo de las preguntas y antes de la comprobación xD

  • @valish_
    @valish_ 4 ปีที่แล้ว

    LIKE

  • @eliorubenmc
    @eliorubenmc 5 ปีที่แล้ว

    great!!!!

    • @mouredev
      @mouredev  5 ปีที่แล้ว

      Gracias!

  • @shakesnetwork
    @shakesnetwork 4 ปีที่แล้ว +5

    Ya encontré como solucionarlo: if (myPref != null) {
    showAlert(myPref)
    }

    • @alerellan3487
      @alerellan3487 4 ปีที่แล้ว

      muy bueno

    • @JavierPortillojportiyo
      @JavierPortillojportiyo 4 ปีที่แล้ว

      hola. También puedes añadir esto: showAlert(myPref.toString()) y con eso te quitas el if. a mi me funcionó.

    • @victorramirezgarcia8236
      @victorramirezgarcia8236 4 ปีที่แล้ว +1

      muy buena solución... gracias

  • @ealfriadez
    @ealfriadez 5 ปีที่แล้ว

    que paso, porque no esta picandoooooooo

    • @mouredev
      @mouredev  5 ปีที่แล้ว

      Hahaha 😃

  • @neverever37u79
    @neverever37u79 3 ปีที่แล้ว +1

    papu haste un tutorial en java

  • @LuisFernando-nm6lv
    @LuisFernando-nm6lv 4 ปีที่แล้ว

    Algún tutoríal para manejo de base de datos (SQLite) con Kotlin?, o cual es la mejor forma de administrar datos al estilo de una base de datos con una app.