Table of Contents

1. Introduction

1.1 Mobile devices and app development
1.2 Android platforms and app construction
1.3 Android Studio
1.4 The Pizza Party app
1.5 App resources
1.6 Value resources
1.7 Drawable resources
1.8 Debugging
1.9 App Manifest
1.10 Model-View-Controller (MVC)

2. Layouts and Widgets

2.1 Layouts
2.2 Linear, Relative, and Constraint layouts
2.3 Table, Grid, and Frame layouts
2.4 Widgets and event handling
2.5 Button widgets
2.6 Text widgets
2.7 Widgets for selecting options
2.8 ‘Bar’ widgets
2.9 ImageView widget
2.10 Styles and themes

3. Activities and Intents

3.1 Activity lifecycle
3.2 Restoring activity state
3.3 The Lights Out app
3.4 Handling rotations in Lights Out
3.5 Multiple activities and intents
3.6 Implicit intents

4. Menus, Dialogs, and Touch

4.1 App Bar
4.2 The Dice Roller app
4.3 Dialogs
4.4 Context menus
4.5 Handling touch
4.6 Touch gestures

5. Fragments

5.1 Fragment essentials
5.2 The Band Database app
5.3 Interaction between fragments
5.4 Fragment and activity interaction
5.5 Fragment with RecyclerView
5.6 Hosting multiple fragments

6. Working with Data

6.1 Shared preferences
6.2 Working with files
6.3 The To-Do List app
6.4 SQLite
6.5 The Study Helper app
6.6 Adding, editing, and deleting questions
6.7 RecyclerView: Adding and removing items
6.8 App settings
6.9 Web APIs and Volley
6.10 Room persistence library

7. Running Background Tasks

7.1 Main and background threads
7.2 AsyncTask
7.3 Handlers and Loopers
7.4 The Timer app
7.5 Services and notifications

8. Graphics, Animation, and Sound

8.1 Shape and custom drawables
8.2 Animation drawables and view animations
8.3 Property animations
8.4 Custom views
8.5 The Dotty app
8.6 Adding animation to Dotty
8.7 Playing sounds
8.8 SurfaceView

9. Sensors, Camera, and Location

9.1 Sensors overview
9.2 Motion sensors
9.3 The Rollerball app
9.4 Camera
9.5 The Photo Express app
9.6 Location and Google Play Services
9.7 The Find Me app

10. Testing

10.1 Testing fundamentals
10.2 Unit tests and JUnit
10.3 Local and instrumented unit tests
10.4 Integration tests and Espresso
10.5 UI tests

What You’ll Find In This zyBook:

More action with less text.

  • Provides a highly-interactive introduction to Mobile App Development
  • Targeted towards devices running Android using the Java programming language
  • Topics include user interface components, fragments, application resources, and sensors
  • 300+ participation activities: Animations and question sets

Instructors: Interested in evaluating this zyBook for your class? Sign up for a Free Trial and check out the first chapter of any zyBook today!

The zyBooks Approach

Less text doesn’t mean less learning.

Mobile devices have become immensely popular in the last decade, and users are spending more time on mobile devices than on desktop computers. This initial release covers the development of mobile applications, including Android Studio, application resources, sensors, model-view-controller design pattern, user interface (UI) components, activities and intents, and fragments. This zyBook is a complete replacement for existing textbooks on the topic and includes hundreds of interactive items proven to help students learn and stay engaged, and for which instructors often assign some homework points.

This zyBook can also be mix-and-matched with others, such as Programming in Java or Web Programming.


Frank McCown
Associate Professor of Computer Science, Harding University