Ya tenemos nuestra página de ajustes lista pero asumamos una cosa.
Supongamos que nosotros estamos en nuestra aplicación estamos trabajando y queremos activar el color
secundario y seleccionamos que el género es femenino y el nombre es Carmen por ejemplo cualquier cosa
de esas.
Cuando yo regreso al homepage yo necesito esta información acá hay varias maneras de hacer esto podríamos
trabar toda la información que Ulrike y usar es 3000 de Cholbi Wilders y cualquier otra cosa pero yo
no lo quiero hacer de esa manera.
Imagínense que sólo para grabar una preferencia grabarlo en el que estaría como demasiado bueno sería
como demasiada lógica para algo tan sencillo.
Para lograr esta persistencia de datos sin utilizar el Geolit entonces vamos a utilizar este paquete
llamado Shared Preferences.
Hagamos clic en la instalación y recuerden que ustedes tienen el material junto el acceso directo a
este paquete.
Hagamos la instalación.
Voy a copiar esto regresó a Visual Studio Kot ustedes ya saben cómo instalar paquetes.
Ya son expertos que vamos a buscar aquí nuestro Cupertino hoy consigue pegar justo abajo grabó los cambios
y esto debería de realizar el Florio el paquete gadget perfecto.
Esperemos que esto termine podría tardar mucho.
Ahí está cierro y recuerden que como hicimos una modificación en el pop Speck Pontus Jam significa que
voy a bajar la aplicación acabo de detenerla y volverla a levantar contra el F5 ocultar la barra lateral
OK y el pop Speck lo voy a cerrar perfecto.
Dejemos que esto se levante y regreso con ustedes en un momentito.
Ven como ustedes pueden observar aquí ya recargó la aplicación.
Voy a regresar al ser Ink y no hay nada diferente.
Empezamos a trabajar con el radio qué les parece y qué les parecería así que cuando yo selecciono el
femenino regreso a la aplicación.
Regreso al home o regreso nuevamente a hacer links aquí tengamos marcado femenino nuevamente.
Cómo podemos hacer eso.
Cómo podemos hacer persistente esa información.
Bueno gracias a nuestro paquete que acabamos de usar aquí.
Instalar aquí nos dice cómo para usarlo simplemente tenemos que declarar la instancia del share francés
con una propiedad o una variable que es la web de la inicialización del mismo o sea la instancia.
Eso nos va a permitir a nosotros poder hacer operaciones para grabar enteros grabar booleanos grabar
número grabar listas de string grabar varias cosas y es importante que lograremos con el tipo porque
así mismo los vamos a recuperar.
Aquí hay una instrucción que me gusta mucho que vamos a utilizar que es el doble signo de interrogación.
En pocas palabras dice que si esto es nulo entonces va a retornar un cero a ese cero le va a sumar un
uno.
Esto es lo que significa ese doble signo de interrogación que vamos a usar después.
Ok entonces implementemos implementamos todo esta lógica.
Regresemos a nuestra aplicación.
Ok empecemos con el del género aquí tenemos nuestro género y voy a cambiar esta lógica un poco en vez
de llamar todo este código así como está acá lo voy a borrar y voy a quedarme.
Un método llamado set Selected radio o el nombre que ustedes quieran darle.
No necesito ponerle ningún argumento porque automáticamente lo que sea que emita el Unchained va a pasar
como primer argumento al set selected.
Nuestra función que vamos a crear lo voy a copiar y lo voy a implementar justo aquí arriba abajo del
límite Stec.
Entonces Sect Selected medio va a recibir un entero que va a ser el valor o el o el valio va a ser el
valor de la selección aquí adentro voy a hacer el mismo proceso de que el género va a ser igual al valor
punto y coma y a su vez también voy a ser el sexteto pero lo voy a hacer de esta otra manera para que
miren que también funciona bien.
Este medio también lo voy a implementar en otros Select acá voy a quitar de aquí que además grabo los
cambios ustedes deberían de notar que sigue funcionando exactamente igual la aplicación con este cambio
lo único que hice fue reformatear un poquito el código para que quede centralizado ambos radios en un
mismo lugar.
Supongamos que yo necesito grabar este género el valor actual en las preferencias del cliente y también
vale la pena decir que aquí esta información es gravada tanto en niños como en Android en lugares diferentes
de forma automática si están en y os lo va a grabar en una opción llamado Certificate y que su contraparte
en Android sería el Smart Preferences.
Entonces de esta manera ahí va a quedar esa información es importante que ustedes lean estas documentaciones
o las explicaciones de los paquetes y aquí les recomienda que no graben información crítica cosas que
perfectamente el usuario puede decir Bueno tengo que volver a activar el color no quiere decir que esto
a cada rato falle o de hecho es persistente pero como les dije pudiera ser que el dispositivo llegue
a un estado de memoria crítico y tengan que liberar espacio y ahí es donde puede borrarse esta información
pero es muy raro que suceda pero ustedes tienen que probarlo a profundidad todo esto.
Entonces lo que quiero hacer ahora es grabar esa y si miramos la documentación nos dice que ocupamos
generar una instancia de mi preferencia.
Es esta línea de acá la voy a copiar.
Regreso al programa y lo voy a implementar en una función a implementar acá y luego lo vamos a optimizar
mucho.
Voy a crear la instancia voy a importar el paquete no me aparece acá entonces vamos de nuevo aquí y
vamos a tomar el código que tenemos de la importación acopio regreso al piso el estudio Kop voy a pegar
el paquete aquí arriba grabo los cambios y ya deberíamos de pasar este Robben.
Ya no me está dando ningún problema esta parte.
Ahora vamos con el web y ustedes saben que para utilizar en la web necesito que necesito estar dentro
de un método.
Con esto yo ya tengo la instancia de las preferencias o el espacio de memoria y con esta instancia del
PREX puedo decir que voy a grabar una propiedad acá no lo voy a colocar justo abajo puedo decir que
las preferencias punto y voy a grabar una información ahí para guardar ese entero sería set.
Pero ustedes van a notar que hay CED vulcanos en 12 insert string y set de una lista de strengths.
Eso es lo que ustedes pueden grabar ahí básicamente en este caso necesito grabar un set in para que
cuando yo lo recupere también sea un entero.
Esos son pares de valores con su llave y su valor.
La llave es el nombre que ustedes quieran ponerle en este caso como estoy guardando el valor del género.
Voy a ponerle género a esa llave y el valor sería el valor que estoy recibiendo aquí en este momento
punto y coma.
De esta manera yo lo grabo esto o si ustedes en el cursor encima eso regresa un fútbol con un valor
booleano si lo hizo o no lo hizo entonces perfectamente podría esperar acá hacer la web de esa instrucción
que lo hace sumamente rápido y luego hacer las modificaciones respectivas o bien dejarlo así porque
en el momento en que eso cambie ya se debe haber grabado esto lo hace en fracciones de segundo.
No voy a dejar de esto no lo voy a dejar así por momentos aquí hay un espacio de más y grabo los cambios
en este momento si yo selecciono femenino y vuelvo a cargar la página de seris noten que el masculino
sigue estando ahí.
Ahora lo que yo tengo que hacer es en el límite State de alguna manera poder establecer el valor del
género por el valor que yo tengo en las preferencias.
Para eso es el mismo proceso tengo que copiar esto lo voy a colocar aquí abajo de la inicialización
del Interstate que voy a presionar enter.
Aquí me está marcando un error porque el límite stated ustedes notarán que aquí necesito el Preferences
y aunque aquí ustedes digan nada bueno muy fácil simplemente pongo Sink.
Aquí pasa un pequeño inconveniente que ya se los voy a mostrar en pantalla.
Entonces después de hacer eso ya puedo llegar yo y poner que el género bajo género va a ser igual a
Preferences punto ket y no tenemos que adobos que doblegue hinque Kish de un montón de cosas.
Aquí es interesante porque regresa un valor que es dinámico es decir si nosotros creamos un booleano
recibiríamos un booleano y éste podría ser algo que nos sirva bastante pero yo no lo quiero utilizar
de esa manera.
Quiero ser un poco más específico entonces aquí voy a obtener el kit de la llave del género Punto y
Coma en teoría eso sería todo.
Voy a grabar los cambios y vamos a ver qué pasa.
Voy a regresar aquí Hastings y tengo un error y a eso es a lo que yo quería llegar.
Nosotros no podemos hacer el límite stated como e hicimos que ese es el error que me está apareciendo
en pantalla vamos a ver si lo puedo hacer más grande y ahí tenemos me dice que el Ineed State no puede
regresar a un porque eso es lo que hace cuando colocamos el cine.
Entonces ya tenemos un pequeño inconveniente acá tenemos un pequeño problema lo que alguien podría decir
acá y Fernando no hay problema no hay problema.
Podríamos cortar esto que podríamos cortar todo eso y creamos un método aquí abajo creamos un método
que se llama cargar Predif o prevés o como ustedes quieran ponerle.
Y voy a abrir y cerrar llaves pongo el código nuevamente un simple TAP que tenemos nuestro género lo
estamos igualando aquí.
Voy a llamar este cargar preferencias dentro de Init State.
Aquí no habría ningún inconveniente grabo los cambios y eso debería de funcionar pero noten que no apareció
el género regresará a la pantalla y todavía no sigue apareciendo.
Recuerden que aquí está sintaxis.
En teoría alguien podría decir que se va a esperar a que ejecute todo este código para luego seguir
con él.
La inicialización del texto de hitting controller pero realmente ejecuta esto y sigue la siguiente línea.
Y así sucesivamente.
Por eso no está sucediendo lo que voy a colocar aquí es un set State para que cuando suceda ese cambio
actualice mi página que tengo aquí o mi Willa noten que ahí sí sucedió.
Voy a regresar Settings y ahí si está seleccionado en teoría acabo de mostrar lo que tendrían que hacer
para cada campo y me van a decir hoy no Fernandos qué carpintería más extraña porque quiere decir que
cuando yo quiero grabar algo logrado de esta manera necesito inicializar este ser preferencias o preferencias
estas preferencias compartidas.
Necesito hacer esto y en teoría si es cierto ustedes van a tener que tener la instancia para poder obtener
algún valor.
En él tenemos que hacer lo mismo con el estreno.
Tenemos que hacer lo mismo con el villano y ya lo hemos hecho con este entero.
Sólo hay un pequeño pequeño pequeño inconveniente.
Vamos a hacerlo rápidamente supongamos que aquí en el yo necesito acceso al género y que aquí al lado
me parezca ese género en particular.
Cómo lo haríamos.
Ok miremos nuestro ojo y es un Stainless Willet.
Aquí ya empieza como un pequeño truquito.
Yo necesitaría obtener lo que es revisar ese mensaje.
Yo necesito la referencia a este Preferences o estas preferencias y esto es algo que regresa a un fichero
de instancia regresa a un fichero y aquí hay otro inconveniente.
Yo podría intentar pegar este código acá que voy a hacer eso si quieren ustedes no lo hagan igual lo
voy a borrar yo puedo intentar hacerlo.
Hacer la importación aquí de ser Preferences eso tampoco lo hagan ya lo voy a borrar y tendríamos que
habilitar el Ising para poder utilizarlo.
Pero aquí ya viene un problema.
El Bild necesita regresaron Widget y esto va a hacer que regrese un fútbol que resuelve un widget y
eso no es lo que necesitamos acá.
Por eso me está marcando mi error y ustedes no pueden usar un link dentro de un PIB de un método.
No se puede usar entonces este código es inválido.
No lo van a poder hacer bueno.
No es correcto ok entonces vamos a regresar y pensemos acá aquí.
Yo voy a cortar el video.
Alguien podría decir o Fernando entonces quiere decir que donde yo lo necesite tengo que implementar
lo que es un Wílder y un Estay o maistro y Miller no lo podrían hacer de esa manera y funcionaría dentro
del Willett pero yo les quiero enseñar a ustedes una manera un poco más generalizada o un poco más útil
para trabajar con ellos o esas opciones a pesar de que tienen que ser Cink o regresó en un futuro pero
trabajarlo de una manera sumamente conveniente y fácil de usar.
Entonces vamos a dejar este video así.
Recuerden que yo no hice ninguna modificación en el John Patch sólo era para demostrarles recuerden
que lo que entregan el objetivo de la clase ya se hizo el objetivo de la sección ya se hizo que es grabar
y leer información de las preferencias del usuario pero quiero ser elejercicio un poco más elaborado
para darles facilidad y flexibilidad a ustedes.
Imagínense el siguiente panorama si nada más rápidamente si yo quiero activar o si yo activo el color
secundario yo quiero que cuando entré al Oum aquí tenga otra en vez del azul tengo otro color.
Entonces yo tendría que hacer algo acá poder leer esa propiedad para poder establecer el color a este.
Y cómo lo hacemos sin tener que trabajar con un fichero villero un semillero o esa cuestión o que esto
sea un Estado Willett para poder esperar que las preferencias estén cargadas.
Es un dolor de cabeza pero les voy a dar la solución en los próximos videos así que los veo hoy.