Table of Contents
1. Android app fundamentals
1.1 Mobile app development
1.2 Android platforms and app construction
1.3 Android Studio, APKs, and emulators
1.4 The Pizza Party app
1.5 Debugging
1.6 App resources
1.7 Value resources
1.8 Drawable resources
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 Selection widgets
2.8 ‘Bar’ widgets
2.9 ImageView widget
2.10 Styles and themes
2.11 UI design
3. Activities and Intents
3.1 Activity lifecycle
3.2 Restoring activity state
3.3 The Lights Out app
3.4 Handling rotations
3.5 Multiple activities and intents
3.6 Sending and receiving activity data
3.7 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 Lights Out with fragments
5.3 Navigation for Lights Out
5.4 The Band Database app
5.5 Fragment arguments
5.6 Fragment with RecyclerView
5.7 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 The Study Helper app
6.5 Room persistence library
6.6 ViewModels and LiveData
6.7 Adding and removing subjects
6.8 Adding, editing, and deleting questions
6.9 App settings
6.10 Applying app settings
6.11 Web APIs
6.12 Volley
7. Running Background Tasks
7.1 Main and background threads
7.2 Room with ExecutorService
7.3 AsyncTask
7.4 Handlers and Loopers
7.5 The Timer app
7.6 WorkManager 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 Dotty animations
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 Saving photos
9.7 Location and Google Play Services
9.8 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
11. Legacy
11.1 Working with files API 28
11.2 The To-Do List app API 28
11.3 SQLite
11.4 Camera API 28
11.5 The Photo Express app API 28
A highly-interactive introduction to Mobile App Development
Mobile App Development with Android and Java covers user interface components, fragments, application resources and sensors, and other key topics.
- Over 300 participation activities, including dynamic animations and question sets
- Includes recent changes to the Android platform, supporting Android Studio 4.1 and API level 30
- Includes over 100 dynamic animations and 1,000 learning questions
- Adopters have access to a test bank with over 250 questions
How this zyBooks works:
What is a zyBook?
Mobile App Development with Android and Java 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