Skip to content

Latest commit

 

History

History
238 lines (181 loc) · 13.6 KB

README.md

File metadata and controls

238 lines (181 loc) · 13.6 KB

Android Developer Roadmap 2022

alt text

Android Developer Roadmap 2022 is learning paths to understanding Android development.

How to Learn Android?

In Android, programming is done in two languages JAVA or Kotlin and Jetpack Compose(Declarative UI) or XML(Extension Markup Language). The XML file deals with the design, presentation, layouts, blueprint, etc (as a front-end) while the JAVA or KOTLIN deals with working of buttons, variables, storing, etc (as a back-end). And the biggest confusion for an Android beginner is which language to choose between Java and Kotlin? So let me try to overcome the confusion first.

Java or Kotlin?

Java is the official language for Android App Development and consequently, it is the most used language as well. Kotlin has also been introduced as a “official” Java language in 2017. Kotlin is much simpler for beginners to try as compared to Java and it can also be used as an “entry point” for Android App Development. So my recommendation for a beginner is to go with Java first, then jump to Kotlin.

Table of contents

Let's start with basic learning

Sprint 1

Java basics

Android basics

Practicle 1.1

  • Button click counter application
    • Write an application which counts the number of button clicks and shows the click count on the app screen.

Version control system

Practicle 1.2

  • Create repository of practicle 1.1 on Gitlab

References

Delightful user experience

Practicle 1.3

Create the scorekeeper application.

Refrences

Code Style

A quick look on Java and Android code style

Json

Android Permission

Practicle 1.4

  • Write an application to request read and write storage permission on button click and Show result on the screen.

References

User interaction

Practicle 1.5

  • Write an application that has two edit texts for user name and user phone number, button and recycler view, shows user inputs in recycler view on button click.

References

Sprint 2

Kotin for android development

Kotlin is a great fit for developing Android applications, bringing all of the advantages of a modern language to the Android platform.

Working in background

Practicle 2.1

  • Write an application that lets the user trigger, update and cancel a notification using three buttons.

Practicle 2.2

  • Create an app that uses a broadcast receiver to receive incoming SMS messages. The app should display a notification when a message with a specific keyword is received.

Practicle 2.3

  • Create a music player application. Use android Service to play music in background.

References

Saving user data

Practicle 2.4

  • Imaplment Contact diary applicatio. User should be able to add, edit, delete, and search for contacts. Users can set reminders for the birthdays of their contacts and receive notifications.

References

Save data in local database

Advance Learning

Sprint 3

Now it’s time to dive into the real development with 50% work and 50% training daily

Jetpack compose

Practical 3.1

  • Create a UI like this
  • Create a Quiz Appication. It should displays a series of multiple-choice questions. Users can select an answer and receive instant feedback on whether they were correct or not.

References

Android Networking

Practicle 3.2

  • Retrieve and display a simple users list from web API to Android recyclerview using the retrofit library. Display Name, email, and city. Also add functionality to Delete the item.

References

Sprint 4

App Architecture

ViewModel and LiveData

Practicle 4.1

  • Use liveData and viewModel in practical 3.2

References

Sprint 5

RxJava and RxAndroid

Practical 5.1

  • Create an android application to show a list of movies in recycler view using rxjava and retrofit using MVP architecture.
  • Self exercise: Write an open-source project to cover operators of rxjava such as map, flat map, combine, zip etc...

References

Hilt

Practical 5.2

References

Sprint 6

Kotlin coroutines

Kotlin Flow

Practicle 6.1

  • Make a calculator application. Save calculation history in the database. Users can view history and clear history.

Practicle 6.2

References

Practicle 6.3

  • Write Unit test of praticle 6.2

References

StateFlow and SharedFlow

Extra

Useful libraries

  • Glide for loading and caching images
  • Timber : Very useful library for logging
  • EventBus - Android optimized event bus that simplifies communication between Activities, Fragments, Threads, Services, etc. Less code, better quality.
  • Coil An image loading library for Android backed by Kotlin Coroutines.