Table of Contents
1. Kotlin
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. Android app fundamentals
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. Layouts and Widgets
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. Activities and Intents
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. Menus, Dialogs, and Touch
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. Fragments
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. Working with Data
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. Running Background Tasks
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. Graphics, Animation, and Sound
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. Sensors, Camera, and Location
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. Testing
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:
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
Author
Frank McCown
Professor of Computer Science, Harding University