Wprowadzenie do Kotlina na Androida

Opublikowany: 2018-06-28

W świecie Androida na pewno nie ma nikogo, kto nie słyszał o Javie. Potężny język programowania, który może tworzyć aplikacje działające w prawie każdym systemie operacyjnym na dowolnym sprzęcie. Jednak z biegiem lat wprowadzono wiele nowych języków programowania, które działają również na wirtualnej maszynie Java. Jednym z takich języków, który jest częścią tego, co robi Google, aby tworzenie aplikacji na Androida było „lepsze”, jest Kotlin. Google ogłosiło szerokie wsparcie dla Kotlina na Google I/O 2017.

Na pewno wiemy, że Kotlin jest dla twórców aplikacji i że oni to uwielbiają! Ale dlaczego to kochają? Co sprawia, że ​​Google ponownie podkreśla, jak ważny jest Kotlin dla tworzenia aplikacji w 2018 roku? Co to właściwie jest?

Kotlin, statycznie typowany język programowania, który działa na JVM, jest językiem programowania i programowania od JetBrains. Kotlin to nowoczesny, ekspresyjny, bezpieczny i potężny język, który może współpracować z naszymi istniejącymi językami Androida. Niektóre inne funkcje obejmują:

1. Kotlin jest w pełni obsługiwany przez Android Studio 3.0 i nowsze.

2. Kotlin to język oparty na JVM stworzony przez „JetBrains”, zespół stojący za „Intellij”.

3. Intellij jest bazą dla Android Studio.

4. Kotlin to „język zorientowany obiektowo”

Dlaczego Kotlin?

Lekki :

Biblioteka Kotlin jest dość mała w porównaniu z innymi. Jest to ważne, ponieważ ograniczenia metod Androida obejmujące Proguard i Multidexing zawsze stanowią problem do rozwiązania. Wszystkie te rozwiązania dodadzą złożoności, która może zająć czas podczas debugowania. Kotlin dodaje mniej niż 7000 metod.

Wysoka interoperacyjność:

Kotlin dobrze współpracuje z bibliotekami Java. Zespół Kotlina chce dalej rozwijać obecne projekty pisane w javie bez konieczności przepisywania całego kodu. Tak więc Kotlin jest językiem niezwykle interoperacyjnym.

Zintegrowany z Android Studio:

Kotlin jest zintegrowany z Android Studio i Gradle. Instalacja Kotlina jest łatwa, ponieważ wymaga jednej wtyczki dla IDE i jednej dla Gradle. Rozpoczęcie projektu na Androida za pomocą Kotlina nie będzie trudne.

Nigdy więcej wyjątków NullPointerException :

NullPointerException jest jedną z najczęstszych przyczyn awarii aplikacji w systemie Android. Aby naprawić ten wyjątek i chronić swój kod, używanie sprawdzania wartości null za każdym razem jest czasochłonnym zadaniem. Ale w Kotlinie jest to wyjątek, ponieważ zerowe bezpieczeństwo jest już zintegrowane.

Wydajność :

Aplikacja Kotlin działa tak szybko, jak na Javie. Dzięki wsparciu Kotlina dla funkcji inline, przy użyciu „lambdy” aplikacje często działają jeszcze szybciej.

W Android Studio 3.0 możesz wybrać tworzenie aktywności w Kotlinie. Najłatwiejszym sposobem na rozpoczęcie korzystania z kotlin jest automatyczna konwersja Javy na Kotlin. Możesz napisać w Javie, a następnie skopiować i wkleić kod java do pliku kotlin, a on zasugeruje konwersję.

Kolejna prosta metoda konwersji pliku Java na Kotlin:

Android Studio Menu >> Kod >> Konwertuj plik Java na plik Kotlin

Konwersja będzie tego typu:

Jawa:

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) } }

Po skonfigurowaniu Kotlina zaktualizuj plik build.gradle dla aplikacji i zaimplementuj poniższy rysunek:

android-blog

android-blog

Na koniec zsynchronizuj projekt. Możesz kliknąć „Synchronizuj teraz”. Działa to dokładnie tak samo jak w Javie. Możesz wydać aplikację i podpisać ją podobnie do tego, co robimy dla aplikacji na Androida w Javie.

Wreszcie kompilator Kotlin tworzy „kod bajtowy” , bez różnicy w wyglądzie i działaniu aplikacji w systemie Android.

Teraz daj nam znać nieco więcej o składni Kotlina

  • Definiowanie pakietu:

    package com.example Import java.util.*

  • Definiowanie zmiennych:

    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

  • Strunowy:

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

Różnica między „Val” i „Var”

Val : jest słowem kluczowym, którego pierwsze jest niezmienne lub tylko do odczytu (jego wartości nie można zmienić)

Var : jest słowem kluczowym, którego typ jest wywnioskowany przez kompilator, przypisanie innej wartości innego typu nie zadziała. Innymi słowy, wartość zmiennej może się zmienić, ale jej typ nie.

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"

Przykłady:

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

Odwołujemy się do zmiennej przez użycie znaku $ przed nazwą zmiennej. Zauważ, że jeśli zmienna nie jest poprawna lub nie istnieje, kod nie zostanie skompilowany. Możesz wywoływać metody bezpośrednio z interpolowanego String; musisz dodać nawiasy klamrowe ${}, aby go zawinąć.

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

Definiowanie funkcji:

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

Funkcja z treścią wyrażenia i wywnioskowanym typem zwracanym:

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

Dla pętli:

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

Korzystanie z kolekcji:

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

Jak stworzyć instancję klasy:

val customer = Customer() // No New Keyword

Konstruktorzy:

Klasa w Kotlinie może mieć konstruktor główny i jeden lub więcej konstruktorów pomocniczych. Konstruktor główny jest częścią nagłówka klasy: następuje po nazwie klasy

class Person constructor(firstName: String) { }

Deklarowanie właściwości:

Klasa Kotlin posiada właściwości. Można je zadeklarować jako zmienne za pomocą słowa kluczowego „var” lub tylko do odczytu za pomocą słowa kluczowego „val”.

Na przykład:

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

Interfejs :

Interfejsy w Kotlinie są bardzo podobne do Javy 8. Mogą zawierać deklaracje metod abstrakcyjnych, a także implementacje metod.

Interfejs jest definiowany za pomocą słowa kluczowego interface

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

Implementacja interfejsów:

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

Klasa lub obiekt może implementować jeden lub więcej interfejsów.

Subba Raju 28 cze 2018

Subba Raju 28 cze 2018

Najnowsze blogi

Obraz
Niestandardowy zwiastun blokowy

Programowe tworzenie bloku w Drupal 9 – krótki samouczek

Obraz
CKEditor Teaser

Spraw, aby Twój Drupal 9 CKEditor Pop – 7 przydatnych modułów, o których istnieniu nie wiedziałeś

Obraz
Zwiastun szybkości strony

Dlaczego szybkość strony ma znaczenie i jak sprawić, by Twoja witryna ładowała się szybciej!