Table of Contents

1.1 Background and syntax
1.2 Variables and data types
1.3 Arithmetic
1.4 Conditionals
1.5 Loops
1.6 Functions
1.7 Lambdas
1.8 Classes and objects
1.9 More classes
1.10 References
1.11 Inheritance
1.12 Interfaces
1.13 Arrays
1.14 Collections
1.15 Exceptions
1.16 Packages and imports

2.1 Mobile app development
2.2 Android platforms and app construction
2.3 Android Studio, APKs, and emulators
2.4 The Pizza Party app
2.5 Debugging
2.6 App resources
2.7 Value resources
2.8 Drawable resources
2.9 App Manifest
2.10 Model-View-Controller (MVC)

3.1 Layouts
3.2 Linear, Relative, and Constraint layouts
3.3 Table, Grid, and Frame layouts
3.4 Widgets and event handling
3.5 Button widgets
3.6 Text widgets
3.7 Selection widgets
3.8 ‘Bar’ widgets
3.9 ImageView widget
3.10 Styles and themes
3.11 UI design

4.1 Activity lifecycle
4.2 Restoring activity state
4.3 The Lights Out app
4.4 Handling rotations
4.5 Multiple activities and intents
4.6 Sending and receiving activity data
4.7 Implicit intents

5.1 App Bar
5.2 The Dice Roller app
5.3 Dialogs
5.4 Context menus
5.5 Handling touch
5.6 Touch gestures

6.1 Fragment essentials
6.2 Lights Out with fragments
6.3 Navigation for Lights Out
6.4 The Band Database app
6.5 Fragment arguments
6.6 Fragment with RecyclerView
6.7 Hosting multiple fragments

7.1 Shared preferences
7.2 Working with files
7.3 The To-Do List app
7.4 The Study Helper app
7.5 Room persistence library
7.6 ViewModels and LiveData
7.7 Adding and removing subjects
7.8 Adding, editing, and deleting questions
7.9 App settings
7.10 Applying app settings
7.11 Web APIs
7.12 Volley

8.1 Main and background threads
8.2 Coroutines
8.3 Room with coroutines
8.4 The Timer app
8.5 WorkManager and notifications

9.1 Shape and custom drawables
9.2 Animation drawables and view animations
9.3 Property animations
9.4 Custom views
9.5 The Dotty app
9.6 Dotty animations
9.7 Playing sounds
9.8 SurfaceView

10.1 Sensors overview
10.2 Motion sensors
10.3 The Rollerball app
10.4 Camera
10.5 The Photo Express app
10.6 Saving photos
10.7 Location and Google Play Services
10.8 The Find Me app

11.1 Testing fundamentals
11.2 Unit tests and JUnit
11.3 Local and instrumented unit tests
11.4 Integration tests and Espresso
11.5 UI tests

A highly-interactive introduction to Mobile App Development

Mobile App Development with Android and Kotlin covers Android Studio, model-view-controller design pattern, user interface (UI) components, activities and intents, fragments, handling touch, persistent data and databases, web APIs, graphics and animation, sensors, testing, and other key topics.

  • Focus on Android devices using the Kotlin programming language
  • Includes over 100 dynamic animations and 1,000 learning questions 
  • Adopters have access to a test bank with over 250 questions

How this zyBook works:

zyBook - Mobile App Development with Kotlin

What is a zyBook?

Mobile App Development with Kotlin is a web-native, interactive zyBook that helps students visualize concepts to learn faster and more effectively than with a traditional textbook. (Check out our research.)

Since 2012, over 1,700 academic institutions have adopted digital zyBooks to transform their STEM education.

zyBooks benefit both students and instructors:

  • Instructor benefits
  • Customize your course by reorganizing existing content, or adding your own content
  • Continuous publication model updates your course with the latest content and technologies
  • Robust reporting gives you insight into students’ progress, reading and participation
  • Save time with auto-graded labs and challenge activities that seamlessly integrate with your LMS gradebook
  • Build quizzes and exams with hundreds of included test questions
  • Student benefits
  • Learning questions and other content serve as an interactive form of reading
  • Instant feedback on labs and homework
  • Concepts come to life through extensive animations embedded into the interactive content
  • Review learning content before exams with different questions and challenge activities
  • Save chapters as PDFs to reference the material at any time


Frank McCown
Associate Professor of Computer Science, Harding University

Instructors: Interested in evaluating this zyBook for your class?