Advanced Android – Architecture with Dagger 2 and more
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 it's 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 it's 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 it's 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 it's 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 you'll 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
-
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!
You may also like
- Top 10 Language Learning Courses to Learn in November 2024
- Top 10 Video Editing Courses to Learn in November 2024
- Top 10 Music Production Courses to Learn in November 2024
- Top 10 Animation Courses to Learn in November 2024
- Top 10 Digital Illustration Courses to Learn in November 2024
- Top 10 Renewable Energy Courses to Learn in November 2024
- Top 10 Sustainable Living Courses to Learn in November 2024
- Top 10 Ethical AI Courses to Learn in November 2024
- Top 10 Cybersecurity Fundamentals Courses to Learn in November 2024
- Top 10 Smart Home Technology Courses to Learn in November 2024
- Top 10 Holistic Health Courses to Learn in November 2024
- Top 10 Nutrition And Diet Planning Courses to Learn in November 2024
- Top 10 Yoga Instruction Courses to Learn in November 2024
- Top 10 Stress Management Courses to Learn in November 2024
- Top 10 Mindfulness Meditation Courses to Learn in November 2024
- Top 10 Life Coaching Courses to Learn in November 2024
- Top 10 Career Development Courses to Learn in November 2024
- Top 10 Relationship Building Courses to Learn in November 2024
- Top 10 Parenting Skills Courses to Learn in November 2024
- Top 10 Home Improvement Courses to Learn in November 2024