Useful Links
Computer Science
Programming
By Language
Android Development with Kotlin
1. Introduction to Android and Kotlin
2. Kotlin Language Fundamentals
3. Your First Android Application
4. Android UI Fundamentals
5. Jetpack Compose: The Modern UI Toolkit
6. App Components and Lifecycle
7. App Navigation
8. Data Storage and Persistence
9. Concurrency and Background Tasks
10. Networking
11. App Architecture
12. Advanced Android Topics
13. Testing and Debugging
14. Publishing Your App
Concurrency and Background Tasks
Android Threading Model
The Main Thread (UI Thread)
UI Thread Constraints
ANR (Application Not Responding)
Background Threads
Worker Threads
Thread Safety
Traditional Threading Approaches
Thread and Runnable
Handler and Looper
AsyncTask (Deprecated)
Executor Framework
Kotlin Coroutines on Android
Coroutines Fundamentals
Suspending Functions
Coroutine Builders
Coroutine Scopes
CoroutineScope Interface
viewModelScope
lifecycleScope
GlobalScope (Avoiding)
Custom Scopes
Dispatchers
Main Dispatcher
IO Dispatcher
Default Dispatcher
Unconfined Dispatcher
Launching Coroutines
launch Builder
async Builder
runBlocking
withContext
Structured Concurrency
Parent-Child Relationships
Cancellation
Exception Handling
Flow
Cold Streams
Flow Builders
Flow Operators
Collecting Flows
StateFlow and SharedFlow
WorkManager
Introduction to WorkManager
Use Cases
Guaranteed Execution
Types of Work
One-Time Work
Periodic Work
Defining Workers
Worker Class
CoroutineWorker
ListenableWorker
Work Requests
OneTimeWorkRequest
PeriodicWorkRequest
Constraints
Network Connectivity
Charging State
Battery Level
Device Idle
Storage Space
Work Chaining
Sequential Work
Parallel Work
Work Continuations
Input and Output Data
Passing Data to Workers
Returning Results
Work States and Observing Work
Work States
Observing Work Progress
Advanced WorkManager Features
Unique Work
Work Policies
Expedited Work
Background Processing Best Practices
Choosing the Right Approach
Battery Optimization
Doze Mode and App Standby
Background Execution Limits
Previous
8. Data Storage and Persistence
Go to top
Next
10. Networking