Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Maintain Android Apps with Jetpack Architecture Components
Rating: 4.1 out of 5(22 ratings)
107 students

Maintain Android Apps with Jetpack Architecture Components

Utilize Android Jetpack Architecture components to make your Android application development flexible and maintainable
Last updated 2/2019
English

What you'll learn

  • Use the Data Binding library to bind data to the UI
  • Provide stability in your app by handling life cycles, view models, and live data
  • Implement effective in-app navigation by using the Navigation architecture component
  • Schedule tasks asynchronously by using Work Manager
  • Rebuild an Android application using these new practices as well using the new Jetpack group of libraries.
  • Understand Kotlin and experience how simple it is to write code using it as opposed to Java.
  • Stay up to date with the latest and greatest methods to implement common use cases that you will come across when developing future apps.

Course content

2 sections65 lectures7h 22m total length
  • The Course Overview4:29

    This video gives glimpse of the entire course.

  • Why Architecture Components?3:38

    Introduction to Android Architecture Components.

    • Get an overview of Architecture Components

    • Introduction to Android Jetpack

    • Explore the components of Android Architecture

  • Adding Components to Your Project1:42

    How to easily integrate views with the data?

    • Enable the layout file for data binding

    • Bind layout and views with data

    • Handle events using data binding

  • Understand Data Binding3:00

    What is data binding?

    • Understand what it is and its role in Android Architecture

    • Create a new Android Studio Project

    • Look at the steps to include data binding library in the android app

  • Layouts and Binding Expressions8:08

    Learn how to easily integrate views with the data.

    • Enable the layout file for data binding

    • Bind layout and views with data

    • Handle events using data binding

  • Work with Observable Data Objects3:55

    Make data objects observable and notify others about changes.

    • Inherit from the provided class for listener registration mechanism

    • Make the Object properties observable

    • Notify others about the property change

  • Loading Images from a URL Using Glide4:02

    Load image from a URL using data binding library.

    • Update the UI as per the requirement

    • Define the property for loading the image in the data object class

    • Use the property as attribute in the layout file for data binding

  • Lifecycle-Aware Components1:57

    What are lifecycle-aware components?

    • Understand activity/fragments as lifecycle owner

    • Learn that lifecycle observer observes lifecycle status of owner

    • Understand lifecycle events and states

  • Lifecycle-Aware Components Demo7:13

    Demo on how lifecycle-aware components work.

    • Add lifecycle owner

    • Create lifecycle observer

    • Run the app and see the demo

  • Using ViewModel3:06

    How to retain data on app configuration changes using ViewModel?

    • Understand ViewModel

    • Explore the Lifecycle of ViewModel

    • Learn how ViewModel survives configuration changes

  • Using ViewModel Demo6:35

    Implementing ViewModel in demo App

    • Add dependencies for ViewModel

    • Create instance of ViewModel

    • Make a ViewModel class

  • Implementing LiveData6:38

    How to observe changes in UI data?

    • Understand what LiveData is and how it works

    • Explore how LiveData can be used with ViewModel

    • Run the app and see the demo

  • Introduction5:06

    What is Navigation Architecture Component?

    • Perceive the principles of Navigation Architecture Component

    • Understand why to use Navigation Architecture Component

    • Get an overview of the demo app

  • Implement the Navigation Architecture Component8:13

    Create the set up for working on navigation.

    • Add Dependencies

    • Initialize the project setup

    • Explore the key parts of the Navigation Architecture Component

  • Update UI Components with NavigationUI7:37

    How to use NavigationUI to add UI components to app?

    • Set up the bottom navigation bar

    • Set up the navigation drawer layout

    • Set up the toolbar

  • Navigate Using Actions3:05

    How to use actions to navigate within the app?

    • Understand what is action and how to create it

    • Create action between destinations

    • Use actions to navigate within the app

  • Pass Data between Destinations Using SafeArgs5:34

    How to pass data between destinations while using Navigation Architecture Component?

    • Add dependencies

    • Add a argument to the destination

    • Write a code to use SafeArgs to pass data

  • Understanding Paging Library8:12

    What is paging architecture component?

    • Explore the advantages of paging architecture component

    • Add dependencies

    • Create a model class for API response

  • Set Up Backend API5:58

    Fetch response from API.

    • Create the interface for API call

    • Create retrofit service builder class

    • Make API call from MainActivity and test the API call

  • Create PagedListAdapter and DataSource9:10

    Create the Adapter and Datasource for paged data.

    • Create an Adapter class for paged data

    • Create the DataSource

    • Explain the functions of DataSource

  • Construct Observable List and Populate UI6:10

    Fetch the paged data and display.

    • Create the DataSource Factory

    • Create a ViewModel

    • Set up the MainActivty to show the paged data

  • Introduction and Setup7:03

    Overview of room database architecture component.

    • Know what a room is

    • Understand the difference between SQL and room

    • Add dependencies in project for room

  • Add Components of Room4:30

    Create components of room in android project.

    • Create entity

    • Create DAO

    • Create database class

  • Perform Insert Operation6:43

    Steps to perform insert operation.

    • Create the layout file and activity

    • Update the components of room

    • Connect UI to components of room

  • View Database from Android Studio1:54

    Use SQLite Database browser to view data.

    • Install the package from the website

    • Find the database files in emulator/android device

    • See the database content on screen

  • Write Queries to Fetch and Display Data4:38

    Steps to fetch data from the room database and display it in RecyclerView.

    • Update the components of room

    • Create the adapter class for RecyclerView

    • Populate the RecyclerView

  • Perform Update Operation6:58

    Steps to perform update operation.

    • Update the components of room

    • Add the activity for editing note

    • Connect UI to components of room

  • Perform Delete Operation3:44

    Steps to perform delete operation.

    • Update the components of room

    • Add interface for deleting the component

    • Connect UI to components of the room

  • Why WorkManager?4:53

    What is WorkManager?

    • Get an overview of WorkManager

    • Know the advantages of using WorkManager

    • Understand the classes and concepts related to WorkManager

  • Implementing WorkManager to Schedule Tasks6:03

    Steps to implement WorkManager in the Android project.

    • Add dependencies

    • Create worker class

    • Use WorkManager to create request for work

  • Running Tasks Under Specific Conditions3:14

    Implementing constraints to tasks in WorkManager.

    • Create the constraint

    • Add it to the task

    • Implement one or multiple constraints

  • Working with Input Parameters and Return Values4:50

    Passing data to and from tasks using WorkManager.

    • Create the data to be passed to task

    • Use setInputData to pass the data

    • Receive the data and return the result after the task is finished

  • Next Steps5:04

    Get a summary of the course and know what are the next steps

    • Refresh the concepts learned throughout the course

    • List the websites to refer in case of any doubt

  • Test Your Knowledge

Requirements

  • No previous knowledge with Android Architecture Components is assumed.

Description

Are you willing to learn all new Android Jetpack Architecture components and features in order to deliver an extendable, maintainable, and testable codebase? Then this course is for you!

With this comprehensive guide, you'll first get started with understanding Architecture Components & exploring data binding library. Then you will learn to handle lifecycles, ViewModel, navigation architecture component & much more. Moving further, you’ll not only be able to improve the performance but also enhance the UI of your application to a whole new level using advanced Architectural Components. to enhance the UI of your app, which gives you more control on your app and makes it easy to maintain.

By end of this course, you'll be able to develop professional grade apps for the latest Android version and become a pro-Android developer with reduce the lines of code and efficiently writing your Android application in a modern way.

Contents and Overview

This training program includes 2 complete courses, carefully chosen to give you the most comprehensive training possible.

The first course, Android Jetpack Architecture Components will show you all new Android Jetpack Architecture components and features. You will develop Android applications by making use of all the architecture components available with Jetpack to reduce bugs in your codebase and provide seamless and smooth application development. Adding architectural components to your projects will increase their scalability and reduce code bugs. By the end of the course, you will know how to use Jetpack to manage background tasks, navigation, paging, life-cycle management, and much more.

The second course, Modernizing Your Android Applications you’ll take an existing Android application build in Java and modernize it using the Kotlin language, seeing the importance of planning the architecture using SOLID principles and common Android Architecture using the MVP, MVC, and MVVM patterns. Moving on, you’ll implement Life Cycle Aware Components, use the viewmodel LiveData framework, and perform data management and persistence with the Room persistence solution. You’ll see how Kotlin efficiently accelerates the development by improving the code base. With the advanced Architectural Components, you’ll not only be able to improve the performance but also enhance the UI of your application to a whole new level. By the end of this course, you’ll have modernized your Android app using all the new features from coding it in Kotlin to implementing Architecture Components to enhancing the UI of your app, which gives you more control on your app and makes it easy to maintain.

About the Authors:

  • Annapurna Agrawal is an Android developer. She has also tried her hands on JavaScript, Kotlin, PHP, jQuery, CSS, and HTML. She is a software engineer from India and likes teaching. She is one of the trainers in the Google Developers Group at Bhubaneswar, Odisha in India. Besides all this, she practices yoga and meditation, YouTubing, and hanging out with friends. We are definitely going to get the best of quality here from her.

  • Yusuf Saber is an Android developer with over 5 years' professional experience. Yusuf earned his master's degree in Computer Engineering from Ryerson University in 2011 and started his career as a .NET developer before quickly turning to Android. He has worked on a large range of Android apps, from social to multimedia to B2B and more!

Who this course is for:

  • This course is for the android developer, who are willing to accelerate their development skills with less code in a more structured way & deliver maintainable, bug-free code which is achieved by using Architectural components.