Kotlin for Android App Development

Kotlin for Android App Development

$44.99

SKU: 9780134854199
Quantity Discount
5 + $33.74

Description

Use Kotlin to write more concise, expressive code — and more robust, scalable Android apps Master Google’s industrial-strength object-oriented language for building Android apps faster and more successfully

  • Leverage advanced Kotlin features including lambdas, collections, null safety, type inference, and try-with-resources
  • Explore powerful coroutines with this guide’s unique, exclusive coverage
  • Quickly migrate existing Java app projects to Kotlin
  • Jumpstart your Kotlin projects with working code examples and two full sample apps, all available at a companion Github repository
  • Leverage advanced Kotlin features including lambdas, collections, null safety, type inference, and try-with-resources
  • Explore powerful coroutines with this guide’s unique, exclusive coverage
  • Quickly migrate existing Java app projects to Kotlin
  • Jumpstart your Kotlin projects with working code examples and two full sample apps, all available at a companion Github repository

The Kotlin language brings state-of-the-art programming techniques and constructs to Android development. Kotlin for Android App Development will help students 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.

 

For students with at least basic programming experience (with any language), Peter Sommerhoff’s well-crafted overview and examples will help them get quickly up-to-speed with the Kotlin language, its constructs, and its advanced functional and object-oriented capabilities.

 

Once students have mastered these foundations, Sommerhoff walks them through two complete app development projects, introducing best practices and emerging patterns for writing code that’s robust, concise, readable, and highly performant.

 

  • Leverage advanced Kotlin features including lambdas, collections, null safety, type inference, and try-with-resources
  • Explore powerful coroutines with this guide’s unique, exclusive coverage
  • Quickly migrate existing Java app projects to Kotlin
  • Jumpstart your Kotlin projects with working code examples and two full sample apps, all available at a companion Github repository

 

Use Kotlin to write more concise, expressive code — and more robust, scalable Android apps Master Google’s industrial-strength object-oriented language for building Android apps faster and more successfully

  • Leverage advanced Kotlin features including lambdas, collections, null safety, type inference, and try-with-resources
  • Explore powerful coroutines with this guide’s unique, exclusive coverage
  • Quickly migrate existing Java app projects to Kotlin
  • Jumpstart your Kotlin projects with working code examples and two full sample apps, all available at a companion Github repository

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

Write More Robust and Maintainable Android Apps with Kotlin

“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

Additional information

Dimensions 1.00 × 7.00 × 9.00 in
Series

Imprint

Format

ISBN-13

ISBN-10

Author

Subjects

professional, higher education, Employability, IT Professional, kotlin android, kotlin android development, android app development, kotlin for java developers, kotlin vs java, kotlin android tutorial, kotlin android examples, android development with kotlin, kotlin programming, programming kotlin, Y-BA MOBILE/GRAPHICS/GAME DEV