Easy Learning with Android Kotlin Development: From Zero to Hero [Arabic]
Development > Mobile Development
31 h
£39.99 £12.99
4.1
12591 students

Enroll Now

Language: Arabic

Android Kotlin Development Mastery: Build Professional Apps (Arabic)

What you will learn:

  • Professional Android app development
  • Mastery of Android design principles and Kotlin
  • Writing clean, efficient Kotlin code
  • Integrating external libraries and maps
  • Building internet-connected applications
  • Becoming a proficient Android developer
  • Mastering Jetpack Compose for modern UI development

Description

Transform your Android development skills from beginner to expert with this comprehensive Arabic course. Even without prior programming knowledge, you'll learn to build robust, professional-grade Android applications.

We'll start by exploring the Android app development landscape, its market demand, and career opportunities. The curriculum covers all the essentials, building upon each lesson to create a solid foundation.

You'll gain mastery over:

  • Core Android concepts and principles
  • Efficient app architecture and management techniques
  • Thorough testing methodologies
  • Clean, reusable, and maintainable code practices
  • Leveraging advanced libraries and external tools
  • Building apps with internet connectivity
  • Integrating cutting-edge technologies like Jetpack Compose
  • Working with maps, cameras, and other key functionalities

Through hands-on projects, you'll create complete applications, putting your knowledge into practice. We'll provide practical advice to help you launch your career as a successful Android developer. This course is your pathway to building professional Android apps and achieving your career goals.

Note: Prior Kotlin experience is beneficial but not required.

Curriculum

Introduction

This introductory section sets the stage for your Android development journey. You'll get acquainted with the course overview (Introduction), receive valuable advice for success (My advice to you!), and learn how to access all project files via the course's GitHub repository (All Projects on GitHub Repo).

What's Android?

Gain a fundamental understanding of the Android operating system itself. Learn about its architecture (What's Android?, Platform Architecture), API levels (API levels), and core app components (App Components) that form the building blocks of any Android app.

Android Fundamentals

Dive deep into the core concepts of Android development. You'll set up your Android Studio environment (Install Android Studio), build your first project (Create First Project), and learn to use emulators and real devices (Emulator android studio and real device). This section covers essential tools and concepts like the Gradle build system (Gradle build system), project structure (Project Structure), and the structure of the main activity (Main Activity). You'll master XML coding (XML Code), different layout types including ConstraintLayout, LinearLayout, TableLayout, RelativeLayout, and FrameLayout (id & Layouts [ConstraintLayout] - Part 1, Layouts [LinearLayout] - Part 2, Layouts [TableLayout] - Part 3, Layouts [RelativeLayout] - Part 4, Layouts [FrameLayout] - Part 5, Layouts - Part 6, Layouts - Part 7), spacing techniques (Spacing [margin, padding]), units and sizes (Unit and sizes dp, sp, px), managing values and resources (Values folder), translating your app (Translate your app [AR]), and using various drawable resources (Drawables in android, Vectors Svg, Shapes, Selector). You'll work with various UI components like RadioGroup and RadioButton (More Views & RadioGroup & RadioButton), ScrollView (ScrollView), and Motion Layout (Motion Layout, Motion Layout more attribiutes, Key frames motion layout). Learn to add external libraries (Add & Use external library), create and manage multiple activities (Create New Activity, Multi Activity [Intent]), passing data between them (Pass data between activites [putExtra]), understanding the activity backstack (Activity backstack), managing the activity lifecycle (Activity Lifecycle), and using implicit intents for common actions like making phone calls (Implicit Intent, Make a phone call). You'll explore fragments (Fragments, Change Fragment From Code, Fragment add, replace and remove, Fragments lifecycle, view binding with fragment), and UI elements like the CollapsingToolbar (Collapsing Toolbar), Spinner (Spinner [Drop Down List]), and loading images using external libraries (Load Image using Libraries).

Material Design

This section focuses on implementing Google's Material Design guidelines for creating visually appealing and consistent user interfaces. You will cover components such as Floating Action Buttons (FAB) (Intro To Material Design, [FAB]Floating Action Button), CardViews (CardView), Text Fields (Text fields), Chips (Chips), Bottom Navigation (Bottom Navigation), Alert Dialogs (AlertDialog), Menus (Menus), Tab Layouts (Tabs Layout), and Navigation Drawers (Navigation Drawer).

ListView & RecyclerView

Learn how to efficiently display lists of data within your Android apps using ListViews and RecyclerViews, providing in-depth explanations of both (RecyclerView & Template, ListView).

Data Storage

Understand different methods for storing app data, including Shared Preferences (Android Storage, Shared Preferences), internal and external storage (Internal & External Storage), and the crucial aspect of permissions (Permissions).

SQLite In Android

Master SQLite, a powerful database system integrated into Android. You'll learn to create tables, insert data (Intro to SQLite, Create table and insert data), and efficiently retrieve data (Read Data from Table).

App Component

Explore advanced Android components, including Content Providers for data sharing (Content provider, URI, Read sms using content provider), Services for background tasks (Services, Background service, Foreground Service), and Broadcast Receivers for reacting to system events (Broadcast Receiver).

APIs

This section focuses on interacting with external services using APIs. You'll cover RESTful APIs (API & RESTFul API), using Postman (Postman API), understanding HTTP requests (Request and Response, HTTP request methods), making API requests (Make a request), using the OKHTTP library (OKHTTP library), and handling query parameters (Qyery Parameter in OKHTTP).

RXJava

Learn Reactive Programming with RXJava, covering fundamental concepts (Intro To RX Java, The 3 O's of RX Java), installation (Install RXJava), basic usage (RX Java first app), lambda expressions (Use Lambda with Observable), various operators (RX Java from operator, RX Java Repeat and Range operators, RX Java intervals, RX Java take operator, RX Java Timer operator, RX Java Distinct operator, RX Java Buffer operator, RX Java map operator, RX Java Concat operator, RX Java Merge operator), schedulers (Schedulers of RX Java), disposables (Disposable in RX Java), and different observable types (Observables and Observers in RX Java, RX Java Single, RX Java Completable, RX Java Maybe, RX Java Flowable, RX Java convert observable to flowable), cold and hot observables (Cold Observables RX Java, Convert Cold to Hot observable in RX Java), subjects (RX Java Subject, RX Java PublishSubject).

Kotlin Coroutines

Master Kotlin Coroutines for concurrent programming. Topics include suspend functions (Intro Kotlin Coroutines, Suspend function), coroutine builders (Coroutines builders), context switching (Coroutines context switching), lifecycle scopes (Coroutine lifecycle scope, Coroutines custom scope), job management (Coroutines job & multiple job, Coroutines join jobs), async/await (Coroutines async, await, deferred), structured concurrency (Coroutines structured concerncy), exception handling (Handling exceptions in Coroutines), Kotlin Flows (Kotlin Flows, flow intermediate operators, Handling errors in kotlin flow, casting to flow, Buffer with kotlin flow).

Architecture Patterns

Explore different architectural patterns for structuring your Android apps, including MVC, MVP, Repository Pattern, and MVVM (Architecture Patterns, MVC, MVP, Repository pattern, MVVM, DataBinding With MVVM).

Data Binding

Learn to use Data Binding for simplifying UI updates and enhancing your app's efficiency, covering two-way data binding (Two Way Data Binding), binding adapters (Binding Adapters), and importing classes (Import class to data binding).

Design Patterns in Android

Explore design patterns to improve your code's structure and maintainability, including Creational patterns like Singleton, Builder, and Factory (Introduction To Design Patterns, Creational Patterns - Singleton Pattern, Design Patterns Creational Patterns - Builder Pattern, Design Patterns Creational Patterns - Factory Pattern).

REST APIs - Retrofit

Learn to effectively interact with REST APIs using the Retrofit library, covering setup (Retrofit Concept, Setup Retrofit), integration with RXJava and Coroutines (Retrofit with RX Java, Retrofit with coroutine), repository integration (move api service to repository), response handling (Retrofit Response), Kotlin Flow integration (Retrofit with Kotlin Flow), UI state management (Ui State with sealed class), state binding adapters (state binding adapters), and error handling (Handle Retrofit with coroutines errors).

Android Jetpack Navigation component

Master the Jetpack Navigation Component for managing navigation within your apps. You will learn about adding navigation (Jetpack Navigation Compnent, Add Navigation to your android project), navigation actions (Navigate using android navigation component, Navigation back action, Navigation pop behavior), action bar integration (Integrate action bar with navigation controller), animations (Navigation animation in Android), SafeArgs (SafeArgs with Jetpack Navigation component), and Bottom Navigation integration (Bottom Navigation with Jetpack Navigation component).

Room Database

Use the Room Persistence Library for efficient database management. You will learn about creating a database schema (Room Introduction, Create Database Schema), inserting data (Insert Data), reading data (Read Data), updating data (Update Data), and deleting data (Delete Data).

Firebase

Learn to integrate Firebase for authentication, covering email authentication (Firebase Authentication With Email) and Google account authentication (Firebase Authentication With Google Account).

Google Maps

Learn to integrate Google Maps into your apps (implement Google Maps in your Android App).

Google AdMob

Integrate Google AdMob for monetizing your Android applications (Admob Banner & Interstitial).

Git & GitHub

This section provides a practical introduction to Git and GitHub for version control (Git&GitHub).

JetPack Compose

This comprehensive section covers Jetpack Compose, Google's modern toolkit for building native UI. You will cover the basics (Intro To JetPack Compose), building UI elements such as login and registration screens (Simple Ui - Login - Register - JetPack Compose), lists (List With JetPack Compose), grids (Grid With JetPack Compose), bottom navigation (BottomNavigation), alert dialogs (AlertDialog), circular progress bars (Circular Progress Bar With JetPack Compose), splash screens (SplashScreenAnimation With JetPack Compose), shimmer effects (Shimmer Effect Animation With JetPack Compose), video playback with ExoPlayer (Exo Player Video With JetPack Compose), Material Components (Material Components With JetPack Compose), grid with shimmer effects (Grid with Shimmer Effect Animation With JetPack Compose), image picking from gallery (Pick Image from Gallery With JetPack Compose), spinners and date/time pickers (Spinner & Datetime With JetPack Compose), and creating foreground service notifications (Foreground Service Notification Android With JetPack Compose).