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
