Giter Site home page Giter Site logo

android-developer-roadmap's Introduction

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.

android-developer-roadmap's People

Contributors

cp-radhika-s avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.