Android Training Topic-Wise Online Mock Tests & Free MCQ Practice
Select any course and syllabus topic below to launch a timed topic MCQ engineering exam (up to 2 free attempts per topic daily) with instant code-level explanations.
Timed code-output & architecture MCQs with instant scorecard. Want spoken viva practice too?
Select Any IT Course (34 Courses • 100% Topics Covered)
Android Training — Topic-Wise Mock Tests
Expand any module below to start a live timed MCQ exam across 244 Mock Test sets (max 2 free attempts per topic per day).
All Modules & Topics in Android Training
Android Platform Overview — AOSP, Gradle SDK Levels & App Packaging (APK / AAB)
Purpose: To understand and apply Android Platform Overview — AOSP, Gradle SDK Levels & App Packaging (APK / AAB) in real Android systems — specifically: How Android powers billions of devices via AOSP, Google Play Services, Gradle Kotlin DSL (`build.gradle.kts`), `minSdk` vs `targetSdk` contracts, and Android App Bundles (`.aab`), so your code stays reliable, fast, and easy to maintain in production.
Android Software Stack — Linux Kernel, Binder IPC, HAL, Zygote & ART Runtime
Purpose: To understand and apply Android Software Stack — Linux Kernel, Binder IPC, HAL, Zygote & ART Runtime in real Android systems — specifically: Deep dive into Android’s 5-layer architecture: Linux Kernel (security, drivers, Binder IPC), Hardware Abstraction Layer (HAL), Native C/C++ Libraries & ART Runtime, Java/Kotlin API Framework, and System Apps, so your code stays reliable, fast, and easy to maintain in production.
Android Core Building Blocks — Activities, Services, BroadcastReceivers & ContentProviders
Purpose: To understand and apply Android Core Building Blocks — Activities, Services, BroadcastReceivers & ContentProviders in real Android systems — specifically: How Android decouples apps into loosely coupled entry points activated via `Intent`s and `Uri`s, orchestrated by `ActivityManagerService` without a single `main()` function, so your code stays reliable, fast, and easy to maintain in production.
AndroidManifest.xml — Component Registration, `android:exported` & Permission Enforcement
Purpose: To understand and apply AndroidManifest.xml — Component Registration, `android:exported` & Permission Enforcement in real Android systems — specifically: Configure `<manifest>`, `<uses-permission>`, `<uses-feature>`, `<application>`, launch modes, `<intent-filter>`, and Android 12+ explicit `android:exported="true|false"` security rules, so your code stays reliable, fast, and easy to maintain in production.
Activity Lifecycle — 7 Callbacks, Configuration Changes, `ViewModel` & Process Death
Purpose: To understand and apply Activity Lifecycle — 7 Callbacks, Configuration Changes, `ViewModel` & Process Death in real Android systems — specifically: Understand visible vs foreground lifetimes, why screen rotation destroys and recreates `Activity` instances by default, and how `ViewModel` + `SavedStateHandle` work together, so your code stays reliable, fast, and easy to maintain in production.
Android Intents — Implicit vs Explicit Resolution, Intent Filters, Flags & `FileProvider`
Purpose: To understand and apply Android Intents — Implicit vs Explicit Resolution, Intent Filters, Flags & `FileProvider` in real Android systems — specifically: How `Intent` messaging binds components via Action, Data (`Uri`), Category, Type, Extras, Launch Flags (`FLAG_ACTIVITY_CLEAR_TOP`), and modern `registerForActivityResult()`, so your code stays reliable, fast, and easy to maintain in production.
Explicit Intents — Type-Safe Screen Navigation, Companion `newIntent()` & `@Parcelize`
Purpose: To understand and apply Explicit Intents — Type-Safe Screen Navigation, Companion `newIntent()` & `@Parcelize` in real Android systems — specifically: Navigate deterministically between internal Activities using target `Class` references, `ActivityResultLauncher` two-way contracts, and `kotlin-parcelize` high-speed binary marshalling, so your code stays reliable, fast, and easy to maintain in production.
Android Fragments — Dual Lifecycles (`this` vs `viewLifecycleOwner`) & `FragmentManager`
Purpose: To understand and apply Android Fragments — Dual Lifecycles (`this` vs `viewLifecycleOwner`) & `FragmentManager` in real Android systems — specifically: Master modular UI composition with `Fragment(R.layout.item)`, `commit { replace(...); addToBackStack(...) }`, `FragmentResultListener`, and why Fragments have TWO distinct lifecycles, so your code stays reliable, fast, and easy to maintain in production.
Android UI Widgets — `ViewBinding`, Material 3 Inputs, `dp` vs `sp` & Accessibility
Purpose: To understand and apply Android UI Widgets — `ViewBinding`, Material 3 Inputs, `dp` vs `sp` & Accessibility in real Android systems — specifically: Work cleanly with `MaterialButton`, `TextInputEditText`, `CheckBox`, `SwitchMaterial`, and `Toast`/`Snackbar` using generated `ViewBinding` classes and density-independent units, so your code stays reliable, fast, and easy to maintain in production.
LinearLayout & View Hierarchy Performance — Orientation, `layout_weight` & Measure Passes
Purpose: To understand and apply LinearLayout & View Hierarchy Performance — Orientation, `layout_weight` & Measure Passes in real Android systems — specifically: Align child views horizontally or vertically using `android:orientation`, `gravity` vs `layout_gravity`, `0dp` weighted sizing, and understand why nested weights trigger `O(2^N)` double measure passes, so your code stays reliable, fast, and easy to maintain in production.
RecyclerView & `ListAdapter` — `ViewHolder` Pooling, `LayoutManager` & `DiffUtil`
Purpose: To understand and apply RecyclerView & `ListAdapter` — `ViewHolder` Pooling, `LayoutManager` & `DiffUtil` in real Android systems — specifically: How `RecyclerView` inflates only enough `ViewHolder` instances to fill the viewport (+2 prefetch buffer) and computes minimal insert/remove/change patches off the Main Thread via `AsyncListDiffer`, so your code stays reliable, fast, and easy to maintain in production.
TabLayout & `ViewPager2` — `FragmentStateAdapter` & `TabLayoutMediator` Synchronization
Purpose: To understand and apply TabLayout & `ViewPager2` — `FragmentStateAdapter` & `TabLayoutMediator` Synchronization in real Android systems — specifically: Combine Material `TabLayout` with RecyclerView-backed `ViewPager2` (`FragmentStateAdapter`), RTL support, vertical paging, `offscreenPageLimit`, and lifecycle-aware `TabLayoutMediator`, so your code stays reliable, fast, and easy to maintain in production.
SharedPreferences & Jetpack DataStore — `apply()` vs `commit()`, Encrypted Storage & Flow
Purpose: To understand and apply SharedPreferences & Jetpack DataStore — `apply()` vs `commit()`, Encrypted Storage & Flow in real Android systems — specifically: Persist user flags and lightweight tokens safely: why `SharedPreferences.Editor.commit()` causes ANRs on the Main Thread, how `apply()` queues async fsyncs, and why Jetpack `DataStore` (`Flow<Preferences>`) is the modern standard, so your code stays reliable, fast, and easy to maintain in production.
Android SQLite & Room Foundations — `SQLiteOpenHelper`, WAL Mode, Transactions & Migrations
Purpose: To understand and apply Android SQLite & Room Foundations — `SQLiteOpenHelper`, WAL Mode, Transactions & Migrations in real Android systems — specifically: Manage embedded SQLite databases using `SQLiteOpenHelper` (`onCreate`, `onUpgrade`), `ContentValues`, `Cursor.use {}` auto-closing, Write-Ahead Logging (WAL), and compile-time verified Jetpack Room DAOs, so your code stays reliable, fast, and easy to maintain in production.
Android JSON Parsing — `JSONObject` / `JSONArray` (`opt*` vs `get*`) & Kotlin Serialization
Purpose: To understand and apply Android JSON Parsing — `JSONObject` / `JSONArray` (`opt*` vs `get*`) & Kotlin Serialization in real Android systems — specifically: Extract nested objects and arrays safely using `org.json.JSONObject` (`optString`, `optInt`, `isNull`) or modern `kotlinx.serialization` / Moshi with `ignoreUnknownKeys = true`, so your code stays reliable, fast, and easy to maintain in production.
Volley HTTP Networking — Singleton `RequestQueue`, `JsonObjectRequest`, RetryPolicy & HTTPS
Purpose: To understand and apply Volley HTTP Networking — Singleton `RequestQueue`, `JsonObjectRequest`, RetryPolicy & HTTPS in real Android systems — specifically: Fetch remote JSON asynchronously using Volley’s worker pool (`JsonObjectRequest`, `DefaultRetryPolicy`, HTTP cache headers), enforce `INTERNET` permission, and compare Volley with Retrofit + OkHttp, so your code stays reliable, fast, and easy to maintain in production.
Android Services — Started vs Bound Services, Foreground Service Types & `WorkManager`
Purpose: To understand and apply Android Services — Started vs Bound Services, Foreground Service Types & `WorkManager` in real Android systems — specifically: Understand critical Service internals: a `Service` runs on the **Main Thread** by default! Learn `startForegroundService()`, the 5s `startForeground()` rule, Android 14 `foregroundServiceType`, and `WorkManager`, so your code stays reliable, fast, and easy to maintain in production.
BroadcastReceiver & Call State Events — Dynamic Registration, `RECEIVER_NOT_EXPORTED` & `TelephonyCallback`
Purpose: To understand and apply BroadcastReceiver & Call State Events — Dynamic Registration, `RECEIVER_NOT_EXPORTED` & `TelephonyCallback` in real Android systems — specifically: Listen to system and app broadcasts safely: Android 8+ implicit manifest receiver restrictions, `READ_PHONE_STATE` runtime permission, modern `TelephonyCallback` (API 31+), and Android 14 `RECEIVER_NOT_EXPORTED`, so your code stays reliable, fast, and easy to maintain in production.
Android Notifications — `NotificationChannel`, `POST_NOTIFICATIONS` & `FLAG_IMMUTABLE`
Purpose: To understand and apply Android Notifications — `NotificationChannel`, `POST_NOTIFICATIONS` & `FLAG_IMMUTABLE` in real Android systems — specifically: Build rich notifications with `NotificationCompat.Builder`, `NotificationChannel` importance levels (API 26+), Android 13 `POST_NOTIFICATIONS` runtime permission, and Android 12+ `PendingIntent.FLAG_IMMUTABLE`, so your code stays reliable, fast, and easy to maintain in production.
Firebase Authentication & Google Sign-In — `CredentialManager`, SHA-1/SHA-256 & ID Tokens
Purpose: To understand and apply Firebase Authentication & Google Sign-In — `CredentialManager`, SHA-1/SHA-256 & ID Tokens in real Android systems — specifically: Authenticate Android users using Jetpack `CredentialManager` (`GetGoogleIdOption` replacing legacy `GoogleSignInClient`), exchange the Google ID token via `GoogleAuthProvider.getCredential()`, and verify Firebase JWTs on your backend, so your code stays reliable, fast, and easy to maintain in production.
Single-Source-of-Truth Repository (Room Flow + RemoteMediator)
Purpose: To understand and apply Single-Source-of-Truth Repository (Room Flow + RemoteMediator) in real Android systems — specifically: Keep screens usable inside elevators and rural 2G zones with seamless background sync, so your code stays reliable, fast, and easy to maintain in production.
Paging 3 Infinite Lists & Room Auto/Manual Schema Migrations
Purpose: To understand and apply Paging 3 Infinite Lists & Room Auto/Manual Schema Migrations in real Android systems — specifically: Scroll 10,000+ catalog items smoothly and upgrade local SQLite schemas without data loss, so your code stays reliable, fast, and easy to maintain in production.
Guaranteed Background Sync with WorkManager Constraints & Backoff
Purpose: To understand and apply Guaranteed Background Sync with WorkManager Constraints & Backoff in real Android systems — specifically: Queue pending orders/photos reliably until battery and Wi-Fi/network constraints pass, so your code stays reliable, fast, and easy to maintain in production.
DataStore Proto/Preferences & Encrypted Token Persistence
Purpose: To understand and apply DataStore Proto/Preferences & Encrypted Token Persistence in real Android systems — specifically: Replace blocking SharedPreferences with async, corruption-safe Jetpack DataStore, so your code stays reliable, fast, and easy to maintain in production.
Feature/Core Multi-Module Gradle Setup (:app, :core:network, :feature:pay)
Purpose: To understand and apply Feature/Core Multi-Module Gradle Setup (:app, :core:network, :feature:pay) in real Android systems — specifically: Slash incremental Gradle build times and enforce strict layer boundaries, so your code stays reliable, fast, and easy to maintain in production.
Dagger Hilt Scopes (@Singleton, @ViewModelScoped) & TestReplacements
Purpose: To understand and apply Dagger Hilt Scopes (@Singleton, @ViewModelScoped) & TestReplacements in real Android systems — specifically: Inject repositories and clocks cleanly across ViewModels, Workers, and UI tests, so your code stays reliable, fast, and easy to maintain in production.
StateFlow, SharedFlow, repeatOnLifecycle & Unidirectional MVI State
Purpose: To understand and apply StateFlow, SharedFlow, repeatOnLifecycle & Unidirectional MVI State in real Android systems — specifically: Eliminate lifecycle crashes and duplicate snackbar/navigation events on screen rotation, so your code stays reliable, fast, and easy to maintain in production.
Retrofit OkHttp Interceptors, Certificate Pinning & Token Refresh Mutex
Purpose: To understand and apply Retrofit OkHttp Interceptors, Certificate Pinning & Token Refresh Mutex in real Android systems — specifically: Block MITM attacks and refresh expired JWTs once across parallel mobile calls, so your code stays reliable, fast, and easy to maintain in production.
Compose Stability, @Immutable Models, derivedStateOf & Layout Inspector
Purpose: To understand and apply Compose Stability, @Immutable Models, derivedStateOf & Layout Inspector in real Android systems — specifically: Eliminate dropped frames and jank caused by unnecessary recompositions, so your code stays reliable, fast, and easy to maintain in production.
Baseline Profiles & R8/ProGuard Code Shrinking & Obfuscation
Purpose: To understand and apply Baseline Profiles & R8/ProGuard Code Shrinking & Obfuscation in real Android systems — specifically: Boost cold-start speed by 30% and shrink APK/AAB download size dramatically, so your code stays reliable, fast, and easy to maintain in production.
Android Keystore, BiometricPrompt Auth & Play Integrity Checks
Purpose: To understand and apply Android Keystore, BiometricPrompt Auth & Play Integrity Checks in real Android systems — specifically: Protect UPI/wallet confirmations with hardware-backed fingerprint/face verification, so your code stays reliable, fast, and easy to maintain in production.
Firebase Cloud Messaging (FCM) Channels & Compose Deep-Link Navigation
Purpose: To understand and apply Firebase Cloud Messaging (FCM) Channels & Compose Deep-Link Navigation in real Android systems — specifically: Land users on the exact order or chat screen tapped from a lock-screen push alert, so your code stays reliable, fast, and easy to maintain in production.
Unit Testing ViewModels & Flows with kotlinx-coroutines-test & Turbine
Purpose: To understand and apply Unit Testing ViewModels & Flows with kotlinx-coroutines-test & Turbine in real Android systems — specifically: Assert exact Loading -> Success/Error state emissions in milliseconds on JVM, so your code stays reliable, fast, and easy to maintain in production.
ComposeTestRule Semantic UI Tests & Robolectric/Espresso Suites
Purpose: To understand and apply ComposeTestRule Semantic UI Tests & Robolectric/Espresso Suites in real Android systems — specifically: Verify critical login and payment flows automatically on every pull request, so your code stays reliable, fast, and easy to maintain in production.
Firebase Crashlytics Mapping Upload, ANR Diagnostics & StrictMode
Purpose: To understand and apply Firebase Crashlytics Mapping Upload, ANR Diagnostics & StrictMode in real Android systems — specifically: De-obfuscate production stack traces and eliminate main-thread disk/network ANRs, so your code stays reliable, fast, and easy to maintain in production.
Signed Android App Bundles (.aab), Fastlane/GitHub Actions & Staged Rollout
Purpose: To understand and apply Signed Android App Bundles (.aab), Fastlane/GitHub Actions & Staged Rollout in real Android systems — specifically: Ship 5% -> 25% -> 100% Play Store releases safely with instant halt controls, so your code stays reliable, fast, and easy to maintain in production.
Unidirectional Data Flow (UDF), StateFlow UI State & Single-Source-of-Truth Room Sync
Purpose: To understand and apply Unidirectional Data Flow (UDF), StateFlow UI State & Single-Source-of-Truth Room Sync in real Android systems — specifically: Keep Android screens 100% usable on flaky mobile networks with automatic background conflict resolution, so your code stays reliable, fast, and easy to maintain in production.
Jetpack Compose Recomposition Optimization: @Immutable, derivedStateOf & Lazy Keys
Purpose: To understand and apply Jetpack Compose Recomposition Optimization: @Immutable, derivedStateOf & Lazy Keys in real Android systems — specifically: Eliminate dropped frames and jank on long scrolling feeds verified via Layout Inspector, so your code stays reliable, fast, and easy to maintain in production.
Encrypted DataStore/Keystore Credentials, Biometric Prompt & Deep-Link Navigation
Purpose: To understand and apply Encrypted DataStore/Keystore Credentials, Biometric Prompt & Deep-Link Navigation in real Android systems — specifically: Protect user tokens on device hardware and handle notification/web deep links securely, so your code stays reliable, fast, and easy to maintain in production.
Testing Kotlin Coroutines/Flows (Turbine) & Compose UI Semantics Tests
Purpose: To understand and apply Testing Kotlin Coroutines/Flows (Turbine) & Compose UI Semantics Tests in real Android systems — specifically: Verify ViewModel state transitions and Compose screen accessibility deterministically in CI, so your code stays reliable, fast, and easy to maintain in production.
Fixing Memory Leaks (LeakCanary), ANRs, StrictMode & Baseline Profiles
Purpose: To understand and apply Fixing Memory Leaks (LeakCanary), ANRs, StrictMode & Baseline Profiles in real Android systems — specifically: Accelerate cold app startup by 30%+ and eliminate main-thread disk/network stalls, so your code stays reliable, fast, and easy to maintain in production.
R8/ProGuard Shrinking, Play Integrity, Staged Rollouts & Android Interviews
Purpose: To understand and apply R8/ProGuard Shrinking, Play Integrity, Staged Rollouts & Android Interviews in real Android systems — specifically: Ship compact, obfuscated Android App Bundles and ace Kotlin/Android architecture interviews, so your code stays reliable, fast, and easy to maintain in production.
Ready to Master Real Production Code With Working IT Professionals?
Join our 28 Regular Live Skill Courses (From ₹1,999 + GST) or our 6 Weekend-Only 100% Placement-Guaranteed* Programs.