Visit LEDU token page

How to Build your first Android app in RxJava and Dagger

How to Build your first Android app in RxJava and Dagger

  • English
  • Programming
  • AndroidAndroid
  • (2894)
  • Project length: 19h 48m

In most Android applications, you are reacting to user interactions (clicks, swipes and etc.) while doing something else in the background (networking). Orchestrating all of this is a hard thing and could quickly turn into an unmanageable code mess. For example, it isn't trivial to send a request to a database over network and after it completes start fetching user messages and preferences at the same time, and after all of that is complete show a welcome message. This is a case where RxJava (ReactiveX) excels - orchestrating multiple actions that happen due to certain events in the system. Using RxJava you will be able to forget callbacks and hellish global state management.

Overview

How to create Job Borad

Introduction

This tutorial project will illustrate how to build Android applications the right way. Having a solid architecture in mind and utilizing popular libraries like Dagger 2, RxJava and Butterknife improve the apps workflow and help you to focus on the important parts. We will build a simple Pokédex application to show what is possible. At the end of this stream you will not only have a very own Pokédex but also the knowledge to build everything you want! The design is by Jake Bell. You can find it here.

What are the requirements?

  • Basic Android experience
  • Experiences in Java and understanding of OOP concepts (Inheritance, interfaces, …)
  • JSON

What is the target audience?

  • You have basic experience in Android
  • Learners who want to enhance their knowledge

When are the streaming sessions (streaming schedule)?

Friday and Sunday at 4pm EST

Important

In the stream I announced that I will provide the snapshots of important application states. However LiveEdu does not allow to uploaded more than one file. Therefore I can only provide the latest snapshot, which is pokedexapp-sourcecode-7.1-favingpokemon.zip

EDIT: This project is done. Thank your for going on this adventure for me. I had a lot of fun doing it and I hope you had it as well following me. Feedback is greatly appreciated and will be rewarded with better quality of upcoming streams :D

Project Outline

Session 1: Setting-up the Environment 2017/11/4

  • Introduction
  • Create the project
  • Setup basic Gradle files and build chain
  • Add important application classes and mechanisms
  • Integrate Timber and Butterknife

Session 2: Dependency Injection 2017/11/5

  • Explain what dependency injection is
  • Explain what Dagger 2 is and its components
  • Add Dagger 2 and create application and activity scopes

Session 3: Clean code MVP architecture 2017/11/6

  • Why is architecture important and what is clean code MVP architecture
  • Build boilerplate units
  • Add units for the dashboard and the pokedex detail view
  • Add interactors

Session 4: The models 17/11/10

  • Create a new module
  • Add entities, models and transformers
  • Datastores and data sources
  • Add Pokemon data and expose them via datastore
  • And so the circle is complete: Showing Pokemon data in the view!

Session 5: Building the UI 2017/11/12

  • A concept of navigation
  • Building the layout files
  • Recyclerviews and adapters

Session 6: Building the UI - Advanced techniques 2017/11/17

  • Basic colors
  • Adding moves
  • Shared element transitions
  • Adding dynamic colors

Season 7: Building the UI - Charting 2017/11/19

  • Charts
  • Optional: Drawing map with custom views

Session 8: RxJava 2017/11/24

  • What is reactive programming and RxJava
  • Integrating RxJava in the PokédexApp
  • Pushing Pokemon in chunks and per item

Session 9: Extras and Outro 2017/11/26

  • Polishing
  • Adding launcher icon
  • Adding pokemon to your favorites
  • Outro

Reviews

Average rating

5(2894 Reviews)