馃煩 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

Deja un comentario

Tu direcci贸n de correo electr贸nico no ser谩 publicada. Los campos obligatorios est谩n marcados con *