Course Information
Course Overview
An intermediate level course for developers with experience looking to get some good portfolio projects.
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!
Course Content
- 2 section(s)
- 80 lecture(s)
- Section 1 Create the simple way. Refactor to the professional way.
- Section 2 Food Data Viewer application. Professional from the start.
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
Skills covered in this course
Reviews
-
PPiotr Liszka
The course is outdated and I was hoping for more explanation of the MVI architecture. We spend most of our time fixing library conflicts than actually going through the course. The instructor's mistakes do not help the course if we go along with him. The videos should be better prepared and it would be worth updating because some of them are already deprecated. I took a lot of courses, but this one exhausted me mentally.
-
RRhony Abdullah Siagian
The architecture paradigm explanation about MVI for android is really good and clear, but one thing, there is should be some abstraction implementation about MVI architecture "without" any third party library. Actually i have a little disappointed with roxie and mobius. Otherwise, i recommend this course to any beginner or 1+ years android developers that need to know certain architecture together with the unit/instrumentation testing.
-
SSoluevo Soluções
I learned a lot from this course! Certainly evolved as a developer. The course also requires me to use several topics. Very satisfied and returned here again. I even published an app. Google play link https://play.google.com/store/apps/details?id=br.com.angelorobson.whatsapplinkgenerator and repository for the github project: https://github.com/angelorobsonmelo/Whaspp-link-generator
-
AAleksandr Beloushkin
The course is interesting, contains hot topics and good content but there are issues. Sound quality sometimes is poor and you need to put some effort to understand what is said. Also sometimes explanations are a bit too short for the most interesting places.