Kotlin for Python Developers: Android App Development with Jetpack Compose
A concise course bridging Python expertise to Kotlin, enabling Python developers to build native Android applications using Jetpack Compose.
...
Share
Kotlin Fundamentals for Pythonistas
Unit 1: Setting Up Your Kotlin Environment
Android Studio Intro
New Kotlin Project
Project Structure
Gradle Deep Dive
Unit 2: Kotlin Syntax and Data Types
Kotlin vs. Python
Variable Declaration
Basic Data Types
String Interpolation
Unit 3: Control Flow and Collections
If-Else Statements
When Expressions
For and While Loops
Lists and Maps
List Comprehensions
Unit 4: Object-Oriented Programming
Classes and Objects
Inheritance
From Python Functions to Kotlin Functions
Unit 1: Kotlin Function Fundamentals
Kotlin Function Basics
Parameters & Arguments
Return Types Demystified
Single-Expression Funct.
Function Overloading
Unit 2: Lambdas and Anonymous Functions
Lambda Expressions Intro
Anonymous Functions
Lambdas with Receiver
Closures in Kotlin
Inline Functions
Unit 3: Higher-Order Functions and Standard Library
Higher-Order Functions
Function Types
String Manipulation
Data Processing
Scope Functions
Building Android UI with Jetpack Compose
Unit 1: Compose Fundamentals
Compose: A New Paradigm
Setting Up Compose
Your First composable
Modifiers: The Basics
Compose vs. XML Layouts
Unit 2: Basic UI Elements
Text in Compose
Images in Compose
Buttons in Compose
Input Fields in Compose
Unit 3: Compose Layouts
Columns in Compose
Rows in Compose
Boxes in Compose
ConstraintLayout in Compose
Lists in Compose
Unit 4: State Management
State in Compose
mutableState
`remember` to Persist State
Asynchronous Programming with Kotlin Coroutines
Unit 1: Introduction to Kotlin Coroutines
Async Like a Pro
What are Coroutines?
Coroutines: Under the Hood
Your First Coroutine
Coroutines vs Threads
Unit 2: Coroutine Builders and Lifecycle
Launch It!
Async Await
Coroutine Scope
Job Management
Structured Concurrency
Unit 3: Suspend Functions and Exception Handling
Suspend Magic
Long Running Tasks
Exception Handling
Cancellation is Key
Data Persistence and Management
Unit 1: Shared Preferences: Simple Data Storage
Shared Preferences Intro
Writing to Preferences
Reading from Preferences
Removing Preferences
Best Practices
Unit 2: Room Database: Setting Up Local Storage
Room DB Intro
Defining Entities
Creating DAOs
Database Instance
Unit 3: CRUD Operations with Room and Coroutines
Inserting Data
Reading Data
Updating Data
Deleting Data
Data Modeling
Navigation and User Interaction
Unit 1: Navigation Component Fundamentals
Nav Component Intro
Creating a Nav Graph
NavController Deep Dive
Adding a NavHost
Simple Navigation Example
Unit 2: Advanced Navigation Techniques
Passing Data
Deep Linking
Navigation Drawer
Bottom Navigation
Conditional Navigation
Unit 3: User Input and Null Safety
Button Clicks in Compose
Text Input Fields
Other Input Events
Kotlin's Null Safety
Null Safety in Practice