Michael Kofler

Kotlin

Das umfassende Handbuch. 1. Auflage
eBook (epub), 823 Seiten
EAN 9783836272797
Veröffentlicht Oktober 2020
Verlag/Hersteller Rheinwerk eBooks

Auch erhältlich als:

Buch (Hardcover)
49,90
39,92 inkl. MwSt.
Sofort Lieferbar (Download)
Teilen
Beschreibung

Kotlin ist das neue Schweizer Taschenmesser in der Softwareentwicklung. Ob mobile Apps oder Geschäftslogik am Backend, ob objektorientierte Paradigmen oder funktionale Programmierung mit Lambdas: Kotlin vereint die Stärken zahlreicher beliebter Sprachen zu einem modern Werkzeug für alle Fälle. In diesem umfassenden Handbuch gibt Michael Kofler Ihnen dazu einen Einblick in alle Sprachfeatures und zeigt Ihnen, wie Sie zeitgemäß Software entwicklen. Aus dem Inhalt: - Crashkurs für Java-Umsteiger - IDEs: IntelliJ und Android Studio - Operatoren, Datentypen, Variablen, Klassen, Methoden: Alle Grundlagen - Lambda-Ausdrücke und funktionale Programmierung - Objektorientierte Programmierung inkl. Extensions, Delegation und Generics - Asynrchrone Programmierung und Koroutinen - Netzwerkfunktionen, XML und JSON - App-Programmierung mit Jetpack und Jetpack Compose - Backend-Entwicklung mit Ktor und Exposed - REST-APIs entwicklen und anwenden - Pakete, Module und Importe

Portrait

Dr. Michael Kofler studierte Telematik an der TU Graz. Er zählt zu den erfolgreichsten und vielseitigsten Computerbuchautoren im deutschen Sprachraum. Zu seinen Themengebieten zählen neben Linux auch macOS, MySQL, KVM, Visual Basic und Excel-VBA. Viele seiner Bücher wurden übersetzt. Michael Kofler arbeitet auch als Software-Entwickler, Berater sowie als Lehrbeauftragter an einer Fachhochschule.

Inhaltsverzeichnis

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

Technik
Sie können dieses eBook zum Beispiel mit den folgenden Geräten lesen:
• tolino Reader 
Laden Sie das eBook direkt über den Reader-Shop auf dem tolino herunter oder übertragen Sie das eBook auf Ihren tolino mit einer kostenlosen Software wie beispielsweise Adobe Digital Editions. 
• Sony Reader & andere eBook Reader 
Laden Sie das eBook direkt über den Reader-Shop herunter oder übertragen Sie das eBook mit der kostenlosen Software Sony READER FOR PC/Mac oder Adobe Digital Editions auf ein Standard-Lesegeräte. 
• Tablets & Smartphones 
Möchten Sie dieses eBook auf Ihrem Smartphone oder Tablet lesen, finden Sie hier unsere kostenlose Lese-App für iPhone/iPad und Android Smartphone/Tablets. 
• PC & Mac 
Lesen Sie das eBook direkt nach dem Herunterladen mit einer kostenlosen Lesesoftware, beispielsweise Adobe Digital Editions, Sony READER FOR PC/Mac oder direkt über Ihre eBook-Bibliothek in Ihrem Konto unter „Meine eBooks“ -  „online lesen“.
 
Bitte beachten Sie, dass die Kindle-Geräte das Format nicht unterstützen und dieses eBook somit nicht auf Kindle-Geräten lesbar ist.
Hersteller
Libri GmbH
Friedensallee 273

DE - 22763 Hamburg

E-Mail: GPSR@libri.de

Website: www.libri.de

Das könnte Sie auch interessieren

Julia Ruhs
Links-grüne Meinungsmacht
Buch (Softcover)
Sofort lieferbar
20,00
Sarah Kuttner
Mama & Sam
Buch (Hardcover)
Sofort lieferbar
24,00
Aldous Huxley
Zeit der Oligarchen
Buch (Hardcover)
Lieferbar innerhalb von 1-2 Wochen
14,00
Katharina Zweig
Weiß die KI, dass sie nichts weiß?
Buch (Softcover)
Sofort lieferbar
20,00
Marc-Uwe Kling
Der Tag, an dem die Oma das Internet kaputt...
Buch (Hardcover)
Sofort lieferbar
12,00
Sofort lieferbar
3,50
Tim Berners-Lee
This Is for Everyone
Buch (Hardcover)
Sofort lieferbar
28,00
Martin Andree
Krieg der Medien
Buch (Hardcover)
Lieferbar innerhalb von 1-2 Wochen
28,00
Annekathrin Kohout
Hyperreaktiv
Buch (Softcover)
Sofort lieferbar
18,00
Sofort lieferbar
19,90
Jimmy Wales
TRUST
Buch (Hardcover)
Sofort lieferbar
24,00
Cornelia Lohs
Der inoffizielle James Bond Reiseführer
Buch (Softcover)
Lieferbar innerhalb von 1-2 Wochen
19,99
Aya Jaff
Broligarchie
Buch (Hardcover)
Lieferbar innerhalb von 1-2 Wochen
23,99
Christoph Engemann
Die Zukunft des Lesens
Buch (Softcover)
Lieferbar innerhalb von 3 Wochen
14,00
Frank-Michael Becker
Formelsammlung bis zum Abitur - Mathematik ...
Buch (Softcover)
Sofort lieferbar
16,50
Jörg Rieger Espind...
Windows 11 für Senioren
Buch (Softcover)
Sofort lieferbar
19,90
Johannes Knörzer
Ein Quantum Zukunft - Quantenphysik und Qua...
Buch (Softcover)
Lieferbar innerhalb von 5-7 Tagen
24,99
Albert Wiedemann
Informatik (Oldenbourg) Band 7: Grundkurs ...
Buch (Hardcover)
Lieferbar innerhalb von 3 Wochen
33,50
Ingo Dachwitz
Digitaler Kolonialismus
Buch (Hardcover)
Sofort lieferbar
28,00
Johanna Pirker
The Game is On
Buch (Hardcover)
Lieferbar innerhalb von 1-2 Wochen
26,00
Keach Hagey
Sam Altman
Buch (Hardcover)
Sofort lieferbar
28,00
Robert Klaßen
Windows 11
Buch (Softcover)
Sofort lieferbar
12,90
Steffen Mau
Triggerpunkte
Buch (Softcover)
Lieferbar innerhalb von 1-2 Wochen
25,00
Rainer Hattenhauer
ChatGPT u. Co.
Buch (Softcover)
Sofort lieferbar
24,90
Vera Weidenbach
Ada Lovelace
Buch (Hardcover)
Sofort lieferbar
24,00
Oliver Bock
ChatGPT - Das Praxisbuch
Buch (Softcover)
Sofort lieferbar
19,95
Kim Beck
Basiskurs Medienbildung.Gesamtkurs
Buch (Softcover)
Sofort lieferbar
8,00
Douglas Rushkoff
Survival of the Richest
Buch (Softcover)
Lieferbar innerhalb von 1-2 Wochen
22,00
Ursula Poznanski
Erebos 2
Buch (Hardcover)
Lieferbar innerhalb von 1-2 Wochen
19,95
@Kriegundfreitag
Psyche, du kleiner Schlingel
Buch (Hardcover)
Sofort lieferbar
14,00
Uwe Albrecht
iPhone und iPad
Buch (Softcover)
Lieferbar innerhalb von 1-2 Wochen
19,90
Christian Immler
WhatsApp - optimal nutzen - neueste Version...
Buch (Softcover)
Sofort lieferbar
12,95
Bernhard Pörksen
Zuhören
Buch (Hardcover)
Sofort lieferbar
24,00
Inga Strümke
Künstliche Intelligenz
Buch (Hardcover)
Sofort lieferbar
24,90
Lieferbar innerhalb von 1-2 Wochen
19,95
Tara-Louise Wittwer
Sorry, aber ...
Buch (Softcover)
Sofort lieferbar
18,00