Udemy
    •  
    •  
    •  
    •  
    •  
    •  
    •  
    •  
Turn what you know into an opportunity and reach millions around the world.
Learn More
Your cart is empty.
Keep shopping
Android Redux/MVI pattern. Tests. Dependency Injection.
Rating: 4.1 out of 5(32 ratings)
217 students

Android Redux/MVI pattern. Tests. Dependency Injection.

An intermediate level course for developers with experience looking to get some good portfolio projects.
Created byAleks Krause
Last updated 9/2020
English

What you'll learn

  • Professional application development
  • MVI software architecture pattern
  • Testing
  • Instrumentation testing
  • Dependency injection
  • Kotlin
  • RxKotlin
  • Barcode scanning
  • Dagger 2
  • Model View Intent
  • Unit testing

Course content

2 sections80 lectures10h 3m total length
  • CatFacts introduction2:20

    Overview of the section

  • Git repo0:07
  • Project setup7:01
  • Creating the views11:07
  • Networking21:42
  • Networking remarks2:06
  • Simple application complete7:26
  • Remark0:21
  • Refactoring intro7:49
  • Dependency Injection intro0:40
  • Dependency injection14:47
  • Remarks0:15
  • Dependency Injection done8:24
  • Refactoring explanation4:04
  • Remarks0:38
  • Model View Intent1:42
  • Creating the viewmodel19:46
  • Hooking everything up7:34
  • Remarks0:29
  • Unit tests19:59
  • Espresso0:50
  • Instrumented tests - mockWebServer24:09
  • Instrumented tests - mockWebServer remarks0:30
  • Instrumented tests alternative - control viewModel from the outside22:49
  • Instrumentation tests alternative remarks0:27
  • Section recap5:59

Requirements

  • Previous experience with android. 6 months to 1 year minimum.
  • Some knowledge of reactive frameworks, such as RxJava / RxKotlin
  • An interest in testing android applications

Description

Creating an android application can be easy. However the easy way is not always the most well thought out way. 

In this course we will learn what it means to create an application the easy way and then what the easy way looks like when refactored to the clean and maintainable way. The course focuses hard on maintainability and testability. Covering a variety of topics such as how to build your own Dependency Injection, how Dependency Injection is done using Dagger 2, Model View Intent pattern, RxJava (RxKotlin), Room database, Retrofit, viewModels, Instrumentation testing with Espresso, jUnit testing your business logic controllers, Firebase MLKit barcode detection.

After completing this course you will know why writing clean and maintainable code is good and how to use it in your upcoming projects. You will also get a very powerful portfolio project out of the "FoodDataViewer" application that we will be building in the second half of this course.

Both sections of the course will focus on the Model View Intent architecture. The difference between the 2 sections will be that the first section will teach you how to refactor a simply created application and also how to create dependency injection yourself. By doing so we will understand the nuts and bolts of MVI archtecture. Also we will learn to create dependency injection ourselves before using a library for it. This knowledge will lead us to the second section where we will actually create a bigger maintainable and testable application right away using Dagger 2 and a list of other applications.

You will learn that maintainable architecture gives the best way to know our view's state. This state will be kept in the viewModel and can always be rebuilt. Learn to utilize the power of logcat by logging all that the viewModel is doing. This can come especially handy if you want to trace how a crash happened in an application.

Let's get to it!

Who this course is for:

  • Intermediate android developers