A roadmap for android developers that can guide you from the very basics of the track and help you improve your skills.
First of all, we have to talk about
π Why should you learn Android development?
With a global presence on over 3 billion Android devices, spanning smartphones π±, TVs πΊ, smartwatches β, cars π, and more, Android app development is indispensable for businesses looking to reach 3.6 billion users worldwide.- Basic level
- Intermidate level
- Advanced advanced
π Resources:
choose only one resource (Arabic or english)
Check this
- After Google I/O 2017 where Google announced first-class support for Kotlin on Android, Kotlin has become used by more and more Android developers and now it's used by over 60% of professional Android developers, for that each Android developer must learn it. Learn More
- Hello World
- Functions
- Variables
- Null Safety
- Classes
- Generics
- Inheritance
- When
- Loops
- Ranges
- Equality Checks
- Conditional Expression
- Data Classes
- Enum Classes
- Sealed Classes
- Object Keyword
- Higher-Order Functions
- Lambda Functions
- Extension Functions and Properties
- List
- Set
- Map
- filter
- map
- let
- run
- with
- apply
- also
- here (recommended)
- Check this playlist to video no. 39
- Check this course (Udacity) (recommended) or this playlist
- Classes and Objects: Dive into the fundamentals of creating classes and objects in Kotlin.
- Properties and Fields: Learn how to define properties and fields within classes.
- Constructors: Understand different types of constructors and how to use them.
- Inheritance: Explore inheritance and how to create subclasses.
- Polymorphism: Learn about polymorphism and method overriding in Kotlin.
- Interfaces and Abstract Classes: Study interfaces and abstract classes for defining contracts and shared behavior.
- Encapsulation: Understand the concept of encapsulation and access modifiers.
- Data Classes: Explore data classes for creating simple and immutable classes.
- Check this course
Android Basics: User Interface:
- Check this playlist to video no. 42
Data Binding
Activities:
-
Lifecycle
-
Intents
-
Intent Filters
- in this playlist video no 1 and no 6 only
-
first we will start with Lifecycle
Navigation Components: Watch this playlist from video no 261 to 271
- Learn to navigate between fragments using the Navigation Component.
- Using the Navigation graph
- Navigating between fragments
- Using Drawer layout and Bottom Navigation
- Using safe args
-
Android Components (services - BroadCasts - Content Provider)
-
services
-
BroadCasts
-
Content Provider
Context
Work Manager
-
- this playlist except video no 1 and no 6 this repo Impl(service - receiver -One Time Workmanager and periodic workManager)
-
Implement LiveData for observing and updating UI components.
-
Learn how to make network requests using Retrofit for REST APIs.
-
Introduction to Asynchronous Programming Coroutine Builders
Suspend Functions
Coroutine Dispatchers
Structured Concurrency
Cancellation and Timeouts
Exception Handling
-
Explore how to architect your Android app using the Model-View-ViewModel pattern.
check thisTry to understand how this app has been built: Video Playlist
Article: MVVM Article
-
Implement Room for local data persistence.
Source: Room Playlist
-
Read more about Kotlin Coroutines: Interview Questions
-
Topics:
- Setting up Hilt in Android projects
- Using Hilt for dependency injection
- Scopes and custom components
- Qualifiers and multibindings
- ViewModel injection with Hilt: Video
-
Topics:
- Separation of concerns and clean architecture principles
- Implementing a domain layer with use cases
- Building data and presentation layers
- Applying MVVM pattern with LiveData and ViewModel
- Repository pattern for data access: Video
- Dependency injection with Hilt in clean architecture
-
YouTube Playlists:
Additional Resource:
-
Topics:
- Single Responsibility Principle (SRP)
- Open-Closed Principle (OCP)
- Liskov Substitution Principle (LSP)
- Interface Segregation Principle (ISP)
- Dependency Inversion Principle (DIP)
- SOLID Principles Playlisthttps://developer.android.com/training/data-storage/room/migrating-db-versions
-
Topics:
- db migration
- Introduction to Jetpack Compose
- Building UI components with Compose
- Navigation in Compose apps
- Theming and styling with Compose
- State management with Compose
- Testing Compose UIs
- Migrating from XML-based UI to Jetpack Compose
Youtube Playlist:
Youtube Playlist:
Youtube Playlist:
Youtube Playlist:
Youtube Playlist:
Youtube Playlist:
Android dev :
Topics:
Youtube Playlist:
- Me
- Shehab Mohammed
- Bassam Yassin
|
|
|
|
|
|
official Docs:
Arabic:
English:
Understanding OOP Principles:
Apply with kotlin :