Android Development with Kotlin

  1. App Components and Lifecycle
    1. Activity
      1. Activity Lifecycle
        1. Lifecycle States
          1. Created
            1. Started
              1. Resumed
                1. Paused
                  1. Stopped
                    1. Destroyed
                    2. Lifecycle Methods
                      1. onCreate
                        1. onStart
                          1. onResume
                            1. onPause
                              1. onStop
                                1. onDestroy
                                  1. onRestart
                                  2. Lifecycle Callbacks Order
                                  3. Activity Launch Modes
                                    1. Standard
                                      1. SingleTop
                                        1. SingleTask
                                          1. SingleInstance
                                          2. Handling Configuration Changes
                                            1. Screen Rotation
                                              1. Resource Reloading
                                                1. Saving and Restoring State
                                                2. Starting Activities and Passing Data
                                                  1. Intents
                                                    1. Explicit Intents
                                                      1. Implicit Intents
                                                      2. Intent Extras and Bundles
                                                        1. Activity Results
                                                          1. startActivityForResult (Deprecated)
                                                            1. Activity Result APIs
                                                          2. Tasks and Back Stack
                                                            1. Task Management
                                                              1. Back Stack Behavior
                                                            2. Fragments
                                                              1. Fragment Lifecycle
                                                                1. Fragment Lifecycle States
                                                                  1. Lifecycle Methods
                                                                    1. onAttach
                                                                      1. onCreate
                                                                        1. onCreateView
                                                                          1. onViewCreated
                                                                            1. onStart
                                                                              1. onResume
                                                                                1. onPause
                                                                                  1. onStop
                                                                                    1. onDestroyView
                                                                                      1. onDestroy
                                                                                        1. onDetach
                                                                                      2. FragmentManager and Transactions
                                                                                        1. Adding Fragments
                                                                                          1. Replacing Fragments
                                                                                            1. Removing Fragments
                                                                                              1. Fragment Transactions
                                                                                                1. Back Stack Management
                                                                                                2. Communicating Between Fragments
                                                                                                  1. Shared ViewModel
                                                                                                    1. Fragment Arguments
                                                                                                      1. Fragment Result API
                                                                                                      2. Fragment Types
                                                                                                        1. Regular Fragments
                                                                                                          1. DialogFragment
                                                                                                            1. ListFragment (Deprecated)
                                                                                                          2. Services
                                                                                                            1. Purpose of Services
                                                                                                              1. Background Work
                                                                                                                1. Long-running Operations
                                                                                                                2. Types of Services
                                                                                                                  1. Started Services
                                                                                                                    1. Service Lifecycle
                                                                                                                      1. IntentService (Deprecated)
                                                                                                                      2. Bound Services
                                                                                                                        1. Binding to Services
                                                                                                                          1. Service Connection
                                                                                                                          2. Foreground Services
                                                                                                                            1. Notification Requirements
                                                                                                                              1. Use Cases
                                                                                                                            2. Service Lifecycle
                                                                                                                              1. onCreate
                                                                                                                                1. onStartCommand
                                                                                                                                  1. onBind
                                                                                                                                    1. onUnbind
                                                                                                                                      1. onDestroy
                                                                                                                                      2. Service Communication
                                                                                                                                        1. Intent-based Communication
                                                                                                                                          1. Binder Interface
                                                                                                                                        2. Broadcast Receivers
                                                                                                                                          1. Purpose and Use Cases
                                                                                                                                            1. Responding to System-Wide Events
                                                                                                                                              1. Inter-app Communication
                                                                                                                                              2. Types of Broadcast Receivers
                                                                                                                                                1. Static Receivers (Manifest-Declared)
                                                                                                                                                  1. Dynamic Receivers (Context-Registered)
                                                                                                                                                  2. Common System Broadcasts
                                                                                                                                                    1. Connectivity Changes
                                                                                                                                                      1. Boot Completed
                                                                                                                                                        1. Battery Status
                                                                                                                                                          1. Screen On/Off
                                                                                                                                                          2. Custom Broadcasts
                                                                                                                                                            1. Sending Custom Broadcasts
                                                                                                                                                              1. Local Broadcasts
                                                                                                                                                              2. Broadcast Receiver Lifecycle
                                                                                                                                                                1. Security Considerations
                                                                                                                                                                  1. Permission-based Broadcasts
                                                                                                                                                                2. Content Providers
                                                                                                                                                                  1. Purpose and Use Cases
                                                                                                                                                                    1. Sharing App Data Securely
                                                                                                                                                                      1. Standardized Data Access
                                                                                                                                                                      2. The ContentResolver
                                                                                                                                                                        1. Querying Data
                                                                                                                                                                          1. Inserting Data
                                                                                                                                                                            1. Updating Data
                                                                                                                                                                              1. Deleting Data
                                                                                                                                                                                1. Content URIs
                                                                                                                                                                                2. Building a Custom Content Provider
                                                                                                                                                                                  1. Extending ContentProvider
                                                                                                                                                                                    1. Defining URIs and MIME Types
                                                                                                                                                                                      1. Implementing CRUD Operations
                                                                                                                                                                                        1. Provider Permissions
                                                                                                                                                                                        2. Common Content Providers
                                                                                                                                                                                          1. Contacts Provider
                                                                                                                                                                                            1. Media Store Provider
                                                                                                                                                                                              1. Calendar Provider