Android Development with Kotlin

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