Kotlin for Android App Development
Addison Wesley (Verlag)
978-0-13-485419-9 (ISBN)
“Peter Sommerhoff takes a practical approach to teaching Kotlin by providing a larger set of code listings that demonstrate language features and by guiding readers through the development of two Android apps step by step. . . . Peter finds a good balance between what is essential and what can be left to readers, so this book is an efficient yet comprehensible source for starting programming with Kotlin.”
–Bernhard Rumpe, Professor of Software Engineering, RWTH Aachen University
The Kotlin language brings state-of-the-art programming techniques and constructs to Android development. Kotlin for Android App Development will help you rapidly understand Kotlin’s principles and techniques, apply Kotlin in production app development, integrate Kotlin with existing Java code, and plan a migration to Kotlin, if you choose.
If you have at least basic programming experience (with any language), Peter Sommerhoff’s well-crafted overview and examples will help you get quickly up-to-speed with the Kotlin language, its constructs, and its advanced functional and object-oriented capabilities.
Once you’ve mastered these foundations, Sommerhoff walks you through two complete app development projects, introducing best practices and emerging patterns for writing code that’s robust, concise, readable, and highly performant.
Understand Kotlin’s goals, principles, advantages, design, and constructs
Take full advantage of functional programming in the Kotlin environment
Write more concise and reusable code using Kotlin’s object-oriented features
Interoperate with existing Java code, and plan a migration to Kotlin
Use coroutines to efficiently handle concurrency
Capture data via third-party APIs, map it to internal data representations, and present it to users
Master best practices for architecting Kotlin Android apps
Improve productivity and readability by creating simple domain-specific languages in Kotlin
Register your book for convenient access to downloads, updates, and/or corrections as they become available. See inside book for details.
Peter Sommerhoff is a software developer with a passion for teaching, hence he founded CodeAlong.TV. Today, he teaches development and design to 35,000+ motivated students worldwide. He holds a master’s degree in computer science from RWTH Aachen University in Germany. You can follow his activity on Twitter (@petersommerhoff) and on YouTube, where he shares educational content to help people become better software developers.
Listings xiii
Foreword xxvii
Preface xxix
Acknowledgments xxxii
About the Author xxxiii
Part I: Learning Kotlin 1
Chapter 1: Introducing Kotlin 3
What Is Kotlin? 3
Goals and Language Concepts 4
Why Use Kotlin on Android? 5
Kotlin versus Java 8 6
Tool Support and Community 7
Business Perspective 7
Who’s Using Kotlin? 8
Summary 9
Chapter 2: Diving into Kotlin 11
Kotlin REPL 11
Variables and Data Types 12
Conditional Code 15
Loops and Ranges 19
Functions 21
Null Safety 29
Equality Checks 32
Exception Handling 33
Summary 36
Chapter 3: Functional Programming in Kotlin 37
Purpose of Functional Programming 37
Functions 39
Lambda Expressions 40
Higher-Order Functions 41
Working with Collections 45
Scoping Functions 53
Lazy Sequences 61
Summary 67
Chapter 4: Object Orientation in Kotlin 69
Classes and Object Instantiation 69
Properties 70
Methods 80
Primary and Secondary Constructors 82
Inheritance and Overriding Rules 84
Type Checking and Casting 89
Visibilities 91
Data Classes 94
Enumerations 96
Sealed Classes 98
Objects and Companions 101
Generics 105
Summary 121
Chapter 5: Interoperability with Java 123
Using Java Code from Kotlin 123
Using Kotlin Code from Java 133
Best Practices for Interop 149
Summary 150
Chapter 6: Concurrency in Kotlin 151
Concurrency 151
Kotlin Coroutines 157
Summary 200
Part II: Kotlin on Android 203
Chapter 7: Android App Development with Kotlin: Kudoo App 205
Setting Up Kotlin for Android 205
App #1: Kudoo, a To-Do List App 210
Summary 239
Chapter 8: Android App Development with Kotlin: Nutrilicious 241
Setting Up the Project 242
Adding a RecyclerView to the Home Screen 243
Fetching Data from the USDA Nutrition API 250
Mapping JSON Data to Domain Classes 257
Introducing a ViewModel for Search 262
Letting Users Search Foods 265
Introducing Fragments I: The Search Fragment 268
Introducing Fragments II: The Favorites Fragment 276
Store User’s Favorite Foods in a Room Database 280
Fetching Detailed Nutrition Data from the USDA Food
Reports API 288
Integrating the Details Activity 293
Storing Food Details in the Database 302
Adding RDIs for Actionable Data 307
Improving the User Experience 311
Summary 314
Chapter 9: Kotlin DSLs 315
Introducing DSLs 315
Creating a DSL in Kotlin 318
DSL for Android Layouts with Anko 328
DSL for Gradle Build Scripts 335
Summary 343
Chapter 10: Migrating to Kotlin 345
On Software Migrations 345
Leading the Change 346
Partial or Full Migration 349
Where to Start 351
Tool Support 354
Summary 356
Appendix A: Further Resources 359
Official Resources 359
Community 359
Functional Programming 360
Kotlin DSLs 360
Migrating to Kotlin 360
Testing 361
Glossary 363
Index 367
Erscheinungsdatum | 09.01.2019 |
---|---|
Reihe/Serie | Developer's Library |
Verlagsort | Boston |
Sprache | englisch |
Maße | 180 x 230 mm |
Gewicht | 673 g |
Themenwelt | Mathematik / Informatik ► Informatik ► Programmiersprachen / -werkzeuge |
Informatik ► Software Entwicklung ► Mobile- / App-Entwicklung | |
ISBN-10 | 0-13-485419-5 / 0134854195 |
ISBN-13 | 978-0-13-485419-9 / 9780134854199 |
Zustand | Neuware |
Haben Sie eine Frage zum Produkt? |
aus dem Bereich