From Fundamentals to Production: Kotlin, Compose, Architecture, and Beyond
Introduction: Why Android 17 Matters
- Who This Book Is For
- What You Will Learn
- How to Use This Book
- Getting the Most Out of This Book
Chapter 1: The Android Platform — History, Architecture, and Where We Are Today
- From Android 1 to Android 17 — A Brief History
- The Android Platform Architecture: HAL, Kernel, Runtime, and Framework
- What Makes Android 17 Different: Key Themes and Design Philosophy
- The Android Open Source Project and the Release Cadence
- Device Fragmentation in 2026 and API Level Targeting
- Chapter Summary
- Exercises
- Interview Questions
Chapter 2: Setting Up Your Development Environment
- Installing Android Studio Ladybug/Next Generation
- Configuring the Android 17 SDK and System Images
- Emulator Setup: Hardware Acceleration, Virtual Devices, and Cloud Testing
- Physical Device Configuration: USB Debugging, ADB, and Fastboot
- Project Templates and Your First “Hello World”
- Chapter Summary
- Exercises
- Interview Questions
Chapter 3: Kotlin-First Development on Android
- Why Kotlin Won: History, Adoption, and Language Design
- Kotlin Fundamentals for Android: Types, Null Safety, and Extension Functions
- Coroutines and Structured Concurrency on Android
- Kotlin Flow for Reactive Data Streams
- Kotlin Multiplatform: Shared Business Logic
- Chapter Summary
- Exercises
- Interview Questions
Chapter 4: Modern App Architecture
- The Evolution of Android Architecture: MVC to MVVM to MVI
- ViewModel, Repository, and Use Case Patterns
- Dependency Injection: Hilt and Koin
- Navigation Component and Deep Linking
- Clean Architecture on Android 17
- Chapter Summary
- Exercises
- Interview Questions
Chapter 5: Jetpack Compose — Declarative UI for Android
- From XML Layouts to Compose: The Declarative Paradigm Shift
- Compose Fundamentals: Composables, State, and Recomposition
- Layouts, Modifiers, and Custom Components
- Navigation in Compose: Single-Activity Architecture
- Animations, Theming, and Material Design 3
- Chapter Summary
- Exercises
- Interview Questions
Chapter 6: Android Views and Compose Interoperability
- The View System: Layouts, Adapters, and RecyclerView
- Compose in Views: ComposeView and AndroidView
- Views in Compose: AndroidViewBridge
- Incremental Migration Strategies
- When to Use Views vs Compose
- Chapter Summary
- Exercises
- Interview Questions
Chapter 7: Lifecycle Management and Process Death
- Activity Lifecycle: Creation, Resumption, Pausing, and Destruction
- Service Lifecycles: Foreground, Background, and WorkManager
- Configuration Changes and SavedStateHandle
- Process Death and State Restoration
- Lifecycle-Aware Components and LifecycleOwner
- Chapter Summary
- Exercises
- Interview Questions
Chapter 8: Permissions, Security, and Privacy in Android 17
- The Permission Model: Normal, Dangerous, and Special Permissions
- Runtime Permissions and Scoped Storage
- Android 17 Privacy Enhancements: Photo Picker, Notification Permissions, and More
- Security Best Practices: Keystore, Encryption, and Network Security Config
- App Sandbox and Inter-Process Communication
- Chapter Summary
- Exercises
- Interview Questions
Chapter 9: Background Processing and Battery Optimization
- Background Execution Limits and Android 17 Restrictions
- WorkManager: Deferrable, Guaranteed Background Work
- Foreground Services and Foreground Service Types
- JobScheduler and AlarmManager for Scheduled Tasks
- Battery Optimization: Doze Mode, App Standby, and Power Profiles
- Chapter Summary
- Exercises
- Interview Questions
Chapter 10: Networking and Data Storage
- HTTP Client Libraries: Retrofit, Ktor, and OkHttp
- JSON Serialization: Kotlinx Serialization and Moshi
- Room Database: Entities, DAOs, and Migrations
- DataStore: Preferences and Proto-based Storage
- Caching Strategies and Offline-First Architecture
- Chapter Summary
- Exercises
- Interview Questions
Chapter 11: Media, Graphics, and Sensors
- CameraX and the Modern Camera API
- Audio Playback: ExoPlayer, Media3, and AudioFocus
- Video Recording and Processing
- Skia, Canvas, and Custom Drawing
- Sensor APIs: Accelerometer, Gyroscope, Location, and Geofencing
- Chapter Summary
- Exercises
- Interview Questions
Chapter 12: AI, On-Device ML, and Android 17 Intelligent Features
- TensorFlow Lite on Android: Model Loading and Inference
- MediaPipe Tasks: Vision, Audio, and NLP
- Neural Networks API (NNAPI) for Hardware Acceleration
- On-Device LLMs and Gemini SDK Integration
- Android 17 AI Features: Live Captions, Translation, and Smart Compose
- Chapter Summary
- Exercises
- Interview Questions
Chapter 13: Performance Optimization and Profiling
- Android Studio Profiler: CPU, Memory, and Network
- Frame Rendering and Jank Detection with Choreographer
- Memory Management: Leak Canary, Heap Analysis, and Bitmap Optimization
- Startup Time Optimization and Splash Screen API
- Benchmark Library and Macro/Micro Benchmarks
- Chapter Summary
- Exercises
- Interview Questions
Chapter 14: Accessibility and Internationalization
- Accessibility Fundamentals: Content Descriptions and Touch Targets
- TalkBack, Switch Access, and Screen Magnification
- Dynamic Type and Scalable UI
- Internationalization: Locale, Number Formatting, and Date/Time APIs
- Right-to-Left Layouts and Bidirectional Text
- Chapter Summary
- Exercises
- Interview Questions
Chapter 15: Testing on Android
- Unit Testing with JUnit 5 and MockK
- Compose Testing: Semantics, Actions, and Assertions
- Espresso and UI Automation
- Continuous Integration and Cloud Testing (Firebase Test Lab)
- Chapter Summary
- Exercises
- Interview Questions
Chapter 16: Debugging, Crashes, and Production Monitoring
- Android Studio Debugger: Breakpoints, Stepping, and Evaluate Expression
- Logcat Mastery: Filtering, Tags, and Remote Logging
- Crash Reporting: Firebase Crashlytics and ACRA
- ANR Analysis and Main Thread Violations
- Remote Configuration and Feature Flags
- Chapter Summary
- Exercises
- Interview Questions
Chapter 17: Publishing to the Play Store
- App Signing: Upload Keys, Play App Signing, and Bundletool
- Android App Bundles vs APKs
- Play Console: Store Listing, Screenshots, and Metadata
- Release Tracks: Internal, Alpha, Beta, and Production
- Play Store Policies, Rating Requirements, and Content Guidelines
- Chapter Summary
- Exercises
- Interview Questions
Chapter 18: Migration Strategies and Backward Compatibility
- API Level Targeting: minSdk, targetSdk, and compileSdk
- Deprecated APIs in Android 17 and Their Replacements
- Build Configuration: Flavors, Dimensions, and Dynamic Features
- Backward Compatibility Libraries: AndroidX and Jetpack
- Migration Case Studies: From Android 12 to Android 17
- Chapter Summary