Program

Mobile Development

The Mobile App Development course is designed for Android Developers who would like to advance their career and acquire new skills required for Middle Android Developers. The course students will deal with Application Architecture, testing, app distribution, gain intensive practical experience of working with services and API advanced usage. We recommend the course for Developers with 1+ years of experience in Android Mobile development.

Apply
Start date

June 2025

Duration

4.5 Months

Group size

25 Students

Schedule

Monday at 19:00, Thursday at 19:00

Admission requirements
Expectation

Readiness for intensive training

Language skills

Knowledge of English at least Intermediate level

Requirement

Knowledge of the Koltin programming language Skills with Git Working knowledge of Dagger, RxJava, Android architecture components At least 1 year experience in Android development; Windows personal computer or a laptop

Age

18 years and older

Upon the course completion you will::

Learn how to choose architectural patterns for your application

Apply Dependency Injection (DI) for more comfortable team development and test coverage

Have practical experience of using modern libraries and frameworks (Dagger, RXJava 3)

Acquire skills of working with various methods of data storage

Work with testing frameworks

Program

Mobile Development
26

Number of modules

  • Kotlin introduction
  • Android Studio Setup
  • Working Environment introduction and Running the First Program
  • Opening a Project in Android Studio

  • What is variables

  • Creating a Variable

  • Constant

  • Type casting

  • if Structure
  • When Structure
  • For and While
  • Break - Continue

  • Introduction
  • Nullable Type
  • Functions
  • Overloading
  • Extension, Infix Functions
  • Constructors
  • Package And Import
  • Access Modifiers
  • Data Class
  • Static Variable and Functions
  • Enumerations and Sealed classes
  • Inheritance
  • Inheritance Constructor 
  • Inheritance ( Override )
  • Type Casting of Objects
  • Interfaces

  • ArrayList Usage
  • Set Usage
  • Map Usage

  • ArrayList Usage
  • Set Usage
  • Map Usage

  • Exception Handling
  • Try Catch

  • What is Android development
  • Creating an Android Studio Project
  • Creating and Using the Emulator

  • Design Introduction
  • Linear Layout
  • Making a Design Application
  • Constraint Layout  
  • Multi-Screen Support

  • Activities
  • Services
  • Broadcast receivers

  • Creating a Activity
  • Lifecycles
  • Transition Between Activities
  • Data Transfer Between Activities
  • finish() method
  • What is Fragments?
  • Navigation Component Usage
  • Transition Between Fragments
  • Data Transfer Between Fragments
  • Bottom Navigation Usage
  • Navigation Drawer Usage
  • Application Output

  • TextViews
  • Buttons
  • Checkers
  • Toolbars
  • Toast Usage
  • AlertView Usage
  • SnackBar Usage

  • Material Design Introduction
  • Toolbar Usage
  • Adding Toolbar Options Menu
  • Adding a Toolbar Search Feature
  • RecyclerView and CardView Introduction
  • CardView Design
  • Adding RecyclerView Structure to Android Page
  • Creating Adapter for RecyclerView
  • Showing Data in RecyclerView
  • Notes App first design

  • What is Compose
  • Why we should use Compose for new apps
  • What we need to do for old apps which uses XMLs

  • Basic layouts
  • List and Grids
  • Scaffolds
  • Modifiers
  • Using resources in Compose
  • Practice basic layouts

  • Compose State basics
  • State management and UDF
  • Practice on real project

  • What is a side-effect in Compose?
  • LaunchedEffect and rememberCoroutineScope
  • DisposableEffect
  • SideEffect
  • produceState, derivedStateOf, rememberUpdatedState, snapshotFlow
  • Practice on real project

  • What is a Composition Local?
  • Existing Composition locals
  • Create your own composition locals
  • Practice on real project
  • Animating visibilities
  • Animation states
  • animateXAsState API
  • Practice on real project

  • MVVM Clean Architecture
  • DataBinding Usage
  • ViewModel Usage
  • LiveData Usage
  • Data Layer : Repository + Data Source Usage
  • Notes App - MVVM

  • What is Asyncronous programming?
  • Suspending functions
  • Async/Await
  • Coroutines context
  • Managing cancelling
  • Kotlin Flows

  • Extension Usage
  • Dependency Injection - Dagger Hilt
  • WorkManager Usage
  • Notifications
  • Notes App notifications with Workmanager

  • Preferences Introdution
  • Preference Example
  • Room Database Introduction
  • Room Database - Insert And Select
  • Room Database - Delete And Update
  • Room Database - Select Queries
  • Notes App- Room Database
  • Networking Architecture
  • What is HTTP?
  • HTTP methods (GET, POST, PUT, DELETE)
  • Retrofit 2 Setup
  • Retrofit 2 - Select
  • Retrofit 2 - Insert - Update - Delete 
  • Image loading with Glide
  • Notes App - Retrofit 2

Submitting Project

  • Notifications
  • Firebase
  • Workmanager
  • Advance android resource management
  • Google play training