HOME > Development > Advanced Android Architecture with Dagger 2 and more

Advanced Android Architecture with Dagger 2 and more

  • Development
  • Jan 05, 2025
SynopsisAdvanced Android – Architecture with Dagger 2 and more,...
Advanced Android Architecture with Dagger 2 and more  No.1

Advanced Android – Architecture with Dagger 2 and more, available at $49.99, has an average rating of 4.35, with 90 lectures, 4 quizzes, based on 560 reviews, and has 3649 subscribers.

You will learn about Build an Android app with an easy to maintain and testable architecture. (Hint: Not everything belongs in Activities/Fragments!) Setup a project with dependency injection using Dagger 2. Understand RxJava and how to architect Android applications with Reactive Programming in mind. Use Reactive View Models to make unit testing UI possible and make handling view state more straightforward. Use mock data to be able to run and test your app without needing network access Use Dagger 2 to swap test versions of your dependencies during Espresso/UI tests This course is ideal for individuals who are Anyone who wants to learn how to create apps with an easy to maintain, testable architecture. or Android developers looking to learn more advanced techniques. or Android developers interested in dependency injection and why its so popular. or Android developers wanting to understand RxJava, and Reactive Programming in general. It is particularly useful for Anyone who wants to learn how to create apps with an easy to maintain, testable architecture. or Android developers looking to learn more advanced techniques. or Android developers interested in dependency injection and why its so popular. or Android developers wanting to understand RxJava, and Reactive Programming in general.

Enroll now: Advanced Android – Architecture with Dagger 2 and more

Summary

Title: Advanced Android – Architecture with Dagger 2 and more

Price: $49.99

Average Rating: 4.35

Number of Lectures: 90

Number of Quizzes: 4

Number of Published Lectures: 90

Number of Published Quizzes: 4

Number of Curriculum Items: 94

Number of Published Curriculum Objects: 94

Original Price: $89.99

Quality Status: approved

Status: Live

What You Will Learn

  • Build an Android app with an easy to maintain and testable architecture. (Hint: Not everything belongs in Activities/Fragments!)
  • Setup a project with dependency injection using Dagger 2.
  • Understand RxJava and how to architect Android applications with Reactive Programming in mind.
  • Use Reactive View Models to make unit testing UI possible and make handling view state more straightforward.
  • Use mock data to be able to run and test your app without needing network access
  • Use Dagger 2 to swap test versions of your dependencies during Espresso/UI tests
  • Who Should Attend

  • Anyone who wants to learn how to create apps with an easy to maintain, testable architecture.
  • Android developers looking to learn more advanced techniques.
  • Android developers interested in dependency injection and why its so popular.
  • Android developers wanting to understand RxJava, and Reactive Programming in general.
  • Target Audiences

  • Anyone who wants to learn how to create apps with an easy to maintain, testable architecture.
  • Android developers looking to learn more advanced techniques.
  • Android developers interested in dependency injection and why its so popular.
  • Android developers wanting to understand RxJava, and Reactive Programming in general.
  • Hello everyone and thank you for your interest in Advanced Android!

    Android development has a lot of great benefits, such as low barrier to entry, low cost to be a published developer, and of course, being able to run your creations on millions of devices.

    Developing a maintainable and testable application that is easy to add new features to can be difficult. It requires thinking ahead about the architecture of your application and getting beyond the “just make it work” stage. This is something I personally find the most fun about development, however. My goal is to help you get into the same mindset and teach you about architecture patterns that will accomplish the previously mentioned items.

    This course is an intermediate course, so familiarity with the Android development process will help greatly. It will move quickly, but advanced concepts will be explained thoroughly. That said, we will be building an application from the very beginning, so by following along, no matter what your skill level, you will be able to complete this course and have a fully functioning Android app with the kind of architecture that you would hope to see in an enterprise level project. That’s not to say that all companies have applications with great architecture (if only we developers could be so lucky), but after this course you will be able to identify if a project doesn’t—and have an idea on how to fix it!

    Here are some of the things you will learn in this course:

  • Dependency Injection with Dagger 2

  • Making network requests with Retrofit

  • Unit testing with Junit and Mockito

  • Using test doubles?in Espresso tests with Dagger 2

  • MVP / MVVM architecture (yes, a mixture! Read below for details) using Reactive View Models

  • In regards to the MVP / MVVM architecture point:

    The classic software architecture patterns are baseline frameworks attempting to describe how layers of your software communicate with each other. It is important to remember that forming the patterns to what works best for you is the key; as long as you follow basic software architecture principles, any architecture is a good architecture! In this course you will learn how using Reactive View Models with Presenters can help you separate responsibilities and make your application much easier to test.

    With all that said I’m excited to get started showing you how to create applications that will make your life, and those of the developers following you, easier and more enjoyable!

    Course Curriculum

    Chapter 1: Introduction

    Lecture 1: Introduction

    Lecture 2: Contact Info

    Chapter 2: Creating the project

    Lecture 1: Starting the new project

    Lecture 2: Project Files

    Chapter 3: Setting up Dagger

    Lecture 1: Dagger Setup Notice

    Lecture 2: Creating the Application Scope

    Lecture 3: Creating the Activity Scope

    Lecture 4: Dagger Multibindings Explanation

    Lecture 5: Activity Injector

    Lecture 6: Screen Injector Part 1

    Lecture 7: Screen Injector Part 2

    Lecture 8: Following the Dagger Flow

    Lecture 9: Project Files

    Chapter 4: Our First Screen

    Lecture 1: Creating the ScreenNavigator

    Lecture 2: Creating the models

    Lecture 3: Informational: AutoValue

    Lecture 4: Adding our networking framework

    Lecture 5: Informational: RxJava

    Lecture 6: Informational: RxJava Introduction

    Lecture 7: Informational: RxJava Operators

    Lecture 8: Informational: RxJava Marble Diagrams

    Lecture 9: Informational: RxJava Types

    Lecture 10: Trending Repos Presenter and View Model

    Lecture 11: Finally, showing something on screen!

    Lecture 12: Informational: Dagger check-up

    Lecture 13: Project Files

    Chapter 5: Unit Testing

    Lecture 1: Intro and setting up Mockito

    Lecture 2: Mock Data and View Model Unit Tests

    Lecture 3: Presenter Unit Tests

    Lecture 4: Project Files

    Chapter 6: UI Testing with Espresso

    Lecture 1: Setting up the UI Testing Framework

    Lecture 2: Note: UI Framework

    Lecture 3: Our first UI Tests

    Lecture 4: UI Test Summary

    Lecture 5: Project Files

    Chapter 7: Handling Screen Navigation and using a Repository

    Lecture 1: New Screen Introduction

    Lecture 2: Using BindsInstance in Component Builders

    Lecture 3: Using a Repository

    Lecture 4: Repository Unit Test

    Lecture 5: Repo Details View Model

    Lecture 6: Repo Details View Model Unit Tests

    Lecture 7: Repo Details Presenter

    Lecture 8: Repo Details Presenter Unit Tests

    Lecture 9: Injecting Schedulers (Repository Unit Tests Revisit)

    Lecture 10: Navigating to Repo Details

    Lecture 11: Creating the Contributor Adapter

    Lecture 12: Finishing the Repo Details Controller

    Lecture 13: Project Files

    Chapter 8: More UI Testing Tricks

    Lecture 1: Enhancing our UI Testing Framework

    Lecture 2: Enhancing the Test Repo Service

    Lecture 3: Using a test robot

    Lecture 4: Adding the Repo Details tests

    Lecture 5: Project Files

    Chapter 9: Gradle Tasks

    Lecture 1: Creating a simple Gradle Task

    Lecture 2: Project Files

    Chapter 10: Debug Drawer and Live Mock Responses

    Lecture 1: Adding a Debug Drawer

    Lecture 2: Debug Drawer in app that has a Navigation Drawer

    Lecture 3: Adding an Interceptor

    Lecture 4: Project Files

    Chapter 11: Next Steps

    Lecture 1: You made it!

    Lecture 2: Bonus Lecture: Discount on Architecture Components – View Model Course

    Chapter 12: Lifecycle Callbacks

    Lecture 1: Section Overview

    Lecture 2: The ActivityLifecycleTask

    Lecture 3: Converting ScreenNavigator Implementations

    Lecture 4: The ScreenLifecycleTask

    Lecture 5: Notice: Updating the Toolbar

    Lecture 6: Updating the Toolbar

    Lecture 7: Using a Toolbar provided in the Activity Layout

    Lecture 8: Using a DisposableManager to clean up scoped Disposables

    Lecture 9: Project Files

    Chapter 13: Pro RecyclerView

    Lecture 1: Starting Files

    Lecture 2: Power Adapter Introduction

    Lecture 3: Creating a new Gradle Module

    Lecture 4: Creating the interfaces

    Lecture 5: Creating the RecyclerDataSource

    Lecture 6: Creating the last Adapter youll ever need

    Lecture 7: RecyclerDataSource Unit Tests

    Lecture 8: Updating the Trending Repos List

    Lecture 9: Updating the Trending Repos Unit Tests

    Lecture 10: Updating the Contributors List

    Lecture 11: Updating the Repo Details Unit Tests

    Lecture 12: Project Files

    Chapter 14: Using Fragments

    Instructors

  • Advanced Android Architecture with Dagger 2 and more  No.2
    Brandon Gogetap
    Software Engineer focusing on Android
  • Rating Distribution

  • 1 stars: 24 votes
  • 2 stars: 19 votes
  • 3 stars: 71 votes
  • 4 stars: 169 votes
  • 5 stars: 277 votes
  • Frequently Asked Questions

    How long do I have access to the course materials?

    You can view and review the lecture materials indefinitely, like an on-demand channel.

    Can I take my courses with me wherever I go?

    Definitely! If you have an internet connection, courses on Udemy are available on any device at any time. If you don’t have an internet connection, some instructors also let their students download course lectures. That’s up to the instructor though, so make sure you get on their good side!