Produktbild: Kotlin

Kotlin Das umfassende Handbuch

Aus der Reihe Rheinwerk Computing
0

49,90 €

inkl. gesetzl. MwSt., Versandkostenfrei

Lieferung nach Hause

Beschreibung

Produktdetails

Einband

Gebundene Ausgabe

Erscheinungsdatum

28.10.2020

Verlag

Rheinwerk

Seitenzahl

824

Maße (L/B/H)

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

Gewicht

1624 g

Farbe

Lachs / Schwarz

Auflage

1. Auflage

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

824

Maße (L/B/H)

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

Gewicht

1624 g

Farbe

Lachs / Schwarz

Auflage

1. Auflage

Sprache

Deutsch

ISBN

978-3-8362-7277-3

Herstelleradresse

Rheinwerk Verlag GmbH
Rheinwerkallee 4
53227 Bonn
DE

Email: [email protected]

Kundinnen und Kunden meinen

0 Bewertungen

Informationen zu Bewertungen

Zur Abgabe einer Bewertung ist eine Anmeldung im Konto notwendig. Die Authentizität der Bewertungen wird von uns nicht überprüft. Wir behalten uns vor, Bewertungstexte, die unseren Richtlinien widersprechen, entsprechend zu kürzen oder zu löschen.

Die Bewertungen sind nach Format, Anzahl Sterne und Datum sortiert.

Verfassen Sie die erste Bewertung zu diesem Artikel

Helfen Sie anderen Kund*innen durch Ihre Meinung

Kundinnen und Kunden meinen

0 Bewertungen filtern

Weitere Artikel findest du 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