Ejemplos Kotlin Para Inspirarse


    En la búsqueda de perfeccionar la manera en la que programamos, llega Kotlin, con un lenguaje sencillo, que se adapta a nuestras necesidades. Pero hoy, lo vamos a llevar a la práctica, con fáciles ejemplos de su aplicación, para que tomes ideas y las utilices en tus proyectos android. 



  • Crear una lista de personas, con su nombre y edad. Seleccionar ¿quién es la mayor?
     Primero, debemos crear la clase persona, en la que vamos a declarar el nombre como una variable de tipo string y la edad como una variable de tipo entero y vacía. Luego, creamos en el main la lista de personas, conjunto a la edad de cada una. Como el objetivo es saber quién es la persona mayor, vamos a crear una variable que se llame "mayor" y le asignamos que guarde el máximo valor que encuentre al leer los datos guardados en edad. Y para finalizar, un imprimir línea, para ver el resultado. El código sería así:


  data class Persona(val nombre: String, val edad: Int? = null)
  fun main(args: Array<String>)
 { val personas = listOf(Persona("Alicia", edad = 47),
                                      Persona("Bob", edad = 29),
                                      Persona("Maria", edad = 76),
                                      Persona("Pedro", edad = 34))
  val mayor = personas.maxBy { it.edad ?: 0 }
  println("¿Quien es el mayor?: $mayor") }
  //ingenieradeideas.blogspot.com

    He aquí una muestra de cómo se ha compilado el código, haciendo uso del Editor Kotlin Online:




   Y si buscamos la menor persona, lo único que debemos crear es una nueva variable llamada menor pero, el llamado se hace a ".minBy". Quedando de la siguiente manera:



    val menor = personas.minBy { it.edad ?: 0 }
    println("¿Quien es el menor?: $menor")




  • Si queremos buscar dentro de la lista a una persona. 
     Primero, al igual que en el ejemplo anterior, debemos crear la clase persona y seguido, definir la lista. Pero en este caso, realizaremos un método llamado "BuscarPersona" para asignarle el nombre que va a buscar dentro de la lista e imprimirlo. El código quedaría de la siguiente manera: 




   Ahora bien, Tomasz Czura en su artículo Introducción a Kotlin: Programación de Android Para Seres Humanos, enumera las principales características de Kotlin, para tomar en cuenta a la hora de desarrollar un proyecto Android, estas son:



  • Variables Mutables e Inmutables: si queremos que una variable sea inmutable (en muchos casos deberíamos), usamos val (como valor, no variable):


val inmutable: Int = 1


  •  Extensiones: podemos "extender" las clases existentes, incluso cuando son finales o no tenemos acceso a su código fuente. Por ejemplo, para obtener un valor de cadena de texto de edición, en lugar de escribir cada vez editText.text.toString() podemos escribir la función:


fun EditText.textValue(): String { return text.toString() }

Y ahora con cada instancia de EditText:



editText.textValue()


  • Sobrecarga del Operador: es útil si queremos agregar, multiplicar o comparar objetos. Kotlin permite la sobrecarga de: operadores binarios, operadores de matriz, y de operaciones iguales y de unarios.   

    Y si te ha gustado tanto como a mi, empezar en el mundo Kotlin, te invito a explorar el artículo completo de  Tomasz CzuraIntroducción a Kotlin: Programación de Android Para Seres Humanos, donde muestra paso a paso cómo programó una pantalla de usuario. 





Comentarios

  1. Hola, en mi intento por hacer un programa que determine el menor de 3 numeros (estoy comenzando desde cero) dados por teclado, asi que opte por hacerlo con un arreglo, lo cual no me salió. ¿tu como lo harias?


    Lo que hice fue esto =P :


    fun menor() {
    println("Introduce el primer numero")
    val a = readLine()!!.toInt()
    println("Introduce el segundo valor")
    val b = readLine()!!.toInt()
    println("Introduce el tercer valor")
    val c = readLine()!!.toInt()

    var arrayEnteros = intArrayOf(a, b, c)

    for ((i,j) in arrayEnteros.withIndex())
    {
    var contenedor = i

    if (contenedor < arrayEnteros.get(i))
    {
    println("El menor es: $contenedor en la posicion $i")
    }

    }

    }

    ********************************************************************

    Lo cual imprime:


    Introduce el primer numero
    4
    Introduce el segundo valor
    5
    Introduce el tercer valor
    6
    El menor es: 0 en la posicion 0
    El menor es: 1 en la posicion 1
    El menor es: 2 en la posicion 2

    ¡De antemano gracias!

    ResponderEliminar
    Respuestas
    1. fun menor() {
      println("Introduce el primer numero")
      val a = readLine()!!.toInt()
      println("Introduce el segundo valor")
      val b = readLine()!!.toInt()
      println("Introduce el tercer valor")
      val c = readLine()!!.toInt()

      val arrayEnteros = intArrayOf(a, b, c)

      //variable que hace de testigo para ir almacenando el menor valor
      var test : Int = a
      //variable para almacenar el indice correspondiente al menor valor en en array
      var testInd : Int = 0
      //bucle para leer todos los elementos del array
      //----- si el numero leído es menor que el testigo cambiamos el valor del testigo y almacenamos el indice
      arrayEnteros.forEachIndexed{ind, elem -> if (elem < test) {
      test = elem
      testInd = ind}

      println("El menor es: $test en la posición $testInd")



      }

      Eliminar
  2. fun main(parametro: Array) {
    print("Ingrese primer valor:")
    val valor1 = readLine()!!.toInt()
    print("Ingrese segundo valor:")
    val valor2 = readLine()!!.toInt()
    print("Ingrese segundo valor:")
    val valor3 = readLine()!!.toInt()
    val valor = if (valor1 < valor2) valor1 else valor2
    val menor =if (valor < valor3) valor else valor3
    println("El menor entre $valor1 y $valor2 y $valor3 es $menor")
    }

    ResponderEliminar
  3. Hola, ¿Quién podría ayudarme a hacer un menú en kotlin? Por favor, eh intentado de muchas formas y no se me ejecuta el condicional when, entra en mi bucle do while pero en el no se me compila lo que tengo en mi condicional

    ResponderEliminar

Publicar un comentario

Entradas populares de este blog

[UPDATE 2020: APPNANA SCAM] AppNana Invitation Codes AppNana Códigos de Invitación

#diy Encender Celular Sin Batería

Ejercicios Resueltos de c++ para Principiantes