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
Networking
Networking Fundamentals
HTTP Protocol Basics
REST APIs
JSON Data Format
Network Security
Making Network Requests
Network Permissions
Network Security Configuration
HTTP Client Libraries
Using Retrofit
Introduction to Retrofit
Type-Safe HTTP Client
Benefits over Manual HTTP
Setting Up Retrofit
Dependencies
Retrofit Instance Creation
Defining API Interfaces
HTTP Method Annotations
@GET
@POST
@PUT
@DELETE
@PATCH
URL Manipulation
@Path
@Query
@QueryMap
@Header
@HeaderMap
@Body
@Field
@FieldMap
@Part
@PartMap
Converter Factories
JSON Converters
Gson Converter
Moshi Converter
Jackson Converter
Scalar Converters
Call Adapters
RxJava Adapter
Coroutines Adapter
Handling Network Responses
Response Types
Call<T>
Response<T>
Suspend Functions
Synchronous vs. Asynchronous Calls
Callback Mechanisms
Coroutine Integration
Error Handling
HTTP Error Codes
Network Exceptions
Custom Error Handling
Response Interceptors
Logging Interceptor
Authentication Interceptor
Custom Interceptors
Image Loading
Image Loading Libraries
Coil
Setup and Basic Usage
Image Transformations
Caching
Glide
Setup and Configuration
Loading Images
Transformations
Picasso
Image Caching Strategies
Loading Images in Lists
Caching and Performance
HTTP Caching
Cache Headers
Cache Strategies
Offline Support
Cache-First Strategies
Network-First Strategies
Network Performance Optimization
Request Batching
Connection Pooling
Compression
Previous
9. Concurrency and Background Tasks
Go to top
Next
11. App Architecture