Become an android developer

Android Developer

Step by step guide to becoming an Android developer in 2021

The intent of this guide is to give you an idea about the Android development landscape and to help guide your learning if you are confused. Before we start, please note that the roadmap is opinionated, and you might have different opinions than those of the author. Having said that, we would love to hear your opinions and incorporate them in the roadmap if suitable.

There are multiple ways to develop applications for the android; you can go down the path of hybrid application development where flutter, react-native, or NativeScript are the most common contenders. Flutter uses Dart, whereas React Native and Native Script rely on JavaScript. Answering the question of hybrid vs native is out of the scope of this roadmap. This roadmap is focused on the native Android apps development but if you are interested in learning any hybrid framework, my personal preference is react-native and I would recommend you to checkout the Frontend Developer Roadmap.

Here is the full version of the roadmap in a single image and after that we have the broken down version with the resources and links to learn more about each of the boxes.

Broken Down Version

Below is the broken down version of the roadmap with links and resources to learn more about each of the items listed in the complete roadmap above.

Pick a Language

For the languages, you can develop android apps either by using Kotlin or Java.

Although, you can use both Kotlin and Java to develop native android apps, Google announced in 2019 to make Kotlin the preferred way of developing android applications. If you were to start learning android development today, Kotlin should be your language of choice.

Install the Android Studio and learn the basics of Kotlin to get started.

We have also listed down some free resources which you can use for the items listed in the image above. If you have some better ones, please do suggest. Also, you don’t need to go through all of them, just go through them and pick what you like.

Version Control Systems

Version control systems record your changes to the codebase and allow you to recall specific versions later. There are multiple Version Control Systems available but Git is the most common one these days.

Here are some of the resources to get you started. Feel free to google and find something else that you find easier.

Building an Application

Here is the list of items that you are going to need when developing Android applications. Please note that, this is an exhaustive list, and you don’t need to know it all from the get-go. Get an idea of the items listed, and just start building some apps and keep the items listed in the back of your mind and have a deep dive when using them.

Читайте также:  Отключить звук уведомлений андроид ночью

To learn more about the items listed in the image above, here are the links to the relevant docs

I would highly recommend watching this free course from google on Developing Android Apps with Kotlin. Also, here are some of the resources to learn more about the topics listed above.

That wraps it up for the android developer roadmap. Again, remember to not be exhausted by the list; just learn the basics and start working on some project, rest of the learnings will come along the way. Good luck!

For any suggestions, improvements and feedback, feel free to submit an issue or reach out to me on twitter @kamranahmedse.

Open Source

The project is OpenSource, 7th most starred project on GitHub and is visited by hundreds of thousands of developers every month.

A considerable amount of my time is spent doing unpaid community work on things that I hope will help humanity in some way. Your sponsorship helps me continue to produce more open-source and free educational material consumed by hundreds of thousands of developers every month.

Stay Informed

Subscribe yourself to get updates, new guides, videos and roadmaps in your inbox.

Free subscription for updates

Support the project by paying as little as 5$ per month

Источник

Best Way to Become Android Developer – A Complete Roadmap

Android is an open-source operating system, based on the Linux kernel and used in mobile devices like smartphones, tablets, etc. Further, it was developed for smartwatches and Android TV. Each of them has a specialized interface. Android has been one of the best-selling OS for smartphones. Android OS was developed by Android Inc. which Google bought in 2005. Various applications like games, music player, camera, etc. are built for these smartphones for running on Android. Google Play Store features quite 3.3 million apps. Today, Android remains dominant on a global scale. Approximately 75% of the world population prefers using Android as against 15% of iOS. It is an operating system that has a huge market for apps.

It is known to everyone that how popular is Android nowadays. Now the questions arise are, Why Android(Decide the Goal First?), how to start? Where to start? What topics one should cover? etc, etc. Do you need to learn all the concepts from a book or you should go with some online tutorials or you should learn Android by doing some projects on it? So in this article, we are going to discuss all these things in detail.

Why Android? (Decide the Goal First?)

So before jumping into the complete Roadmap of Android one should have a clear goal in his/her mind that why he/she wants to learn Android? Is it for your college academic projects? or is it for your long-term career? or do you want to build your apps to start your business? So first make a clear goal. Why do you want to learn Android? For example, if you want to learn Android for your college Academic projects then it’s enough to just learn the beginner things in Android. Similarly, if you want to build your long term career then you should learn the professional or advanced things also. So it’s on your hand and it’s your decision why you want to learn Android.

Читайте также:  Клавиатура эпл для андроид

How to Learn Android?

In Android, programming is done in two languages JAVA or Kotlin and 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. Many of the apps in the Play Store are built with Java and it is also the most supported language by Google.

Kotlin is a cross-platform programming language that may be used as an alternative to Java for Android App Development. It has also been introduced as a secondary “official” Java language in 2017. The only sizable difference is that Kotlin removes the superfluous features of Java such as null pointer exceptions. It also removes the necessity of ending every line with a semicolon. In short, 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. Why Kotlin? Because Google has already declared Kotlin as the first-class language. And then Why Java? So in order to get the most out of Kotlin, we must have a knowledge of Java. So start with the Java basics then the Kotlin basics then go for Android Studio.

Learning Resources

There are plenty of resources and videos available online and it’s confusing for developers where to start learning all the concepts. Initially, as a beginner, if you get overwhelmed with so many concepts then don’t be afraid and stop learning. Have patience, explore, and stay committed to it.

The best way to learn Android is by developing some baby projects to some advanced projects.

A Roadmap to Learn

Start with the Overview of Android. Read some android related blogs and also research some Android-related things. For example read blogs on Introduction to Android Development, History of Android, Different Versions of Android, and also topics like Why Kotlin will replace Java for Android App Development, etc. etc. and make a complete mind makeup to start your journey on Android. Make yourself self-motivated to learn Android and build some awesome projects on Android. Do it regularly and also start learning one by one new concept on Android. It will be very better to join some workshops or conferences on Android before you start your journey. Make your goal clear and move on toward your goal.

1) Programming

One may consider this step as a prerequisite. Learn these programming languages before you start learning Android.

  • Java Programming Language
  • Kotlin Programming Language
  • Sound Knowledge of XML (Extensible Markup Language)
Читайте также:  Как выбрать картинку для андроид

2) Android Studio

It’s better to know your tools before you are going to use it. Android Studio is the official Integrated Development Environment for Google’s Android operating system, built on JetBrains’ IntelliJ IDEA software and designed specifically for Android development.

  • File Structure:
    • AndroidManifest.xml file
    • Java file
    • Drawable file
    • Layout file
    • mipmap file
    • colors.xml file
    • strings.xml file
    • styles.xml file
    • build.gradle(Module: app) file
  • Android Studio Overview:
    • Create a new project
    • Reopen, close, save the project
    • Create a new activity, classes, drawable resource files
    • Run the app on AVD of Emulator or in a real device etc.

3) Android Components

There are some necessary building blocks that an Android application consists of. These loosely coupled components are bound by the application manifest file which contains a description of each component and how they interact.

  • Activity:
    • Activity life cycle
    • Handle Activity State Changes
    • Understand Tasks and Back Stack
    • Processes and Application Lifecycle
  • Services:
    • Types of Android Services
    • The Life Cycle of Android Services
  • Content Provider:
    • Content URI
    • Operations in Content Provider
    • Working of the Content Provider
    • Creating a Content Provider
  • Broadcast Receiver:
    • Implicit Broadcast Exceptions

4) Simple UI Design

After you got an idea about the different components of Android then start exploring some simple UI design which is given below.

  • Explore different layouts:
    • Frame
    • Linear
    • Relative
    • Constraint
  • View Elements:
    • TextView
    • EditText
    • Buttons
    • ImageView
  • Intent:
    • Implicit
    • Explicit
    • Intent Filter

5) Complex UI Design

Once you have a command on simple UI design then solely move to the complex UI design part such as:

  • ListView
  • RecycleVIew
  • Fragments
  • Dialogs
  • Toast
  • Bottom Sheets
  • Navigation Drawer
  • Tabs
  • Material Design
  • Some inserting Animations

6) Storage

In Android, there are three types of the storage system:

  • Shared Preferences
  • File System
  • Database
    • RoomDB

7) Build

  • Gradle
  • Debug/ Release Configuration

8) Threading

  • Threads
  • Looper

9) Debugging

One of the most important skills of a developer is debugging skills. So the developer must learn these things:

  • Exceptions
  • Error Handling
  • Logging
  • Memory Profiling

10) Memory Leaks

11) Third-Party Libraries

  • Image Loading Libraries
    • Glide
    • Picasso
    • Fresco
    • COIL
  • Dependency Injection
    • Dragger
  • Networking
    • Retrofit
  • Multithreading
    • Coroutines
    • Rxjava

12) Android Jetpack

On its official site, it says Android Jetpack is a set of libraries, tools, and architectural guidance to help make it quick and easy to build great Android apps. It provides common infrastructure code so you can focus on what makes your app unique.

  • AppCompat library
  • Architecture components,
  • Animation and transitions
  • Android Ktx
  • Navigation
  • Paging
  • Slices
  • WorkManager

13) Android Architecture

The three famous architecture in the Android world are:

  • MVVM (Model–View–ViewModel)
  • MVI (Model-View-Intent)
  • MVP (Model View Presenter)

14) Firebase

  • FCM (Firebase Cloud Messaging)
  • Analytics
  • Remote Config
  • App Indexing

15) Unit Testing

  • Local Unit Testing
  • Instrumentation Testing

16) Security

  • Encrypt / Decrypt
  • Proguard

17) App Release

  • Signed APK
  • Play Store

18) Keep Practicing and Read Some Android Tips

“Practice makes a man perfect” which tells the importance of continuous practice in any subject to learn anything. So keep practicing and read some Android tips such as Tips to Improve Your Android Development Skills, Tips to Get Your Android App Featured on Google Play Store, etc. Below is a complete diagrammatical representation of the Android Roadmap.

Источник

Оцените статью