Introducción a Kotlin para Android

Publicado: 2018-06-28

En el mundo de Android, estoy seguro de que no hay nadie que no haya oído hablar de Java. Un poderoso lenguaje de programación que puede crear aplicaciones que se ejecutan en casi cualquier sistema operativo en cualquier hardware. Sin embargo, a lo largo de los años, se han introducido varios lenguajes de programación nuevos para que también se ejecuten en la máquina virtual Java. Uno de esos lenguajes, que es parte de lo que está haciendo Google, para hacer que el desarrollo de aplicaciones de Android sea "mejor" es Kotlin. Google anunció su amplio apoyo a Kotlin en Google I / O 2017.

¡Seguro que sabemos que Kotlin es para desarrolladores de aplicaciones y que les encanta! Pero, ¿por qué les encanta? ¿Qué hace que Google refuerce la importancia de Kotlin para el desarrollo de aplicaciones nuevamente en 2018? ¿Qué es exactamente?

Un lenguaje de programación de tipo estático que se ejecuta en JVM, Kotlin es un lenguaje de programación y desarrollo de JetBrains. Kotlin es un lenguaje moderno, expresivo, seguro y poderoso que puede ser interoperable con nuestros lenguajes de Android existentes. Algunas otras características incluyen:

1. Kotlin es totalmente compatible con Android Studio 3.0 y versiones posteriores.

2. Kotlin es un lenguaje basado en JVM creado por "JetBrains", el equipo detrás de "Intellij".

3. Intellij es la base para Android Studio.

4. Kotlin es un "lenguaje orientado a objetos"

¿Por qué Kotlin?

Ligero:

La biblioteca de Kotlin es bastante pequeña en comparación con otras. Esto es importante porque los límites de los métodos de Android que involucran Proguard y Multidexing siempre son un problema a resolver. Todas estas soluciones agregarán complejidades que pueden consumir tiempo durante la depuración. Kotlin agrega menos de 7000 métodos.

Altamente interoperable:

Kotlin funciona bien con bibliotecas java. El equipo de Kotlin quiere continuar desarrollando proyectos actuales que están escritos en Java sin tener que reescribir todo el código. Entonces, Kotlin es un lenguaje extremadamente interoperable.

Integrado con Android Studio:

Kotlin está integrado con Android Studio y Gradle. Es fácil instalar Kotlin, ya que requiere un complemento para el IDE y otro para Gradle. No será difícil iniciar un proyecto de Android con Kotlin.

No más NullPointerExceptions:

NullPointerException es una de las causas más comunes de bloqueo de aplicaciones en Android. Para corregir esta excepción y proteger su código, usar la verificación nula cada vez es una tarea que requiere mucho tiempo. Pero en Kotlin esto es una excepción ya que la seguridad nula ya está integrada.

Rendimiento :

La aplicación Kotlin se ejecuta tan rápido como lo haría en Java. Con el soporte de Kotlin para funciones en línea, usando "lambda" las aplicaciones a menudo se ejecutan aún más rápido.

En Android Studio 3.0, puede optar por crear la actividad en Kotlin. La forma más fácil de comenzar a usar kotlin es convertir Java a Kotlin automáticamente. Puede escribir en Java, luego copiar y pegar el código java en el archivo kotlin y le sugerirá la conversión.

Otro método fácil para convertir un archivo Java a Kotlin:

Menú de Android Studio >> Código >> Convertir archivo Java a archivo Kotlin

La conversión será de este tipo:

Java:

public class MainActivity extends AppCompatActivity { @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); setContentView(R.layout.activity); } }

Kotlin:

class MainActivity : AppCompatActivity() { override fun onCreate(savedInstanceState: Bundle?) { super.onCreate(savedInstanceState) setContentView(R.layout.activity) } }

Después de configurar Kotlin, actualice el archivo build.gradle para la aplicación e implemente lo que se muestra a continuación:

android-blog

android-blog

Finalmente, sincroniza el proyecto. Puede hacer clic en 'Sincronizar ahora'. Esto funciona exactamente igual que en Java. Puede hacer un lanzamiento de la aplicación y firmarlo de manera similar a lo que hacemos para una aplicación de Android en Java.

Finalmente, el compilador de Kotlin produce "código de bytes", sin ninguna diferencia en términos de apariencia de la aplicación en Android.

Ahora, háganos saber un poco más sobre la sintaxis de Kotlin

  • Definición de paquete:

    package com.example Import java.util.*

  • Definición de variables:

    Int: Val a: Int = 3 // Immediate assignment Val b = 2 // “Int” type is Inferred Val c : Int // Type Required when no initializer is provided C = 3 // Deferred assignment

  • Cuerda:

val firstName: String = "Raj" val lastName = "xyz" // still compile val dateOfBirth = "24th April, 1990" dateOfBirth = "28th July, 2000" // cannot be changed var car = "Toyota Matrix" car = "Mercedes-Maybach" // can be changed

Diferencia entre "Val" y "Var"

Val: Es una palabra clave que la primera es inmutable o de solo lectura (su valor no se puede cambiar)

Var: es una palabra clave que tiene su tipo inferido por el compilador, la asignación de otro valor de un tipo diferente no funcionará. En otras palabras, el valor de la variable puede cambiar, pero su tipo no.

var age = 12 age = "12 years old" // Error: type mismatch val carName: String carName = "BMW Car" // will compile val carName = "Toyota", streetName = "Church street" // this won't compile // this will compile var carName = "Audi" var streetName = "Church street"

Ejemplos:

fun main(args: Array<String>) { val i = 10 println("i = $i") // prints "i = 10" } val accountBalance = 200 val bankMessage = "Your account balance is $accountBalance" // Your account balance is 200

Nos referimos a una variable mediante el uso de un carácter $ delante del nombre de la variable. Tenga en cuenta que si la variable no es correcta o no existe, el código no se compilará. Puede llamar a métodos desde una cadena interpolada directamente; tienes que agregar llaves $ {} para envolverlo.

val name = "Raj" val message = "The first letter in my name is ${name.first()}" // The first letter in my name is R

Definición de funciones:

fun sum(a: Int, b: Int): Int { return a + b } fun main(args: Array<String>) { print("sum of 2 and 8 is ") println(sum(2, 8)) } // sum of 2 and 8 is 10

Función con cuerpo de expresión y tipo de retorno inferido:

fun sum(a: Int, b: Int) = a + b fun main(args: Array<String>) { println("sum of 18 and 24 is ${sum(18, 24)}") } // sum of 18 and 24 is 42

En bucle:

fun main(args: Array<String>) { val items = listOf("apple", "banana", "Mango") for (item in items) { println(item) } } // apple banana Mango

Usando colecciones:

Iterating over a collection: fun main(args: Array<String>) { val items = listOf("apple", "banana", "mango") for (item in items) { println(item) } } Checking if a collection contains an object using “in” operator: fun main(args: Array<String>) { val items = setOf("apple", "banana", "mango") when { "orange" in items -> println("juicy") "apple" in items -> println("apple is fine") } } // apple is fine

Cómo crear una instancia de clase:

val customer = Customer() // No New Keyword

Constructores:

Una clase en Kotlin puede tener un constructor principal y uno o más constructores secundarios. El constructor principal es parte del encabezado de la clase: va después del nombre de la clase

class Person constructor(firstName: String) { }

Declaración de propiedades:

La clase Kotlin tiene propiedades. Estos se pueden declarar como mutables, usando la palabra clave "var" o de sólo lectura usando la palabra clave "val".

Por ejemplo:

class Address { var name: String = “” var street: String = “” var city: String = “” }

Interfaz :

Las interfaces en Kotlin son muy similares a Java 8. Pueden contener declaraciones de métodos abstractos, así como implementaciones de métodos.

Una interfaz se define mediante la interfaz de palabras clave

interface MyInterface { fun bar() fun foo() { // optional body } }

Implementación de interfaces:

class Child : MyInterface { override fun bar() { // body } }

Una clase u objeto puede implementar una o más interfaces.

Subba Raju 28 de junio de 2018

Subba Raju 28 de junio de 2018

Blogs recientes

Imagen
Avance de bloque personalizado

Creación programática de un bloque en Drupal 9: un breve tutorial

Imagen
Avance de CKEditor

Haga que su Drupal 9 CKEditor destaque: 7 módulos útiles que no sabía que existían

Imagen
Avance de velocidad de página

¡Por qué es importante la velocidad de la página y cómo hacer que su sitio web se cargue más rápido!