Skip to content
Android Development Career Bootcamp: Java, Kotlin, Compose & Real Apps cover image

Android Development Career Bootcamp: Java, Kotlin, Compose & Real Apps
Oak Academy

Become a job-ready Android Developer fast — master Kotlin, Jetpack & Java and build real apps from day one.

Summary

Price
£999 inc VAT
Or £83.25/mo. for 12 months...
Study method
Online, On Demand
Duration
116.5 hours · Self-paced
Qualification
No formal qualification
Certificates
  • Reed Courses Certificate of Completion - Free
Additional info
  • Tutor is available to students

Add to basket or enquire

Buy with Apple Pay
Buy with Google Pay

Overview

Android development is one of the most in-demand and fastest-growing tech skills in the world. Companies across every industry need developers who understand how to build modern, secure and high-quality mobile applications. This comprehensive training programme is designed to help you gain those skills using the three essential technologies of today’s Android ecosystem: Java, Kotlin, and Jetpack Compose.

Whether you're completely new to programming or already have some experience, this course gives you a complete learning path from the fundamentals all the way to building polished, ready-to-publish mobile applications. You will learn every major component of Android development, including app architecture, UI design, user interactions, navigation, room databases, notifications, permission handling, device features, Firebase authentication, storage, real-time database, cloud messaging, REST APIs, Retrofit, and much more.

The training is built around real-world, hands-on projects. You will create functional applications such as a Calculator App, Weather App, Flag Quiz Game, Photo Album App, Chat Application, To-Do List, Firebase Login App, Quiz Game, and many other mini-projects. By the end of the programme, you will have a strong portfolio of applications that demonstrate practical Android development capability.

You will learn modern Android programming with Kotlin, the official language recommended by Google for Android apps. This includes functions, OOP, classes, interfaces, data classes, sealed classes, extension functions, lambdas, coroutines, flows and Jetpack-based architecture. You will also learn traditional Android development with Java, ensuring that you are fully equipped to work on existing codebases, enterprise apps or maintenance roles that still rely on Java.

In addition, you will master the future-focused UI toolkit Jetpack Compose, which simplifies UI development with composable functions, real-time previews, state management, navigation, reusable components, lists, animations and more.

The course is structured so beginners can follow easily, but it also provides enough depth for learners who want to move toward professional roles. Each module includes step-by-step explanations, real coding exercises, quizzes and practical demonstrations.

By completing this programme, you will gain the confidence to build Android apps from scratch, understand how professional Android developers structure applications, and prepare yourself for freelance opportunities, junior developer roles, internships, or simply improving your technical ability for personal and professional growth.

This is not just a tutorial series — it is a complete Android Career Preparation Programme, designed to make you practically skilled, technically capable and job-ready.

Certificates

Reed Courses Certificate of Completion

Digital certificate - Included

Will be downloadable when all lectures have been completed.

Curriculum

81
sections
727
lectures
117h
total
    • 1: What Will You Learn In This Kotlin Android Course 06:00
    • 2: Kotlin Overview 04:02
    • 3: Some Information about Android Ecosystem 02:20
    • 4: Basic Programming Terms for Android App Developments 02:35
    • 5: Project Files: Android App Development 01:00
    • 6: Documents: Android App Development with Kotlin 01:00
    • 7: FAQ About Android App Development with Kotlin 04:00
    • 8: Quiz 02:00
    • 9: Installing Java on Windows 08:32
    • 10: Installing Java on Mac 03:17
    • 11: Installing Android Studio - Part 1 07:03
    • 12: Installing Android Studio - Part 2 04:52
    • 13: Creating New Project - Kotlin 06:43
    • 14: Android Studio Interface - Kotlin 20:00
    • 15: Quiz 01:00
    • 16: First Kotlin Program 15:08
    • 17: Variables in Kotlin 12:14
    • 18: Data Types in Android Kotlin 08:32
    • 19: Type Conversions in Kotlin_1 08:54
    • 20: String Data Types in Kotlin 13:45
    • 21: Arrays in android app (kotlin) 14:31
    • 22: ArrayList in Kotlin Android 14:36
    • 23: Set in Kotlin Android 05:24
    • 24: Map in Kotlin Android 09:41
    • 25: Quiz 02:00
    • 26: Arithmetic Operators in Kotlin Android 04:49
    • 27: Assignment Operators in Kotlin Android 05:21
    • 28: Unary Operators in Kotlin Android 06:19
    • 29: Equality and Relational Operators in kotlin 05:09
    • 30: Conditional Operators in kotlin 04:39
    • 31: Operator Precedence in Kotlin 05:03
    • 32: The “rangeTo()” Function and “in” operator 06:07
    • 33: Console Input in Android App development 08:47
    • 34: Quiz 02:00
    • 35: If-Else Statement 06:56
    • 36: If-Else - If Ladder Statement, Nested If Statement 09:13
    • 37: Kotlin When Statement 06:56
    • 38: Quiz 02:00
    • 39: Kotlin For and For Each Loops 16:29
    • 40: Kotlin While and Infinite Loop 14:11
    • 41: Kotlin Do-While Loop 02:52
    • 42: Quiz 02:00
    • 43: Kotlin Functions 05:54
    • 44: Types of Functions in Android App Development 18:22
    • 45: Quiz 02:00
    • 46: Object and Class in Kotlin 05:49
    • 47: Access (Visibility) Modifiers in OOP 03:04
    • 48: Naming Convention in OOP 02:37
    • 49: Constructor - Part 1 in OOP 14:27
    • 50: Constructor - Part 2 in OOP 15:32
    • 51: Encapsulation in OOP 04:46
    • 52: Inheritance in OOP 10:05
    • 53: Function Overriding in object oriented programming 11:54
    • 54: Abstract Classes in OOP 11:48
    • 55: Interfaces in OOP 10:18
    • 56: Quiz 01:00
    • 57: Installing Android Virtual Device (AVD - Emulator) 19:10
    • 58: Installing Genymotion Emulator (Optional) 11:02
    • 59: General Information About Gradle Build System 12:16
    • 60: Introduction to Manifest File in android app development 08:09
    • 61: Introduction to resources (Strings, Drawables etc) 14:01
    • 62: Quiz 02:00
    • 63: Layouts 19:40
    • 64: Constraint Layout 13:07
    • 65: Textviews in Android App Development 25:08
    • 66: Buttons in Android 18:52
    • 67: Edittexts Android app 15:07
    • 68: ImageView in Android 09:43
    • 69: CheckBox in Android 12:39
    • 70: Radio Buttons in Android App Development 17:15
    • 71: Toggle Buttons in Android 11:03
    • 72: Spinner in Android App Development 15:45
    • 73: Creating TopAppBar (Toolbar - Action Bar) - Kotlin 19:02
    • 74: Quiz 01:00
    • 75: Toast Messages in Android App Development 07:10
    • 76: Snackbar Messages in Android App Development 08:16
    • 77: Dialog Messages 15:05
    • 78: Quiz 01:00
    • 79: ListView in Android App Development 12:53
    • 80: Recycler View - Part 1 22:43
    • 81: Recycler View - Part 2 in Android App Development 28:41
    • 82: GridView in android kotlin 20:58
    • 83: Scroll View in kotlin android 05:15
    • 84: WebView in android app development 09:42
    • 85: Quiz 01:00
    • 86: Intent in Android App Development 20:43
    • 87: Application Lifecycle in Android App Development 16:00
    • 88: Activity Lifecycle 14:07
    • 89: Fragment Lifecycle in Android App Development 15:50
    • 90: Services in Android 33:30
    • 91: Receivers in Android App Development 23:10
    • 92: Android View Binding 11:26
    • 93: Quiz 01:00
    • 94: SharedPreferences Class in Android App Development 04:42
    • 95: Saving Data Local Memory in Android App Development 18:19
    • 96: Calling Back Data in Android App Development 06:54
    • 97: Quiz 02:00
    • 98: Multiple Language Support in android development 15:14
    • 99: Supporting Different Pixel Densities in Android App Development 19:46
    • 100: Support Different Screen Sizes in Android App Development 16:16
    • 101: Quiz 03:00
    • 102: To Do List in Android App Development 34:26
    • 103: APK Release Version 03:45
    • 104: Building APK and AAB Files 06:42
    • 105: Google Play Developer Account 06:27
    • 106: Publishing App on Google Play 18:39
    • 107: Quiz 02:00
    • 108: Math Game - Part 1 in Android App Development 07:13
    • 109: Math Game - Part 2 in Android App Development 10:05
    • 110: Math Game - Part 3 in Android App Development 13:56
    • 111: Math Game - Part 4 in Android App Development 17:56
    • 112: Math Game - Part 5 in Android App Development 15:04
    • 113: Math Game - Part 6 in Android App Development 19:26
    • 114: Quiz 01:00
    • 115: Introduction to Calculator App 04:23
    • 116: Application Design - Part 1 17:11
    • 117: Application Design - Part 2 12:12
    • 118: Application Design - Part 3 08:04
    • 119: Printing Numbers to the Screen 08:17
    • 120: Creating Calculation Functions 05:57
    • 121: Performing Calculation 08:10
    • 122: Deleting Data on the Screen 08:18
    • 123: Showing Calculation Steps 05:03
    • 124: Fixing Errors - Part 1 07:18
    • 125: Fixing Errors - Part 2 07:32
    • 126: Applying Dark Theme 23:01
    • 127: Saving All Data 13:51
    • 128: Quiz 01:00
    • 129: Introduction to Fragment Topic in Android App Development, Kotlin 01:34
    • 130: General Information About Fragments 06:27
    • 131: Fragment Creation in Android App Development, Kotlin 08:55
    • 132: Replacing the Fragment in the Activity with Another Fragment 12:34
    • 133: Fragment Backstack Part 1 in Android App Development 07:19
    • 134: Fragment Backstack Part 2 in Android App Development 03:28
    • 135: List Fragment Part 1 in Android App Development 13:51
    • 136: List Fragment Part 2 in Android App Development 08:29
    • 137: List Fragment Part 3 in Android App Development 06:39
    • 138: Dialog Fragment Part 1 12:48
    • 139: Dialog Fragment Part 2 10:36
    • 140: Quiz 02:00
    • 141: Sending Data from Activity to Activity Part 1 19:16
    • 142: Sending Data from Activity to Activity Part 2 in Kotlin, android app develo 08:04
    • 143: Sending Data from Activity to Fragment Part 1 in Kotlin 17:49
    • 144: Sending Data from Activity to Fragment Part 2 in Android App 05:01
    • 145: Sending Data from Fragment to Activity Part 1 in Android App 12:31
    • 146: Sending Data from Fragment to Activity Part 2 in android app development, k 08:54
    • 147: Sending Data Between Fragments in android app development, kotlin 15:45
    • 148: Quiz 01:00
    • 149: Introduction to Flag Quiz App 04:24
    • 150: Splash Screen 14:05
    • 151: Home Page Design 11:48
    • 152: Quiz Page Design 16:07
    • 153: Result Page Design 09:23
    • 154: Creating Navigation Graph 15:27
    • 155: Creating Database 07:53
    • 156: Adding Database to App 15:51
    • 157: Database Operations - Creating DAO - Part 1 11:58
    • 158: Database Operations - Creating DAO - Part 2 03:30
    • 159: Getting Data From the Database 09:53
    • 160: Showig Data - Part 1 07:27
    • 161: Showing Data - Part 2 04:46
    • 162: Control of the Correct and Wrong Answers 09:28
    • 163: Control of the Empty Answers 10:13
    • 164: Displaying the Results on the Chart 13:34
    • 165: Quiz 02:00
    • 166: Sending an SMS Message 24:41
    • 167: Sending E-Mail 20:37
    • 168: Making a Call 16:47
    • 169: Converting Speech to Text 17:03
    • 170: Quiz 01:00
    • 171: Introduction to Notification 02:17
    • 172: Local Notification 23:00
    • 173: Repeated Notifications Part 1 08:29
    • 174: Repeated Notifications Part 2 18:01
    • 175: Notification Procedures Part 1 09:56
    • 176: Notification Procedures Part 2 16:07
    • 177: Notification Procedures Part 3 08:14
    • 178: Push Notification 06:13
    • 179: Quiz 01:00
    • 180: What is the Database 03:45
    • 181: SQLite Database 03:09
    • 182: Room Database 03:16
    • 183: Architectural Components 03:40
    • 184: Project File 01:00
    • 185: Introducing Note-Taking Application with Kotlin 05:17
    • 186: Creating New Projects and Adding Required Libraries 06:16
    • 187: Creating Entity 09:04
    • 188: Creating Dao 11:13
    • 189: Creating Database 09:01
    • 190: Creating Repository 15:34
    • 191: Creating View Model 14:22
    • 192: User Interface Design 06:36
    • 193: Adapter Class - Showing Data in the Database in RecyclerView 14:07
    • 194: Adding New Data to the Database - Part 1 16:33
    • 195: Adding New Data to the Database - Part 2 16:24
    • 196: Deleting Data From Database 10:23
    • 197: Updating the Data in the Database - Part 1 16:48
    • 198: Updating the Data in the Database - Part 2 10:15
    • 199: Quiz 02:00
    • 200: Introduction to Photo Album App 03:36
    • 201: Adding Necessary Libraries 08:43
    • 202: Creating Entity 04:12
    • 203: Creating DAO 06:00
    • 204: Creating Database Class 07:30
    • 205: Creating Repository 04:15
    • 206: Creating ViewModel 09:45
    • 207: Application Design - Part 1 11:12
    • 208: Application Design - Part 2 09:51
    • 209: Application Design - Part 3 04:21
    • 210: Creating the Adapter Class 14:02
    • 211: Request Permission 12:17
    • 212: Selecting Image 06:53
    • 213: Converting Image to String 09:08
    • 214: Saving Data 08:36
    • 215: Deleting Selected Item 06:55
    • 216: Updating Data - Part 1 10:43
    • 217: Updating Data - Part 2 09:06
    • 218: Quiz 01:00
    • 219: Introduction to Firebase 06:52
    • 220: Project File Link; Firebase Android 01:00
    • 221: Products Offered by Firebase 12:45
    • 222: FAQ about Firebase, Andoid App Development, Kotlin 05:00
    • 223: Firebase Pricing Policy, Limits and Quotas 14:40
    • 224: Quiz 01:00
    • 225: Creating a Firebase Database 07:21
    • 226: Firebase – Android Studio Integration 14:15
    • 227: Adding Real-time Data to The Database via Firebase Console 07:10
    • 228: Adding Data into Real-Time Database via Android App 07:17
    • 229: Retrieving Real-Time Data From Database to Application 09:06
    • 230: Quiz 01:00
    • 231: Introduction to Project 07:46
    • 232: The Application Design - Part 1 07:53
    • 233: The Application Design - Part 2 09:29
    • 234: Adding User to the Realtime Database 13:28
    • 235: Retrieving Data From the Firebase Realtime Database 08:39
    • 236: Showing Retrieved Data on the RcyclerView - Part 1 09:59
    • 237: Showing Retrieved Data on the RcyclerView - Part 2 07:21
    • 238: User Registration App - Updating Data - Part 1 06:44
    • 239: User Registration App - Updating Data - Part 2 08:28
    • 240: User Registration App - Deleting Selected User 07:53
    • 241: User Registration App - Deleting All Users from Database 10:09
    • 242: Quiz 02:00
    • 243: Introduction to Authentication 02:55
    • 244: Email and Password Authentication - Part 1 14:57
    • 245: Email and Password Authentication - Part 2 11:25
    • 246: Email and Password Authentication - Part 3 06:41
    • 247: User Remembering with Firebase 11:02
    • 248: 176. Adding Forgot Password Option 13:09
    • 249: Authentication with Phone - Part 1 08:42
    • 250: Authentication with Phone - Part 2 16:03
    • 251: Quiz 01:00
    • 252: Sending Push Notification with Firebase 16:16
    • 253: Quiz 01:00
    • 254: Introduction to Cloud Storage 12:23
    • 255: Cloud Storage - Part 2 17:48
    • 256: Saving the selected image to Cloud Storage 15:28
    • 257: Showing the Image saved to Cloud Storage in Recycler View 07:18
    • 258: Updating the Image saved to Cloud Storage - Part 2 09:41
    • 259: Deleting an Image We Added to Cloud Storage 07:04
    • 260: Deleting All Images We Added to Cloud Storage at Once 10:14
    • 261: Quiz 01:00
    • 262: Introduction to Retrofit Library 08:54
    • 263: Getting Data from Rest Api Using Retrofit Library Part 1 13:39
    • 264: Getting Data from Rest Api Using Retrofit Library Part 2 16:22
    • 265: Getting Data from Rest Api Using Retrofit Library Part 3 07:44
    • 266: Showing Data Retrieved from Rest Api in RecyclerView Part 1 15:02
    • 267: Showing Data Retrieved from Rest Api in RecyclerView Part 2 05:41
    • 268: Quiz 02:00
    • 269: Introduction to Quiz Game App 05:43
    • 270: Splash Screen Part 1 07:36
    • 271: Splash Screen Part 2 13:55
    • 272: Login Page Design Part 1 15:02
    • 273: Login Page Design Part 2 13:43
    • 274: Sign Up Page - Part 1 08:06
    • 275: Sign Up Page - Part 2 06:09
    • 276: Integration with Firebase 09:38
    • 277: Creating an Account with Email and Password 09:03
    • 278: Sign In With Firebase - Part 1 06:28
    • 279: Sign In With Firebase - Part 2 05:54
    • 280: Adding the Forgot Password Option - Part 1 06:25
    • 281: Adding the Forgot Password Option - Part 2 06:51
    • 282: Sign In with Google Account - Part 1 13:14
    • 283: Sign In with Google Account - Part 2 09:45
    • 284: Homepage Design 11:22
    • 285: Questions Page Design - Part 1 11:05
    • 286: Questions Page Design - Part 2 04:13
    • 287: Creating the Database 10:24
    • 288: Showing Questions in App - Part 1 07:59
    • 289: Showing Questions in App - Part 2 14:15
    • 290: Getting User's Answers - Part 1 10:02
    • 291: Getting User's Answers - Part 2 04:31
    • 292: Creating a Timer - Part 1 10:02
    • 293: Creating a Timer - Part 2 06:58
    • 294: Saving User's Score to the Database 10:46
    • 295: Creating Dialog Message 07:35
    • 296: Preparing the Results - Page Part 1 09:47
    • 297: Preparing the Results - Page Part 2 05:46
    • 298: Showing a Certain of Questions to the User 12:39
    • 299: What is Jetpack Compose 03:48
    • 300: First Project in Android Studio 06:38
    • 301: Android Studio Interface 14:39
    • 302: Installing Android Virtual Device (AVD - Emulator) 16:07
    • 303: General Information About Gradle Build System 06:04
    • 304: Introduction to Manifest File 06:01
    • 305: Introduction to resources 13:56
    • 306: Quiz 02:00
    • 307: Layouts in Android Jetpack Compose (Column - Row - Box) 14:05
    • 308: Arrangements and Alignments 15:18
    • 309: Button 22:42
    • 310: TextField 11:05
    • 311: Image 09:41
    • 312: CheckBox 19:26
    • 313: RadioButton 20:06
    • 314: Switch 15:35
    • 315: Dropdown Menu 19:55
    • 316: Quiz 01:00
    • 317: Toast Message 05:26
    • 318: Snackbar Message 16:44
    • 319: Dialog Message 15:01
    • 320: Top App Bar 16:25
    • 321: Options Menu 06:46
    • 322: Quiz 01:00
    • 323: Navigation - Part 1 17:02
    • 324: Navigation - Part 2 14:43
    • 325: Navigation - Part 3 10:55
    • 326: Navigation - Part 4 07:34
    • 327: Quiz 02:00
    • 328: Lists in Compose 04:15
    • 329: Lazy Column - Part 1 09:23
    • 330: Lazy Column - Part 2 15:47
    • 331: Lazy Column - Part 3 08:14
    • 332: Lazy Column - Part 4 09:38
    • 333: Lazy Row 04:26
    • 334: Lazy Grid 06:01
    • 335: Quiz 01:00
    • 336: What you will learn and How to get help in Git and Github? 01:06
    • 337: Project Files and Course Documents in Git and github 01:00
    • 338: What is GIT and Why We Use It? 05:48
    • 339: Installation the Git and Github 07:57
    • 340: Let’s learn how to use Git? 08:09
    • 341: Creating A repo in Git and Github 06:45
    • 342: Staging and Unstaging Files in Git and Github 08:52
    • 343: Making Commits in Git and Github 08:49
    • 344: Undoing Things in Git and Github 07:34
    • 345: GIT Revert in Git and Github 08:09
    • 346: Branches in Git and Github 14:45
    • 347: Merging Branches in Git and Github 04:25
    • 348: Fixing Conflicts in Git and Github 06:41
    • 349: Quiz 01:00
    • 350: Intro to Github 05:05
    • 351: Creating Repo on GITHUB 13:55
    • 352: Getting Started With Java? ( JDK, JRE and JVM ) 04:55
    • 353: JAVA and ANDROID Project Files and All Course Documents 01:00
    • 354: What is IDE? 02:15
    • 355: Download and Run Eclipse 07:17
    • 356: First Java Programming - Hello World 04:42
    • 357: Compiling and Running Applications 00:56
    • 358: Closer Look at the First Java Program 01:48
    • 359: Quiz 01:00
    • 360: Closer Look at the Java 03:10
    • 361: What Are Variables? 10:20
    • 362: Basic Output in Java 13:24
    • 363: Basic Input 05:02
    • 364: Comments in Java 10:32
    • 365: Data Types 08:30
    • 366: Hexadecimal Octal and Binary Data Types 16:32
    • 367: Type Conversion & Type Casting 05:41
    • 368: Stack & Heap 01:39
    • 369: Arrays 07:35
    • 370: Quiz 01:00
    • 371: Arithmetic Operators 05:06
    • 372: Assignment Operators 05:43
    • 373: Unary Operators 05:33
    • 374: Equality and Relational Operators 04:37
    • 375: Conditional Operators 04:56
    • 376: Bitwise and Bitshift Operators 23:14
    • 377: Char Data Type 13:56
    • 378: Operator Precedence 04:14
    • 379: Expressions, Statements and Blocks 03:00
    • 380: Quiz 02:00
    • 381: Introduction to Array 19:22
    • 382: Sorting Array 11:55
    • 383: Searching Array 12:59
    • 384: Multi Dimensional Arrays 21:02
    • 385: Quiz 02:00
    • 386: If, If-Else Statement 05:34
    • 387: If-Else - If Ladder Statement, Nested If Statement 10:14
    • 388: Switch-Case Statement 07:04
    • 389: Project 1: Calculator 08:29
    • 390: For Loops 06:44
    • 391: For-Each Loop 06:13
    • 392: While Loop 12:51
    • 393: Infinite Loop 17:29
    • 394: Do-While Loop 16:16
    • 395: Break Keyword 04:45
    • 396: Continue Keyword 02:38
    • 397: Return Keyword 03:09
    • 398: Labeled Loops 10:46
    • 399: Project 2: Fibonacci Series 07:18
    • 400: Quiz 02:00
    • 401: What is Method? 03:42
    • 402: Method Calling 01:15
    • 403: Types of Methods & Method Return Types 09:07
    • 404: Java Var-Args 17:17
    • 405: Method Overloading 03:37
    • 406: Project 3: Find Exponential Number 05:31
    • 407: Quiz 02:00
    • 408: Object & Class 06:01
    • 409: Stack & Heap 07:49
    • 410: Access Modifiers 13:41
    • 411: Naming Conventions 02:20
    • 412: Constructors 21:16
    • 413: Packages 23:38
    • 414: “Static” Keyword 08:38
    • 415: Static import 13:13
    • 416: Nested & Inner Classes 16:10
    • 417: Local inner classes 12:47
    • 418: Quiz 02:00
    • 419: Section overview 01:12
    • 420: Inheritance 23:08
    • 421: Sealed Class 09:47
    • 422: Method Overriding 07:44
    • 423: “Super” and “This” Keywords 08:28
    • 424: “Final” Keyword 07:26
    • 425: Abstract Classes 10:06
    • 426: Interfaces 13:16
    • 427: Polymorphism 07:16
    • 428: Encapsulation 09:03
    • 429: Anonymous ClassAnonymous Class 10:43
    • 430: Quiz 02:00
    • 431: What is Wrapper Class in Java? 01:36
    • 432: Conversion of Types 01:52
    • 433: Autoboxing - UnBoxing 04:16
    • 434: Quiz 02:00
    • 435: Section Overview 01:10
    • 436: What is String? 14:19
    • 437: Equality of Strings 29:22
    • 438: Immutability of Strings 09:12
    • 439: Useful Methods of String Class - Part 1 13:34
    • 440: Useful Methods of String Class - Part 2 17:05
    • 441: Why String is Immutable? 01:38
    • 442: StringBuffer Class 05:35
    • 443: StringBuilder Class 03:31
    • 444: String vs String Buffer vs String Builder 01:44
    • 445: Project 4: Reverse String 03:56
    • 446: Quiz 02:00
    • 447: Section Overview for Collections 01:09
    • 448: Introduction to Collections 10:45
    • 449: Introduction to List Interface 13:23
    • 450: ArrayList 17:18
    • 451: Conversion Between List and Array 17:07
    • 452: Sorting ArrayList 13:22
    • 453: Comparator Interface 11:57
    • 454: Searching ArrayList 08:52
    • 455: Iterator and ListIterator 15:41
    • 456: Set Interface - Part 1 13:42
    • 457: Set Interface - Part 2 13:03
    • 458: Queue Interface 12:55
    • 459: Deque Interface 08:13
    • 460: Map Interface - Part 1 11:55
    • 461: Map Interface - Part 2 12:29
    • 462: Quiz 02:00
    • 463: Intro to Exception 02:01
    • 464: What Is The Difference Between Error and Exception 03:15
    • 465: Exception Types 02:43
    • 466: Try – Catch Block 01:59
    • 467: Finally Block 12:34
    • 468: Differences Between _Throw_ and _Throws_ 01:00
    • 469: Throw Keyword 04:44
    • 470: Throws Keyword 05:39
    • 471: Exception Methods 06:42
    • 472: Project: Bank Account Balance 14:41
    • 473: Quiz 02:00
    • 474: Introduction to Java Swing 02:25
    • 475: Swing Containers, Labels, Text Fields and Buttons 02:30
    • 476: Layouts 07:19
    • 477: Project: Login Form in Swing 16:56
    • 478: Quiz 02:00
    • 479: Enum Types 08:47
    • 480: Project: Traffic Lights Program With Enum 07:00
    • 481: Quiz 02:00
    • 482: Section Overview for Lambda Expression 00:42
    • 483: Marker and Functional Interfaces 03:20
    • 484: Lambda Expression 09:58
    • 485: Predicate Interface 15:14
    • 486: Project: Calculator app with Lambda 10:34
    • 487: Quiz 01:00
    • 488: Section Overview for Date&Time 00:45
    • 489: Calendar Class 20:46
    • 490: Local Date Class 16:25
    • 491: Local Time Class 11:36
    • 492: Local Date Time Class 11:44
    • 493: Period Class 09:31
    • 494: Date Time Formatting 16:28
    • 495: Quiz 01:00
    • 496: Section Overview for Java IO 01:07
    • 497: Introduction to Java IO 04:35
    • 498: OutputStream Class 18:50
    • 499: InputStream Class - Part 1 08:06
    • 500: InputStream Class - Part 2 16:18
    • 501: Writer Class 13:38
    • 502: Reader Class 21:20
    • 503: Project: Copying a file with Java I/O 09:51
    • 504: Object Serialization and Deserialization 19:18
    • 505: Transient keyword 10:36
    • 506: Quiz 01:00
    • 507: Android Studio Interface 18:19
    • 508: Installing Android Virtual Device (Emulator) 21:40
    • 509: Enabling Virtualization (VT-x or AMD-V, SVM) in BIOS 01:00
    • 510: Installing Genymotion Emulator 11:19
    • 511: Gradle Build System 06:20
    • 512: Introduction to Manifest File 06:06
    • 513: Introduction to Resource 13:57
    • 514: R Java File 07:07
    • 515: Quiz 01:00
    • 516: Layouts 13:46
    • 517: Textviews 14:03
    • 518: Buttons 15:46
    • 519: EditText 16:19
    • 520: Image View 07:38
    • 521: Checkbox 10:27
    • 522: Radio Buttons 09:51
    • 523: Toggle Buttons 07:53
    • 524: Spinner 11:36
    • 525: Top App Bar 18:31
    • 526: Adding Menu Items to Toolbar 16:52
    • 527: Quiz 01:00
    • 528: Toast Messages 03:24
    • 529: Snackbar Messages 06:26
    • 530: Dialog Messages 09:24
    • 531: Quiz 02:00
    • 532: Constraint Layout 14:05
    • 533: ListView 11:56
    • 534: Recycler View - Part 1 23:09
    • 535: Recycler View - Part 2 27:46
    • 536: Grid View 17:42
    • 537: Scroll View 05:41
    • 538: WebView 08:55
    • 539: Quiz 01:00
    • 540: Application Lifecycle 16:20
    • 541: Activity & Lifecycle 15:02
    • 542: Fragment & Lifecycle 15:36
    • 543: Services 26:40
    • 544: Broadcast Receiver 22:13
    • 545: Intent 11:40
    • 546: Quiz 01:00
    • 547: Shared Preferences Class 04:42
    • 548: Saving Data Local Memory 19:39
    • 549: Calling Back Data 08:00
    • 550: Quiz 01:00
    • 551: Multiple Language Support 14:32
    • 552: Supporting Different Pixel Densities 18:48
    • 553: Support Different Screen Sizes 18:59
    • 554: Quiz 01:00
    • 555: To Do List 31:28
    • 556: Math Game Part 1 07:23
    • 557: Math Game Part 2 10:42
    • 558: Math Game Part 3 11:00
    • 559: Math Game Part 4 18:46
    • 560: 52 - Math Game Part 5 15:11
    • 561: Math Game Part 6 19:02
    • 562: Introduction to Calculator App 05:46
    • 563: The Android Application Design-1 17:14
    • 564: The Android Application Design-2 12:31
    • 565: The Android Application Design-3 10:37
    • 566: Printing Numbers to Screen 08:38
    • 567: Printing Parentheses to Screen 06:05
    • 568: Writing Necessary Codes for Operators 08:52
    • 569: Writing Necessary Codes for Button Dot 19:45
    • 570: Writing the Necessary Codes for Button AC and Delete 19:31
    • 571: Making Calculation - Part 1 10:45
    • 572: Making Calculation - Part 2 09:11
    • 573: Making Calculation - Part 3 12:30
    • 574: Making Calculation - Part 4 14:59
    • 575: Applying Dark Theme 22:06
    • 576: Saving Data 12:16
    • 577: Sending Data from Activity to Activity 12:23
    • 578: Sending Data from Activity to Activity Part 2 07:05
    • 579: Sending Data from Activity to Fragment 18:43
    • 580: Sending Data from Activity to Fragment Part 2 04:48
    • 581: Sending Data from Fragment to Activity 09:16
    • 582: Sending Data from Fragment to Activity Part 2 07:21
    • 583: Sending Data from Fragment to Fragment 06:28
    • 584: Sending Data from Fragment to Fragment-2 09:11
    • 585: Quiz 01:00
    • 586: Introduction to Fragment Topic 01:09
    • 587: General Information About Fragments 06:44
    • 588: Fragment Creation 05:29
    • 589: Replacing the Fragment in the Activity with Another Fragment 07:30
    • 590: Fragment Backstack 07:27
    • 591: Fragment Backstack - Part 2 03:25
    • 592: List Fragment 09:45
    • 593: List Fragment - Part 2 06:52
    • 594: List Fragment - Part 3 06:44
    • 595: Dialog Fragment 09:11
    • 596: Dialog Fragment - Part 2 06:50
    • 597: Quiz 01:00
    • 598: What is the Database? 03:44
    • 599: SQLite Database 03:08
    • 600: Room Database 03:16
    • 601: Architectural Components 03:39
    • 602: Project: Note-Taking Application 04:12
    • 603: Creating New Projects and Adding Required Libraries 02:53
    • 604: Creating Entity 05:06
    • 605: Creating DAO 06:50
    • 606: Creating Database 04:23
    • 607: Creating Repository 21:28
    • 608: Creating View Model 07:26
    • 609: User Interface Design 05:44
    • 610: Showing Data in the Database in Recycler View 11:13
    • 611: Adding New Data to the Database 10:55
    • 612: Adding New Data to the Database Part 2 19:44
    • 613: Deleting Data From Database 05:54
    • 614: Updating the Data in the Database 18:49
    • 615: Updating the Data in the Database Part 2 06:52
    • 616: Quiz 01:00
    • 617: Introduction to Photo Album App 03:37
    • 618: Adding Necessary Libraries 05:04
    • 619: Creating Entity 03:34
    • 620: Creating DAO 04:52
    • 621: Creating Database Class 06:27
    • 622: Creating the Repository Class 16:29
    • 623: Creating the View Model Class 06:33
    • 624: The Application Design - 1 12:17
    • 625: The Application Design - 2 11:51
    • 626: The Application Design - 3 05:21
    • 627: Creating the Adapter Class 06:55
    • 628: Request Permission 21:39
    • 629: Selecting Image 12:22
    • 630: Reducing the Size of the Selected Image 06:21
    • 631: Saving the Data 07:33
    • 632: Deleting the Data 04:34
    • 633: Updating the Data-1 11:50
    • 634: Updating the Data-2 11:05
    • 635: Open the Database Using the Database Browser for SQLite 03:52
    • 636: Sending an SMS Message 14:29
    • 637: Sending E-Mail 11:59
    • 638: Making a Call 10:36
    • 639: Converting Speech to Text 12:02
    • 640: Quiz 01:00
    • 641: What is Notification 02:16
    • 642: Local Notification 13:32
    • 643: Repeated Notifications - Part 1 07:04
    • 644: Repeated Notifications Part 2 07:15
    • 645: Notification Procedures 07:02
    • 646: Notification Procedures Part 2 14:47
    • 647: Notification Procedures Part 3 07:37
    • 648: Push Notification 06:13
    • 649: Quiz 01:00
    • 650: Introduction to Chat App 05:57
    • 651: Integration with Firebase 07:03
    • 652: The Login Page Design 17:18
    • 653: Authenticaiton With Email and Password 06:46
    • 654: Signup Page 11:08
    • 655: Picking a Profile Photo - Part 1 20:59
    • 656: Picking a Profile Photo - Part 2 15:18
    • 657: Creating User Account 09:00
    • 658: Uploading Profile Photo to Cloud Storage 13:18
    • 659: Saving User Data to Realtime Database 12:04
    • 660: Enabling Sign Out Functionality 09:17
    • 661: Update User Profile - Part 1 15:02
    • 662: Update User Profile - Part 2 14:45
    • 663: Listing the Users - Part 1 10:21
    • 664: Listing the Users - Part 2 17:11
    • 665: Messaging Screen - Part 1 12:02
    • 666: Messaging Screen - Part 2 07:02
    • 667: The Messaging Process 11:28
    • 668: Displaying the Sent Message-1 13:39
    • 669: Displaying the Sent Message-2 08:51
    • 670: Deleting Messages 09:04
    • 671: Introduction to Retrofit Library 08:54
    • 672: Retrieving Data from Rest Api Using Retrofit Library 08:36
    • 673: Retrieving Data from Rest Api Using Retrofit Library Part 2 09:57
    • 674: Retrieving Data from Rest Api Using Retrofit Library Part 3 05:53
    • 675: Showing Data in RecyclerView Pulled from Rest Api 11:38
    • 676: Showing Data in RecyclerView Pulled from Rest Api Part 2 03:53
    • 677: Quiz 01:00
    • 678: Introduction to Weather App 07:40
    • 679: Reviewing the Website 12:59
    • 680: Application Design - Part 1 10:51
    • 681: Application Design - Part 2 27:28
    • 682: Request Permission - Part 1 19:01
    • 683: Request Permission - Part 2 - Creating Bottom Sheet Dialog 19:02
    • 684: Request Permission - Part 3 - Checking Location Settings 15:07
    • 685: Request Permission - Part 4 - Permission Control Mechanism 24:50
    • 686: Changing the UI of Weather Activity 10:49
    • 687: Creating Model Class 06:55
    • 688: Creating Retrofit Service 12:05
    • 689: Creating View Model 12:54
    • 690: Finding User's Location 08:37
    • 691: Getting Current Weather Data by Location 19:42
    • 692: Getting Current Weather Data by City Name 10:25
    • 693: Checking Network Connection - Part 1 24:14
    • 694: Checking Network Connection - Part 2 09:55
    • 695: Introduction to Flag Quiz App 04:24
    • 696: Splash Screen 16:49
    • 697: Home Page Design 11:48
    • 698: Quiz Page Design 17:37
    • 699: Result Page Design 11:11
    • 700: Navigation 16:33
    • 701: Database Operations - Creating Database 07:53
    • 702: Database Operations - Adding Database to App 15:24
    • 703: Database Operations – Creating DAO – Part 1 12:12
    • 704: Database Operations – Creating DAO – Part 2 03:44
    • 705: Database Operations – Retrieving Data 13:34
    • 706: Showing Data – Part 1 12:04
    • 707: Showing Data – Part 2 04:19
    • 708: Controlling the Correct and Wrong Answers 09:01
    • 709: Controlling the Empty Answers 13:58
    • 710: Showing Results on Bar Chart 17:42
    • 711: Introduction to The Android Game:Help the Innocent Bird 05:27
    • 712: Creating the Characters 03:29
    • 713: The Application Design-1 15:25
    • 714: Adding an Animation to the Characters 07:23
    • 715: Adding an Audio to the Game 08:41
    • 716: The Application Design-2 12:46
    • 717: Activating the Screen Touch 08:07
    • 718: The Bird is Flying 10:59
    • 719: Other Characters are Flying-1 08:06
    • 720: Other Characters are Flying-2 05:47
    • 721: The Collision-1 10:39
    • 722: The Collision-2 14:12
    • 723: The Collision-3 08:05
    • 724: The Application Design-3 08:32
    • 725: Saving the Highest Score 10:20
    • 726: Creating the Alert Dialog 05:51
    • 727: Testing the Game 06:24

Course media

Description

A powerful, career-focused Android development programme built for one purpose: to get you skilled fast and ready for real opportunities. If you want to break into tech, build Android apps, or land your first developer job, this course gives you a complete roadmap — starting from zero and ending at a point where you can confidently build and publish your own mobile applications.

This is not a casual tutorial. This is a full Android acceleration programme designed for learners who want results, not theory.

You will follow a sharp, strategic learning path:
Kotlin → Jetpack Compose → Java
This order gives you an undeniable advantage. You start with the modern language (Kotlin), build modern interfaces (Compose), and then expand your skills to include Java so you can work on ANY Android project — old or new.

1. Kotlin: Your Fast Track Into Android Development

You begin with Kotlin because it is Google’s recommended language and the fastest path to building modern, stable, secure Android applications. You learn everything from fundamentals to object-oriented programming, and immediately start building real applications using Activities, Fragments, RecyclerView, Intents, Room Database, SharedPreferences, Notifications and more.

You won’t be “watching tutorials.”
You will be building actual apps.

Real projects inside the Kotlin section include:

  • To-Do List App

  • Photo Album App

  • Calculator App

  • Weather App with API Integration

  • Firebase Login & Register App

  • Flag Quiz Game

  • Device Features & Notifications

The goal is simple: learn fast, build fast, progress fast.

2. Jetpack Compose: Build Modern Apps Like a Professional

Jetpack Compose is the future of Android UI. Companies are switching rapidly. If you want to stand out in the job market, you must know Compose — and you will.

You will learn:

  • Composables

  • State & remember

  • Modern UI patterns

  • Layouts, lists & interactions

  • Navigation in Compose

  • Material Design 3

  • Real multi-screen apps

Compose makes you faster, more efficient, and highly employable. By the end of this module, you will know how to build clean, modern, production-ready user interfaces that impress employers and clients.

3. Java: Expand Your Value. Unlock More Job Roles.

After Kotlin and Compose, you learn Android with Java — still used extensively in enterprise and legacy apps. Understanding Java makes you more flexible, more valuable and more competitive.

You learn everything:
methods, arrays, OOP, inheritance, interfaces, collections, exceptions, file I/O, Swing basics, Android components, Room, notifications, fragments, navigation, device compatibility — everything needed to build professional Java-based Android applications.

You also complete large-scale Java Android projects, including:

  • Weather App

  • Chat Application

  • Photo Album App

  • Full Game Project

  • Calculator (Java version)

  • Device Feature Apps

You finish with full-stack Android development capability.

Real Projects = Real Portfolio = Real Opportunities

By the end of this course, you won’t just “know" Android development.
You will have a portfolio of real applications that prove your skills to employers:

  • REST API Weather App

  • Firebase Authentication App

  • Firebase Real-Time Chat App

  • Jetpack Compose UI Projects

  • Photo Gallery App

  • To-Do List App

  • Notification-Based Apps

  • Room Database Projects

  • Multiple Games & Practice Apps

  • Flag Quiz Game

  • Full Calculator App (Kotlin + Java)

These projects make you look like a developer from day one.

A Course Built to Help You Get Hired

Companies want developers who can build real features — not memorize theory.
Everything in this programme is designed to make you job-ready:

  • Real-world coding

  • Real-world app structure

  • Real-world data storage

  • Real-world Firebase integration

  • Real-world API communication

  • Real-world debugging

  • Real-world architecture

You’re learning exactly what real Android developers do every day.

By the End of This Programme, You Will Be Able To:

  • Build Android apps from scratch using Kotlin, Java and Jetpack Compose

  • Design modern UI with Compose and XML

  • Use Room, SharedPreferences, Retrofit, Firebase and device features

  • Build & publish complete Android apps

  • Solve real development problems

  • Present a strong portfolio to employers or clients

  • Apply for junior developer roles with confidence

This is your step-by-step path into Android development — fast, practical and career-focused.

Who is this course for?

This course is ideal for:

  • Complete beginners who want to start a career in mobile app development.
  • Students who want a clear, structured and practical path to becoming an Android developer.
  • Beginners who want to learn Java, Kotlin and Jetpack Compose from scratch.
  • Self-taught developers who want a full, organised training programme.
  • Individuals looking to build a portfolio of real Android projects.
  • Career changers who want entry-level Android developer opportunities.
  • Anyone aiming to learn app development to increase employability.
  • Developers who want to upgrade their skills from Java to Kotlin or from XML to Jetpack Compose.
  • Freelancers who want to offer Android app development services.
  • Tech professionals who want to understand mobile development fundamentals.
  • Anyone who wants to build their own apps, launch projects or start a new tech journey.

If your goal is to gain real, practical Android development skills and become job-ready, this programme is designed for you.

Requirements

No prior programming or technical experience is required.
You only need:

  • A computer (Windows, macOS or Linux)
  • Internet connection
  • Willingness to learn and practise
  • Ability to install Android Studio

Everything else is taught step-by-step from the very beginning.

Career path

Completing this course can open doors to roles such as:

  • Junior Android Developer
  • Mobile App Developer
  • Kotlin Developer
  • Java Android Developer
  • Firebase App Developer
  • Freelance Android Programmer

You will also be able to build and publish your own Android apps.

Questions and answers

Currently there are no Q&As for this course. Be the first to ask a question.

Reviews

Currently there are no reviews for this course. Be the first to leave a review.

FAQs

Interest free credit agreements provided by Zopa Bank Limited trading as DivideBuy are not regulated by the Financial Conduct Authority and do not fall under the jurisdiction of the Financial Ombudsman Service. Zopa Bank Limited trading as DivideBuy is authorised by the Prudential Regulation Authority and regulated by the Financial Conduct Authority and the Prudential Regulation Authority, and entered on the Financial Services Register (800542). Zopa Bank Limited (10627575) is incorporated in England & Wales and has its registered office at: 1st Floor, Cottons Centre, Tooley Street, London, SE1 2QG. VAT Number 281765280. DivideBuy's trading address is First Floor, Brunswick Court, Brunswick Street, Newcastle-under-Lyme, ST5 1HH. © Zopa Bank Limited 2026. All rights reserved.