Produktbild: Kotlin

Kotlin Das umfassende Handbuch

Aus der Reihe Rheinwerk Computing
0

51,30 €

inkl. gesetzl. MwSt., Versandkostenfrei


Beschreibung

Produktdetails

Einband

Gebundene Ausgabe

Erscheinungsdatum

28.10.2020

Verlag

Rheinwerk

Seitenzahl

823

Maße (L/B/H)

23,8/18,2/5,2 cm

Gewicht

1620 g

Farbe

Lachs / Schwarz

Auflage

1

Sprache

Deutsch

ISBN

978-3-8362-7277-3

Beschreibung

Rezension

Michael Kofler hat einen exzellenten Ruf für seine Bücher zu diversen Themen. Da macht auch sein Buch „Kotlin: Das umfassende Handbuch“ keine Ausnahme. [...] Insgesamt eignet sich das Buch für alle erfahrenen Programmierer, egal wie viel oder wie wenig Erfahrung sie mit Kotlin bereits sammeln konnten. ("JavaSpektrum")
Das umfassende Handbuch zu Kotlin richtet sich an Leser, die bereits über Grundlagenkenntnisse in der Programmierung verfügen und sich im Selbststudium leicht in neue Programmiersprachen einarbeiten können. ("dotnetpro")

Produktdetails

Einband

Gebundene Ausgabe

Erscheinungsdatum

28.10.2020

Verlag

Rheinwerk

Seitenzahl

823

Maße (L/B/H)

23,8/18,2/5,2 cm

Gewicht

1620 g

Farbe

Lachs / Schwarz

Auflage

1

Sprache

Deutsch

ISBN

978-3-8362-7277-3

Herstelleradresse

Rheinwerk Verlag GmbH
Rheinwerkallee 4
53227 Bonn
DE

Email: service@rheinwerk-verlag.de

Noch keine Bewertungen vorhanden

Verfassen Sie die erste Bewertung zu diesem Artikel

Helfen Sie anderen Kundinnen und Kunden durch Ihre Meinung.

Kundinnen und Kunden meinen

Bewertungen (0)

Weitere Artikel finden Sie in

Die Leseprobe wird geladen.
  • Produktbild: Kotlin







  •   Vorwort ... 13















    TEIL I  Kotlin ... 17












      1.  Hello World! ... 19









           1.1 ... Über Kotlin ... 19






           1.2 ... Installation ... 21






           1.3 ... »Hello World!« mit und ohne IDE ausführen ... 24












      2.  Crashkurs ... 29









           2.1 ... Elementare Syntaxregeln ... 29






           2.2 ... Konventionen ... 41






           2.3 ... Von Java zu Kotlin ... 42












      3.  Operatoren ... 47









           3.1 ... Übersicht ... 47






           3.2 ... Anmerkungen ... 49






           3.3 ... Priorität von Operatoren ... 59












      4.  Variablenverwaltung ... 61









           4.1 ... Variablen ... 61






           4.2 ... Unveränderliche Variablen ... 63






           4.3 ... Konstanten und Enumerationen ... 64






           4.4 ... Der Umgang mit »null« ... 65












      5.  Datentypen ... 69









           5.1 ... Die wichtigsten Kotlin-Datentypen ... 69






           5.2 ... Zahlen ... 72






           5.3 ... Bereiche (Ranges) ... 74






           5.4 ... Zufallszahlen ... 76






           5.5 ... Boolesche Ausdrücke ... 77












      6.  Zeichenketten ... 79









           6.1 ... Die Klasse »Char« ... 80






           6.2 ... Die Klasse »String« ... 82






           6.3 ... Mit Zeichenketten arbeiten ... 85






           6.4 ... Beispiel: Passwortqualität testen ... 94






           6.5 ... Die Klasse »StringBuilder« ... 97












      7.  Datum und Uhrzeit ... 99









           7.1 ... Neue Java-Klassen (»java.time«) ... 100






           7.2 ... Herkömmliche Java-Klassen (»Date« und »Calendar«) ... 107






           7.3 ... Die »Duration and Time Measurement API« (kotlin.time) ... 113












      8.  Listen, Sets, Maps und Arrays ... 117









           8.1 ... Listen ... 118






           8.2 ... Sets ... 132






           8.3 ... Maps ... 135






           8.4 ... Sequenzen ... 136






           8.5 ... Arrays ... 140












      9.  Verzweigungen und Schleifen ... 147









           9.1 ... Die »if«-Verzweigung ... 147






           9.2 ... Die »when«-Verzweigung ... 150






           9.3 ... Die »for«-Schleife ... 152






           9.4 ... Die »while«-Schleife ... 154






           9.5 ... Die »repeat«-Schleife ... 155






           9.6 ... »break« und »continue« ... 156






           9.7 ... Beispiele: Summen, Produkte, Duplikate und Co. ... 157












    10.  Funktionen ... 163









           10.1 ... Funktionen definieren und aufrufen ... 164






           10.2 ... Parameter ... 168






           10.3 ... Rekursion ... 172






           10.4 ... Lokale Funktionen ... 175






           10.5 ... Die »main«-Funktion ... 176






           10.6 ... Beispiel: Pfadsuche ... 177












    11.  Lambda-Ausdrücke und funktionale Programmierung ... 189









           11.1 ... Hello Lambda! ... 190






           11.2 ... Lambda-Ausdrücke und Funktionen für Fortgeschrittene ... 192






           11.3 ... Beispiel: Funktionen erzeugen und verarbeiten ... 197






           11.4 ... »map«, »filter«, »reduce« und Co. ... 199






           11.5 ... Beispiel: Textanalyse mit Lambda-Ausdrücken ... 211






           11.6 ... Beispiel: Dosenpyramide in drei Farben ... 213






           11.7 ... Objekte verarbeiten (»apply«, »let«, »with« etc.) ... 218






           11.8 ... Inline-Funktionen ... 223












    12.  Klassen und Objekte ... 227









           12.1 ... Klassen ... 227






           12.2 ... Der Konstruktor ... 233






           12.3 ... Eigenschaften ... 240






           12.4 ... Eigenschaften später initialisieren ... 245






           12.5 ... Zugriffssteuerung ... 249






           12.6 ... Beispiel: Bankkonto ... 251






           12.7 ... Objekte ohne Klassen ... 253






           12.8 ... Beispiel: Quiz ... 261






           12.9 ... Enumerationen ... 266












    13.  Vererbung, Schnittstellen, Extensions ... 271









           13.1 ... Vererbung ... 272






           13.2 ... Vererbung (Konstruktoren, abstrakte Klassen, Polymorphie) ... 278






           13.3 ... Die Klasse »Any« ... 284






           13.4 ... Datenklassen ... 287






           13.5 ... Beispiel: Schachfiguren ... 289






           13.6 ... Schnittstellen ... 296






           13.7 ... Beispiel: Geometrische Objekte mit Schnittstellen verarbeiten ... 303






           13.8 ... Extensions ... 304






           13.9 ... Receiver-Funktionen ... 309






           13.10 ... Infix-Funktionen ... 312






           13.11 ... Operator Overloading ... 313






           13.12 ... Beispiel: Rechnen mit komplexen Zahlen ... 316






           13.13 ... Delegation ... 317












    14.  Reflection, Generics und Annotationen ... 327









           14.1 ... Reflection ... 328






           14.2 ... Generics ... 330






           14.3 ... Generische Typen: Zusatzregeln und Sonderfälle ... 333






           14.4 ... Annotationen ... 344






           14.5 ... Type-safe Builder ... 348












    15.  Exceptions ... 357









           15.1 ... Fehlerabsicherung ... 358






           15.2 ... Selbst Fehler auslösen (»throw«) ... 365






           15.3 ... Arbeitstechniken ... 367












    16.  Pakete, Importe und Module ... 369









           16.1 ... Pakete ... 369






           16.2 ... Importe ... 370






           16.3 ... Module ... 373















    TEIL II  Programmiertechniken ... 375












    17.  Asynchrone Programmierung ... 377









           17.1 ... Hello Coroutines! ... 378






           17.2 ... Koroutinen ausführen ... 382






           17.3 ... Koroutinen abbrechen ... 390






           17.4 ... Exceptions in asynchronem Code ... 395






           17.5 ... Den Zugriff auf gemeinsame Daten synchronisieren ... 398






           17.6 ... Suspending Functions ... 401






           17.7 ... Asynchroner Code in Android-Apps ... 404






           17.8 ... Beispiel: Effizient numerisch integrieren ... 407












    18.  Dateien verarbeiten (I/O, JSON, XML) ... 411









           18.1 ... Umgang mit Dateien und Verzeichnissen ... 412






           18.2 ... Textdateien lesen und schreiben ... 419






           18.3 ... Download von Dateien ... 422






           18.4 ... JSON und Serialisierung ... 422






           18.5 ... JSON-Beispiel: Die »New-York-Times«-Bestseller ... 430






           18.6 ... XML ... 432












    19.  Datenbankzugriff (Exposed) ... 437









           19.1 ... Hello Exposed! ... 438






           19.2 ... Verbindungsaufbau und Transaktionen ... 442






           19.3 ... Data Access Objects (DAO) ... 448






           19.4 ... DAO-Beispiel: Bücherdatenbank ... 455






           19.5 ... SQL als Domain-specific Language (DSL) ... 462












    20.  JavaFX ... 473









           20.1 ... Hello JavaFX! ... 473






           20.2 ... TornadoFX ... 477















    TEIL III  App-Entwicklung ... 481












    21.  Hello Android! ... 483









           21.1 ... Android Studio installieren ... 484






           21.2 ... Das erste Projekt in Android Studio ... 486






           21.3 ... Emulator einrichten ... 488






           21.4 ... Smartphone einrichten ... 492






           21.5 ... Aufbau eines Android-Studio-Projekts ... 494






           21.6 ... Eigener Button, eigener Code ... 498






           21.7 ... Personalisierung der App ... 505












    22.  App: Fahrenheit-Umrechner ... 509









           22.1 ... Layout ... 510






           22.2 ... Der Code zur Temperaturumrechnung ... 512






           22.3 ... Debugging ... 518






           22.4 ... Screenshots ... 522












    23.  Android Basics ... 525









           23.1 ... Android-Grundlagen ... 525






           23.2 ... Steuerelemente ... 527






           23.3 ... Texte anzeigen und eingeben (»TextView«, »EditText«) ... 529






           23.4 ... Buttons ... 533






           23.5 ... ImageView ... 535






           23.6 ... Layoutregeln ... 541






           23.7 ... Listen und Tabellen (»RecyclerView«) ... 548






           23.8 ... Preferences ... 561






           23.9 ... Permissions ... 564












    24.  Aktivitäten, Fragmente und Menüs ... 573









           24.1 ... Aktivitäten und Fragmente ... 574






           24.2 ... Beispiel: App mit drei leeren Fragmenten ... 576






           24.3 ... Datenaustausch zwischen Fragmenten ... 586






           24.4 ... Beispiel: Datenaustausch zwischen drei Fragmenten ... 593






           24.5 ... Einfache Menüs (Overflow Menu) ... 597












    25.  App: Währungsumrechner ... 603









           25.1 ... Die Klasse »CurrencyCalculator« ... 604






           25.2 ... Hauptaktivität ... 610






           25.3 ... Fragment zur Währungsumrechnung (»MainFragment«) ... 611






           25.4 ... Einstellungsfragment (»SetupFragment«) ... 616






           25.5 ... Fragment mit App-Informationen (»AboutFragment«) ... 620












    26.  Jetpack Compose ... 623









           26.1 ... Hello Compose! ... 625






           26.2 ... Steuerelemente ... 635






           26.3 ... Container ... 641






           26.4 ... Listen ... 645






           26.5 ... Theming ... 648






           26.6 ... Aktivitäten und Fragmente ... 651






           26.7 ... Beispiel: Fahrenheit-Umrechner ... 656















    TEIL IV  Backend und Server ... 661












    27.  Hello Server! ... 663









           27.1 ... Hello Ktor! ... 665






           27.2 ... Beispiel: URL-Verkürzer ... 670






           27.3 ... Beispiel: URL-Verkürzer mit Datenbank-Server ... 675












    28.  Ktor-Programmiertechniken ... 681









           28.1 ... Projekt- und Programmaufbau ... 682






           28.2 ... Routing ... 684






           28.3 ... Request und Response ... 690






           28.4 ... HTML- und CSS-Dokumente zusammensetzen ... 694






           28.5 ... REST-APIs ... 701






           28.6 ... Authentifizierung ... 709






           28.7 ... Ktor-Debugging ... 715












    29.  App: Evaluierungssystem (Backend) ... 719









           29.1 ... Projektaufbau ... 720






           29.2 ... Datenbankdesign ... 723






           29.3 ... Der Datenbank-Code ... 725






           29.4 ... Weboberfläche ... 735






           29.5 ... Die REST-API ... 745












    30.  App: Evaluierungssystem (Client) ... 753









           30.1 ... Den Ktor-Client in Android-Apps verwenden ... 755






           30.2 ... Ktor-Client-Programmiertechniken ... 758






           30.3 ... Projektaufbau der Evaluierungs-App ... 761






           30.4 ... Liste der Evaluierungen anzeigen ... 766






           30.5 ... Einmal-Login ... 772






           30.6 ... Evaluierung durchführen ... 775






           30.7 ... Evaluierungsergebnisse anzeigen ... 781












      A.  IntelliJ, Android Studio und Gradle ... 783









           A.1 ... IntelliJ und Android Studio ... 783






           A.2 ... Gradle ... 795












      Index ... 807