🟩 Crear Variables y Constantes con Kotlin en Android ( Tema 2 )

Hola! Bienvenidos a esta nueva vídeocápsula 
Android, donde explicaré cómo podemos gestionar   las variables y constantes en nuestros proyectos 
Android mediante el lenguaje de programación   Kotlin. Para explicar el funcionamiento de las 
variables y constantes en Kotlin, en este vídeo,   utilizaré un proyecto vacío que tiene la 
estructura de un proyecto básico Android,   compuesto por un archivo xml, y otro archivo .kt, 
donde colocaré el código Kotlin del proyecto.   Este archivo con extensión .kt, como podéis 
ver, tiene una estructura básica formada por   una clase que hace de activity, y dentro de la 
clase, encontramos la función llamada "onCreate"   (English) o, "onCreate" (Español) que se ejecuta 
cada vez que arranca el Activity. En Kotlin para   definir variables y constantes no es obligatorio 
indicarles el tipo de datos de la información que   queremos guardar en ellas ,esto sucede , ya que 
ccoo clic en el momento que se asigne un valor   inicial a una variable o constante puede decidir 
automáticamente el tipo de datos de la variable   basándose en el valor inicial asignado por ejemplo 
si yo declaro esta variable llamada variable 1 fijaros que no he indicado un tipo de 
dato pero con clic automáticamente de   forma implícita como ha visto que a 
la variable le ha asignado como valor   inicial un cero identificar a esta variable 
como si fuese de tipo integral observa que   para declarar la variable he utilizado 
la palabra reservada var pues esta misma   declaración se puede utilizar para crear una 
constante pero en lugar de utilizar la palabra   var es decir v&r usaremos la palabra vale 
vale5 sa llamada constante 1 de esta forma kotlik también permite declarar 
variables y constantes donde le   podemos definir manualmente el tipo 
de datos por ejemplo puedo crear una   variable llamada variable 2 donde 
le indicará que será de tipo string fijaros que la sintaxis es similar con la única 
diferencia que he colocado detrás del nombre de   la variable dos puntos y luego el tipo de dato 
esto mismo se puede hacer con una constante al igual que la mayoría de lenguajes 
de programación en kotlik cuando una   variable es declarada dentro de una función 
esta variable sólo será accesible o válida   dentro de esa función ya que será 
considerada una variable local por   ejemplo si declaro una variable dentro 
de la función un créate de la actividad sí ahora creo otra función e intentó acceder a la variable llamada variable 
local para sumarle un valor desde esta función veréis que androide estudio nos avisa que 
hay una error ya que la variable es local   y por lo tanto accesible únicamente 
desde la función on créate en cambio   si declaramos esta variable fuera de la 
función ya no aparecerá dicho error ya que   será considerada una variable global y por 
lo tanto accesible desde cualquier función este mismo funcionamiento de las variables 
locales y globales es aplicable a las constantes   que también pueden ser consideradas locales 
o globales en côte link cuando se declara   una variable o constante global o un atributo 
de la clase es obligatorio en el momento de su   definición asignarle un valor inicial por ejemplo 
podéis ver que todas las variables y constantes   disponibles actualmente en el proyecto son 
globales y tienen un valor inicial si yo   ahora a la variable llamada variable local 
le quito el valor inicial en su declaración veréis que androide estudio nos está avisando 
que hay una error en cambio si yo declaro una   variable o constante local dentro de una 
función sin indicarle un valor inicial no   daría error si especificamos un tipo de dato 
pero cuidado que si no especificamos un tipo   de dato ni un valor inicial a la variable o 
constante local si quedaría error por ejemplo pero cuidado ya que en el momento que 
queramos trabajar con una variable   local sin valor inicial si 
quedaría error por ejemplo por ello antes de trabajar con ella 
hay que asignarle un valor por ejemplo para cambiar el valor de una variable 
es tan sencillo como poner el nombre   de la variable seguida de un igual 
y la nueva información por ejemplo con esta línea de código le estoy asignando 
a la variable 1 un nuevo valor en este caso   un 4 recordad que tan solo podemos modificar el 
valor de una variable ya que las constantes como   su nombre indica su valor será fijo desde 
el momento de su creación por lo tanto si   la intentamos modificar dará error en code 
click disponemos de cuatro modificadores de   visibilidad o de acceso que pueden aplicarse 
tanto a variables a constantes oa funciones   los modificadores de acceso deben colocarse 
delante de cualquier variable constante o   función en el momento de su declaración con el 
modificador public convertimos cualquier variable   constante o función en pública esto quiere 
decir que serán accesibles desde cualquier   parte de nuestra aplicación por ejemplo si yo 
declaro la variable 1 como pública de esta forma podré acceder a ella desde esta 
misma clase o desde otra clase   que haya nuestro proyecto ya sea para 
modificarla o rescatar su valor por   ejemplo imaginaros que yo en otra 
clase tengo una variable pública si   yo quiero acceder a ella desde la función 2 
de esta clase lo podría hacer de esta forma a nombre de la clase donde 
está ubicada la variable   pública punto nombre de la variable pública cuando vayamos a declarar una variable constante 
o función si no le especificamos un modificador   de visibilidad esta variable constante 
o función será considerada por defecto   como pública con el modificador private o 
private convertiremos cualquier variable   constante o función en privada esto quiere 
decir que sólo será accesible desde la clase   donde las declaremos por ejemplo si declaro una 
variable privada dentro de la clase de esta forma esta variable sólo será accesible dentro de 
esta clase con el modificador de visibilidad   protected podemos indicarle a una variable 
constante o función que puede ser accesible   únicamente desde otras clases llamadas 
subclases que serán hijas o heredarán de   la clase donde esté declarada dicha clase 
es conocida como superclase o clase padre   por ejemplo si yo la variable 1 le cambió 
el modificador de visibilidad de esta forma si yo ahora creas en clases que deben de estar 
clase es decir que sean hijas de la clase donde   estoy trabajando únicamente podremos acceder a 
variable 1 desde estas clases hijas aparte de   estos modificadores de visibilidad gotlib tiene un 
modificador llamado internal con este modificador   indicamos que la variable constante o función sólo 
será accesible desde todo el módulo en la que esté   situada kotlik considera un módulo diversas cosas 
desde los típicos módulos que podemos crear para   separar y organizar el código de una aplicación 
un proyecto creado para am avn o un conjunto   de elementos grandes reunidos en lo que se llama 
módulo este último concepto es el que nos interesa   para trabajar en android ya que todos los recursos 
de un proyecto android por defecto se organizan en   un único módulo grande como podemos ver en la 
lista de archivos que únicamente hay un módulo pues bien como todos los recursos android por 
defecto están reunidos en un único módulo si   declaramos una variable constante o función de 
tipo interna serán accesibles desde cualquier   punto de la aplicación pero cuidado que si 
añadimos un nuevo módulo grande la variable   constante o función de tipo internal solo será 
accesible desde el módulo donde esté declarada para declarar una variable de tipo 
internal se hace de esta forma debéis tener en cuenta que los 
modificadores de visibilidad pueden   aplicarse a cualquier tipo de declaración 
de una variable o constante por ejemplo ah fijaros que la variable llamada variable 
local no tiene modificador de visibilidad   esto es porque se trata de una variable local y 
como toda variable local su ámbito de validez se   reduce a la función donde se ha creado por 
lo tanto no tendría sentido especificar un   modificador de visibilidad esto lo podemos 
ver si coloco un modificador de visibilidad   a la variable llamada variable local ya que 
android studio nos avisará que hay un error cuando vayamos a trabajar con kotlik deberemos 
tener en cuenta que este lenguaje ha eliminado   el concepto de datos primitivos esto 
implica que en el momento que escribamos   valores literales en nuestro código ya sea 
numérico texto bolea no o binario göttling   lo interpretará como objetos que tendrán el 
tipo de dato correspondiente esto significa   que si yo escribo un número como puede ser el 
1 o el 2 ghost link lo interpretará como un   objeto de tipo integral esto implica que 
yo por ejemplo puede aplicar una función   directamente al número literal asignado como 
valor inicial de la variable 4 de esta forma podéis ver que en el momento 
que he colocado el punto me   aparece el listado de funciones que 
puedo aplicar sobre el número cero los tipos de datos más comunes con 
los que puede trabajar el catering son bolea y cuyos valores pueden ser true o falsa otros tipos de datos que puede soportar   country solo es correspondiente a 
datos numéricos como los interés este tipo de datos se identificará 
en nuestro código con la palabra y nt otros tipos de datos numéricos que 
soporta este lenguaje son los sort otro tipo de dato numérico que 
soporta kotlik es el tipo long para poder trabajar con literales de 
tipo long es necesario realizar una   conversión para ello existen dos formas de 
hacerlo una forma de hacer la conversión   es escribir la letra l mayúscula detrás 
del valor numérico literal por ejemplo 12 y la letra l mayúscula otra forma de hacer la conversión 
es aplicar al valor numérico una   función que permita realizar la 
conversión por ejemplo de esta forma 12.2 long a pesar que coakley nos obliga a realizar una 
conversión para trabajar con datos de tipo   long este lenguaje de programación permite crear 
variables y constantes de tipo long de esta forma además de estos tipos de datos 
numéricos kotlik soporta tipos   de datos para trabajar con 
decimales como el tipo doble una cosa a tener en cuenta cuando vayamos 
a trabajar con decimales es que con tres   los interpreta de forma nativa como si fuesen de 
tipo doble pero si queremos podremos trabajar con   decimales con otros tipos de datos por ejemplo 
podemos trabajar con decimales de tipo float para ello deberemos hacer una conversión 
una forma de hacer la conversión es   colocando la letra f minúscula detrás 
del número o valor literal por ejemplo otra forma de hacer la conversión 
es aplicar en el valor literal   una función que convierta el 
valor doble afloat por ejemplo a pesar que cotel y trabaje de 
forma nativa con doble podemos   crear variables y constantes 
de tipo float de esta forma y otros tipos de datos que soporta kotlik   son los que hacen referencia a 
caracteres o cadena de caracteres con el tipo de dato chart podremos guardar 
cualquier carácter literal de la codificación   único de para ello utilizaremos 
las comillas simples por ejemplo cuidado que si usamos dobles comillas 
en lugar de comillas simples dará error   también dará error si en lugar de colocar 
un único caracter colocamos más de uno   los tipos de datos strike nos permiten 
trabajar con cadena de caracteres a diferencia de los tipos chart los 
strings aceptan uno o varios caracteres   y además es obligatorio colocar 
las cadenas de texto entre dobles   comillas si usamos con medidas 
simples dará error por ejemplo por último comentar que cotel también 
dispone del tipo de dato byte para   aquellos momentos en que necesitamos 
trabajar con información binaria cot le ofrece un nivel de seguridad que evita 
lo máximo posible la posibilidad que variables   y constantes puedan guardar valores nulos tan 
sólo podrán guardar valores nulos en determinadas   ocasiones o ejecuciones este nivel de seguridad 
lo podemos ver por ejemplo cuando declaramos una   variable o constante que estamos obligados a 
indicarle un valor inicial o si no dará error   este nivel de seguridad afecta de tal forma en las 
variables y constantes de tipo strail y char que   como norma general no podrán guardar valores 
nulos por ejemplo si yo declaro esta variable merezca esta variable le estoy asignando un 
valor inicial nulo pero androide estudio me   está marcando que hay una error esto sucede por 
el nivel de seguridad comentado anteriormente   pero kotlik nos ofrece una solución a este 
problema si nosotros queremos obligar a una   variable constante para que guarde como 
un valor inicial un valor nulo deberemos   colocar el signo de interrogante detrás del 
tipo de datos en su declaración por ejemplo esto también es posible hacerlo con otros 
tipos de datos por ejemplo con los integra como se puede ver en el momento que he colocado 
el interrogante el error ha desaparecido pues bien   si yo ahora quiero asignarle un nuevo valor a la 
variable lo podemos hacer con total normalidad a   pesar que podemos guardar valores nulos con el 
uso del carácter interrogante göttling dispone   de un tipo de dato especial llamado nothing para 
casos especiales destinado única y exclusivamente   para guardar valores nulos este tipo de dato es 
inmutable esto quiere decir que su valor no puede   ser modificado por ejemplo yo puedo declarar 
una variable de tipo nothing de esta forma como podéis ver en este caso también es 
obligatorio el uso del interrogante en   el tipo de dato otra forma de declarar una 
variable o constante de tipo nothing es esta con esto conseguiremos que got le asigne 
automáticamente a la variable vacía 2 el   tipo de dato no fin así que debéis tener 
cuidado al crear las variables con este   tipo de declaraciones automáticas ya que una vez 
la variable tenga el tipo de datos nothing no se   podrá modificar bueno aquí daré por finalizado 
este vídeo donde ha explicado la gestión de las   variables y constantes en côte link para luego 
poderlas aplicar a nuestros proyectos android   espero que os haya gustado y nos vemos en el 
siguiente vídeo una vez finalizada esta vídeo   cápsula a continuación os dejo en este vídeo o en 
la descripción del mismo unos vídeos recomendados   o también podéis visitar mi perfil para 
consultar todos mis vídeos disponibles