Cademy logoCademy Marketplace

Course Images

Android Jetpack Compose - Build Android Native UIs Fast

Android Jetpack Compose - Build Android Native UIs Fast

🔥 Limited Time Offer 🔥

Get a 10% discount on your first order when you use this promo code at checkout: MAY24BAN3X

  • 30 Day Money Back Guarantee
  • Completion Certificate
  • 24/7 Technical Support

Highlights

  • On-Demand course

  • 25 hours 58 minutes

  • All levels

Description

You will be learning from the basics of a Composable function to how to handle state in Compose and how to build full-fledged Android apps that leverage the full power of Jetpack Compose and Kotlin. This course is tailored for beginners and advanced developers.

Android Jetpack Compose is a new way of building modern Android apps in Android app development. The software development industry is moving away from the imperative approach of building apps-where developers were required to write a lot of boilerplate code, navigate through inconsistent APIs, and hard to maintain code to build simple mobile apps. With Jetpack Compose, building Native UI for the Android platform is more effortless, concise, consistent, and has less code. In this course, you will start with learning about Jetpack Compose and its advantages over the imperative way of building Android apps. You will look at Kotlin programming basics, intermediate and advanced concepts. You will look at core Jetpack Compose concepts: composable functions, compose layout widgets, and modifiers, and understand how Jetpack Compose handles state-recomposition and state hoisting. You will understand how MutableState and Flow work with composable functions; master how to build various Jetpack Compose apps that range from simple to complex (tip calculator, movie app, note app, trivia app, weather forecast app, and so much more); and build a lot of apps while learning Jetpack Compose. By the end of the course, you will have learned everything you need to know about Kotlin and Jetpack Compose to build complex Native UIs and Android apps with Jetpack Compose. All the resource files are added to the GitHub repository at: https://github.com/PacktPublishing/Android-Jetpack-Compose---Build-Android-Native-UI-s-Fast

What You Will Learn

Learn clean architecture and MVVM patterns with Android Jetpack Compose
Master Jetpack Compose and build modern Android apps
Build different Android apps with Jetpack Compose and Kotlin
Master modern Android development best practices with Jetpack tools and Compose
Leverage Hilt and Dagger and add dependency injection to Jetpack Compose
Integrate the Android ROOM database into a Compose application

Audience

This course is ideal for beginner Android developers who are curious about building modern Android apps using Jetpack Compose and Kotlin.

Android developers who want to learn Kotlin and build Android apps with Jetpack Compose, and anyone who wants to learn Java and Android development will also benefit from this course.

Basic programming experience, in general, is helpful but not required. The course covers everything you will need to build Android apps with Kotlin and Jetpack Compose.

Kotlin fundamentals are included in the course so no need for prior knowledge of the same.

Approach

This course is highly practical, and the author takes you through all the concepts that you need to get started. It's a comprehensive course, packed with a lot of information.

The course is structured keeping in mind that individuals with no programming skills in Kotlin; will have the opportunity to learn the basics, intermediate, and advanced Kotlin concepts before moving on to Jetpack Compose.

Key Features

A comprehensive course for developing apps with Jetpack Compose and Kotlin * Build, from scratch, beautiful native UIs with Jetpack Compose - a declarative approach for building Android apps * A highly practical course and comes bundled with code files

Github Repo

https://github.com/PacktPublishing/Android-Jetpack-Compose---Build-Android-Native-UI-s-Fast

About the Author

Paulo Dichone

Paulo Dichone is a highly skilled developer and teacher with a strong background in Computer Science. With his expertise in Android App Development for mobile and web platforms, Paulo founded Magadistudio, a successful mobile app development company. Passionate about teaching, Paulo is dedicated to helping learners master Android app development. His goal is to empower students with the knowledge and skills needed to create impressive Android applications and experience the freedom of being an Android developer. With his deep understanding of the subject matter and a commitment to student success, Paulo Dichone is a trusted instructor who can guide learners on their journey to becoming proficient Android developers.

Course Outline

1. Introduction to the Course

1. Introduction

This video provides an overview of the course.

2. Course Learning Path

This video helps you understand the course learning path. It is highly recommended to see this video before jumping into the course directly.


2. Windows Machine Setup for Development

1. Installing Android Studio and Setup

This video helps you with installing Android Studio and the setup.

2. Creating a Kotlin Module and Running It

This video explains creating a Kotlin module and running it.

3. Kotlin Playground - Online Code Editor

This video demonstrates and talks about Kotlin Playground - online code editor.


3. Mac Machine Setup for Development

1. Install and Set Up Android Studio

This video shows how to install and set up Android Studio.

2. Create a Kotlin Module in an Android Project

This video demonstrates creating a Kotlin module in an Android project.

3. Kotlin Playground - Online Code Editor

This video explains Kotlin Playground - online code editor.


4. Build Your First Jetpack Compose App

1. App Demo

This video provides a demo for an app that you will be creating.

2. Setting Up BizCard App - Android Compose Surface Layout and Preview

This video demonstrates setting up BizCard app - Android Compose surface layout and preview.

3. Creating a Card and Changing Its Properties with Modifier

This video explains creating a card and changing its properties with modifier.

4. Adding the Profile Image

This video explains adding the profile image.

5. Adding a Column and a Divider

This video explains adding a column and a divider.

6. (Challenge) - Change Divider's Parameters

This is a challenge video on changing divider's parameters.

7. (Challenge Solution) - Divider's Parameters

This is a challenge solution video on changing divider's parameters.

8. Adding the Card Info Section

This video explains adding the card info section.

9. Adding the Portfolio Button

This video explains adding the portfolio button.

10. Create the Content Composable Function

This video helps you create the content composable function.

11. Adding a LazyColumn Layout and the Toggle Functionality

This video explains adding a LazyColumn layout and the toggle functionality.

12. Final Touches to the BizCard App

This video helps you with the final touches to the BizCard app.

13. What's Next

This video talks about what you will be learning in the upcoming section.


5. Kotlin Programming Language Fundamentals - Variable Types

1. Section Introduction

This video provides an introduction to the section.

2. Kotlin var and val Keywords

This video explains the Kotlin var and val keywords.

3. Initializing Variables

This video explains how to initialize variables.

4. Introduction to Variable Types - Int and String

This video provides an introduction to variable types - Int and String.

5. Basic Types in Kotlin

This video explains the basic types in Kotlin.

6. The Long Type

This video explains about the long type.

7. Floating Point Types

This video demonstrates floating point types.

8. Kotlin Operators

This video explains about the Kotlin operators.

9. Section Summary

This video is a summary of the section.


6. Kotlin Fundamentals - Loops and Branching

1. Section Introduction - Loops and Branching

This video provides an introduction to the section - loops and branching.

2. The If Statement and When Expression

This video explains about the if statement and when expression.

3. When Expression - Range

This video talks about the when expression - range.

4. The For Loop

This video demonstrates about the for loop.


7. Kotlin Fundamentals - Functions

1. Section Introduction - Functions

This video provides an introduction to the section - functions.

2. Create a Simple Kotlin Function

This video explains how to create a simple Kotlin function.

3. Functions with Int Parameters

This video explains functions with Int parameters.

4. Adding More Parameters to a Function

This video explains adding more parameters to a function.

5. Default Arguments and Named Arguments

This video talks about default arguments and named arguments.

6. Functions and Return Types

This video explains functions and return types.

7. Returning a Boolean

This video talks about returning a Boolean.

8. Lambda Expressions - an Introduction

This video provides an introduction to lambda expressions.

9. (Challenge Solution) - CatAge - To Lambda Expression

This is a challenge solution video on CatAge - to lambda expression.

10. Using the "it" Lambda Keyword

This video explains how to use the "it" lambda keyword.

11. Lambda Expressions that Return Unit - Void

This video explains about lambda expressions that return Unit - Void.

12. Trailing Lambda

This video explains about trailing lambda.


8. Kotlin Fundamentals - Collections

1. Introduction to Collections

This video provides an introduction to collections.

2. Invoking Methods on Lists

This video explains how to invoke methods on lists.

3. Kotlin Sets and Maps Collections

This video talks about Kotlin sets and maps collections.

4. Initializing Lists

This video talks about initializing lists.

5. Empty Collections

This video explains about empty collections.

6. Collection Filters

This video talks about collection filters.

7. Section Summary - Collections

This video provides a section summary on collections.


9. Kotlin - Intermediate Object-Oriented Programming Concepts

1. Introduction to OOP - Create First Class

This video an introduction to OOP (Object-Oriented Programming) - create first class.

2. Kotlin Classes and the Primary Constructors

This video demonstrates about Kotlin classes and primary constructors.

3. The init Block

This video explains the init block.

4. Adding a class Function with Parameters

This video explains adding a class function with parameters.

5. Inheritance and Override

This video explains about inheritance and override.

6. Inheritance Design Steps

This video explains about inheritance design steps.

7. Introduction to Interface Classes

This video provides an introduction to interface classes.

8. Creating an Interface and Using It

This video demonstrates creating an interface and using it.

9. Extension Functions in Kotlin

This video talks about the extension functions in Kotlin.

10. Remove First and Last Character Extension Function - Challenge Solution

This is a challenge solution video that explains how to remove first and last character extension function.

11. Data Class

This video explains about the data class.

12. Section Summary - Kotlin OOP

This video provides a section summary on Kotlin OOP.


10. Kotlin - Advanced Concepts

1. Introduction to Generics

This video provides an introduction to generics.

2. Using Generics

This video demonstrates how to use generics.

3. Introduction to Enums and State

This video provides an introduction to enums and state.

4. Improving Enums - Sealed Classes

This video explains improving enums - sealed classes.

5. Sealed Classes Creation

This video explains about sealed classes creation.


11. Introduction to Jetpack Compose and Fundamentals

1. Introduction - What's Jetpack and Understanding the Imperative Approach

This video provides an introduction to Jetpack and understanding the imperative approach.

2. Understanding a Compose Project - Basics - Preview and Compose Annotation

This video is about understanding a Compose project - basics - preview and compose annotation.

3. Creating a Simple Composable Function

This video explains creating a simple composable function.

4. Modifier and Composable Functions - What Are They?

This video explains modifier and composable functions. You will also look at what they are and their uses.

5. Creating a Simple Compose App - Create a Circle

This video explains creating a simple Compose app - create a circle.

6. Adding the Circle to the Main Surface

This video explains adding the circle to the main surface.

7. Finishing Up the User Interface

This video demonstrates finishing up the user interface.

8. Introduction to MutableState - Incrementing a Counter

This video provides an introduction to MutableState - incrementing a counter.

9. (Imperative Versus Declarative Approach) - Thinking in Compose

This video explains about the imperative versus declarative approach - thinking in Compose.

10. Hoisting the State of Our Money Counter App

This video explains hoisting the state of our money counter app.

11. Section Summary - Jetpack Compose and Paradigm Shift

This video provides a section summary - Jetpack Compose and paradigm shift.


12. Android Real Device Setup

1. How to Set Up an Android Device for Development

This video demonstrates how to set up an Android device for development.


13. Build a Tip Calculator App

1. JetTip App Demo

This video provides a JetTip app demo that you will be creating.

2. The Structure of JetTip and Setting Up the Container Function

This video demonstrates the structure of JetTip and setting up the container function.

3. The TopHeader Function - Finish Up

This video explains the TopHeader function - finish up.

4. Adding the Rounded Border for the Main Content

This video explains adding the rounded border for the main content.

5. Input Fields - Creating a Customizable InputField Composable Function

This video explains about input fields - creating a customizable InputField composable function.

6. Showing the Input Field

This video helps in showing the input field.

7. Refactoring the InputField Compose Function

This video explains about refactoring the InputField Compose function.

8. Creating Round Icon Buttons

This video demonstrates creating round icon buttons.

9. Fixing the Input Field Width

This video explains fixing the input field width.

10. Adding the TipRow and Slider

This video explains adding the TipRow and Slider.

11. Finishing Up the Slider Composable

This video explains about finishing up the Slider Composable.

12. Incrementing and Decrementing Functions

This video explains about incrementing and decrementing functions.

13. Showing the Tip Percentage on Slide Value Change

This video demonstrates showing the tip percentage on slide value change.

14. Calculating the Tip Amount

This video explains calculating the tip amount.

15. Total Per Person Calculations

This video explains about total per person calculations.

16. State Hoisting - Code Refactor and Section Summary

This video focuses on state hoisting - code refactor and section summary.


14. Build a Movie App - Introduction to Scaffold and LazyColumn

1. Section Introduction

This video provides an introduction to the section.

2. Understanding the Scaffold Composable

This video helps in understanding the Scaffold Composable.

3. Using LazyColumn and Showing Movies

This video explores using LazyColumn and showing movies.

4. Make Each Row Clickable

This video demonstrates how to make each row clickable.

5. Introduction to Navigation Component

This video provides an introduction to the navigation component.

6. Setting Up the Navigation Structure

This video explains setting up the navigation structure.

7. Setting Up the Navigation Structure - Home Screen and Details Screen

This video explains setting up the navigation structure - home screen and details screen.

8. Navigation and Passing Arguments

This video demonstrates navigation and passing arguments.

9. Navigating Back on Back button Clicked

This video explains navigating back on back button clicked.

10. Adding the TopAppBar and Back Navigation

This video explains adding the TopAppBar and back navigation.

11. Navigation Component Summary

This video is a summary of the navigation component.


15. Movie App - Improvements

1. Adding Movie Data Class and Dummy Data

This video demonstrates adding movie data class and dummy data.

2. Using Coil to Add Images

This video demonstrates using Coil to add images.

3. Adding Expand Capability on the Card to Show More Information

This video explains adding expand capability on the card to show more information.

4. Adding More Movie Information to the Row

This video explains adding more movie information to the row.

5. Finishing Up the Details Screen

This video explains finishing up the details screen.

6. Section Summary

This video provides a section summary.


16. Introduction to ViewModel - Build a Note App

1. Note App Demo

This video provides a demo of the note app that you will be creating.

2. Note App - Project Setup and Creating a TextField

This video demonstrates the note app - project setup and creating a TextField.

3. Adding TextField and a Button

This video explains adding TextField and a button.

4. Adding a DataSource Class - Dummy Data

This video explains adding a DataSource class - dummy data.

5. Creating a Note Row and Showing Dummy Notes

This video explains creating a note row and showing dummy notes.

6. Adding and Removing Notes - Showing Them on Screen

This video explains adding and removing notes - showing them on screen.

7. Managing State and Data in Compose - Introduction to ViewModel

This video explains about managing state and data in Compose - introduction to ViewModel.

8. Creating a ViewModel and Implementing It

This video demonstrates creating a ViewModel and implementing it.


17. Note App Improvements - ROOM and Dependency Injection - Hilt

1. What We Will Do

This video demonstrates what you will be working on in this section going forward.

2. Understanding Android ROOM and Dependency Injection (DI): Hilt and Dagger

This video helps in understanding Android ROOM and Dependency Injection (DI): Hilt and Dagger.

3. Understanding DI (Dependency Injection) and Its Advantages

This video helps in understanding DI (Dependency Injection) and its advantages.

4. Manual DI Versus Hilt

This video explains manual DI versus Hilt.

5. Set Up Hilt Dependencies in Gradle

This video explains setting up Hilt dependencies in Gradle.

6. Setting Up App Hilt AppModule and the NoteApplication Component

This video explains setting up app Hilt AppModule and the NoteApplication component.

7. The Android ROOM Database Architecture

This video explains about the Android ROOM database architecture.

8. Adding ROOM and Coroutine Dependencies to Project

This video demonstrates adding ROOM and Coroutine dependencies to the project.

9. Creating a Note Entity

This video explains creating a note entity.

10. Creating a RoomDatabase Class and DAO

This video explains creating a RoomDatabase class and DAO.

11. Understanding Coroutines and Suspend Functions

This video explains understanding Coroutines and suspend functions.

12. Adding Flow State to getNotes Functions

This video explains adding flow state to getNotes functions.

13. Adding Providers in AppModule Class

This video demonstrates adding providers to the AppModule class.

14. Creating the Repository Class

This video explains creating the repository class.

15. Updating the NoteViewModel Class

This video explains updating the NoteViewModel class.

16. Testing the NoteApp with the ROOM Database

This video explains testing the NoteApp with the ROOM database.

17. Adding TypeConverters and Getting the App to Work

This video explains adding TypeConverters and getting the app to work.

18. Section Summary

This video talks about the section summary.


18. JetTrivia App - Parsing JSON: Retrofit and Clean Architecture

1. JetTrivia App Demo

This video provides an JetTrivia app demo that you will be creating.

2. Setting Up the Project - Adding All Dependencies

This video demonstrates setting up the Project - adding all dependencies.

3. The Trivia JSON Payload

This video explains about the Trivia JSON Payload.

4. Set Up the App Structure - Adding Retrofit Dependencies

This video explains setting up the app structure - adding retrofit dependencies.

5. Adding Hilt Classes and Retrofit

This video explains adding Hilt classes and retrofit.

6. Creating a Wrapper Class for Emitting Metadata

This video explains creating a wrapper class for emitting metadata.

7. Finishing Up the Repository Class

This video explains about finishing up the repository class.

8. Creating the ViewModel Class

This video demonstrates creating the ViewModel class.

9. Testing Our ViewModel and Logging Trivia Questions

This video explains testing our ViewModel and logging trivia questions.

10. Refactoring Code and Showing the Progress Bar

This video explains about refactoring code and showing the progress bar.

11. Creating the UI - Question Tracker Composable

This video explains creating the UI - question tracker composable.

12. Creating the UI - Dotted Line Composable

This video explains about creating the UI - dotted line composable.

13. Creating the UI - Radio Button Row

This video demonstrates creating the UI - radio button row.

14. Creating UI - Radio Button Row and Checking Answers

This video explains creating the UI - radio button row and checking answers.

15. Finishing Up the Logic - App Working

This video explains about finishing up the logic - app working.

16. Create a Score Meter

This video explains how to create a score meter.

17. Finalizing the Score Meter

This video explains finalizing the score meter.

18. Getting Total Question Count

This video explains getting the total question count.

19. Section Summary

This video provides a section summary.


19. Build a Weather Forecast App

1. Weather Forecast App Demo

This video provides a demo to the weather forecast app that you will be creating.

2. Setting Up Project and Adding All Gradle Dependencies

This video demonstrates setting up the project and adding all Gradle dependencies.

3. OpenWeather - Getting the API Key

This video explains OpenWeather - getting the API key.

4. Setting Up Packages and DI Structures

This video explains setting up packages and DI structures.

5. Setting Up App Navigation - Splash Screen - Part 1

This video explains setting up app navigation - splash screen - part 1.

6. Showing the Splash Screen - Navigation Setup Continuation

This video explains showing the Splash Screen - navigation setup continuation.

7. Putting Together the Splash Screen UI

This video talks about putting together the Splash Screen UI.

8. Splash Screen Animation and Navigating to Main Screen

This video demonstrates about Splash Screen animation and navigating to the main screen.

9. What We Have Done So Far

This video focuses on the things we have done so far.

10. Setting Up Model Classes

This video explains setting up model classes.

11. Setting Up the Weather API Interface for Retrofit - HTTP Library

This video demonstrates setting up the weather API interface for Retrofit - HTTP library.

12. Creating the Main ViewModel and the Repository Classes

This video explains creating the main ViewModel and the repository classes.

13. Setting Up the ViewModel and Retrieving JSON Payload

This video demonstrates setting up the ViewModel and retrieving JSON Payload.

14. Setting Up the AppBar - Part 1

This video explains setting up the AppBar - part 1.

15. Finalizing the WeatherAppBar

This video explains finalizing the WeatherAppBar.

16. Creating the Main Screen Widgets - Top Circle

This video explains creating the main screen widgets - top circle.

17. Creating the Main Screen - Finalizing the Top Circle and Data

This video explains creating the main screen - finalizing the top circle and data.

18. Adding Humidity, Wind, and Pressure Row

This video explains adding humidity, wind, and pressure row.

19. Creating the Sunset and Sunrise Row

This video explains creating the sunset and sunrise row.

20. Weather Detail Row

This video demonstrates weather detail row.

21. Finalizing the Weather Detail Row and the Main Screen

This video demonstrates finalizing the weather detail row and the main screen.

22. Refactoring the Code

This video demonstrates refactoring the code.

23. Break - What We have Done So far

This video goes through what we have done so far.

24. Setting Up the Search Field in Search Screen

This video explains setting up the search field in search screen.

25. Passing the City Name Back to Main Screen and Showing the Forecast Data

This video explains passing the city name back to main screen and showing the forecast data.

26. Setting Up the Dialog and the Dropdown Menu

This video explains about setting up the dialog and the dropdown menu.

27. Navigating to About, Favorites, and Settings and Creating the About Screen

This video demonstrates navigating to about, favorites, and settings and creating the about screen.

28. Introduction to ROOM and Favorite Screen Structure

This video provides an introduction to ROOM and favorite screen structure.

29. Creating a Favorite Entity and DAO Class

This video explains creating a favorite entity and DAO class.

30. Setting Up Room Database and Repository

This video explains setting up room database and repository.

31. Creating the FavoriteViewModel Class

This video explains creating the FavoriteViewModel class.

32. Adding the Favorite Icon and Saving Favorite Cities to Database

This video demonstrates adding the favorite icon and saving favorite cities to database.

33. Showing All Favorite Cities

This video explores showing all favorite cities.

34. Showing a Toast Message When a City Is Saved

This video explains how to show a toast message when a city is saved.

35. Break - What We have Done So Far - Next Up: The Settings Screen

This video talks about what we have done so far and next up the settings screen.

36. Creating the Settings View Model

This video explains creating the settings view model.

37. Putting Together the Settings Screen

This video explains about putting together the settings screen.

38. Saving Measurement Units to the Database

This video explains about saving measurement units to the database.

39. Adding a Default Unit

This video explains adding a default unit.

40. Showing Metric and Imperial Units in Main Screen - Final Touches

This video explains showing metric and imperial units in main screen - final touches.

41. Weather Forecast App Summary

This is a summary video on the weather forecast app.

Course Content

  1. Android Jetpack Compose - Build Android Native UIs Fast

About The Provider

Packt
Packt
Birmingham
Founded in 2004 in Birmingham, UK, Packt’s mission is to help the world put software to work in new ways, through the delivery of effective learning and i...
Read more about Packt

Tags

Reviews