2022 Android Advanced Learning RoadMap!

2022 Android Advanced Learning RoadMap!

This article is reprinted from the WeChat public account "Programmer Bus", written by Eason. Please contact the Programmer Bus public account to reprint this article.

I saw an article saying "There are already many junior Android programmers in China in recent years, but mid-level and senior Android technical talents are still scarce"; this is indeed true. It is already 2022, and it has been seven or eight years since the peak of Android. It is not easy to find a suitable mid-level or senior Android engineer now. Generally, a lot of interviews are required to select a satisfactory one. So Eason wants to write an article to describe the Android learning route, hoping to help more Android programmers improve themselves.

This article applies to:

Anyone who wants to learn Android development but doesn't know where to start.

It's also for anyone who's already started Android development but wants to get better.

In order to become a better Android developer, Eason provides a general roadmap for everyone. If the following learning route can help you become a better Android developer, then my mission is accomplished:

A Complete Guide to Learning Android App Development

Android Developer Roadmap

Install Android Studio IDE and start using Android

  • What is Android and how does it work?
  • Install Android Studio

Android Components

  • What is an Activity?
  • UI Design - User Interface
  • What is a View and how does it work?
  • What is an Intent?
  • Activity Lifecycle
  • Dialog UI

Shared Preferences

  • Even if you kill the app and reopen it, the data will be retained because you can use Shared Preferences.

RecyclerView

  • To build UIs that display lists of items, Android apps use RecyclerView.
  • Applications such as WeChat and QQ use RecyclerView to construct chat screens.

Getting started with Kotlin

  • Google has officially announced Kotlin as a first-class language for Android. It is important to learn Kotlin now.
  • Kotlin is concise, null-safe, and interoperable.
  • Start with the basics of Kotlin.
  • Convert Java code to Kotlin using basic knowledge of Kotlin.

Singletons, Processes, and Threads

  • Applications taking advantage of threads can make applications run faster and provide the best user experience.
  • It will also be a huge help in interviews.

Database Implementation

  • Use a database to store messages, so you can see all messages sent or received even when you are not connected to the Internet.
  • Most apps use a database to store data.

Permissions and image loading

  • Apps that involve call permissions will ask for contact permissions when they are launched for the first time.
  • Use an image loading library like Glide Volley to load images from the feed.

Work Manager

Using WorkManager, apps can even fetch data while they are asleep and show you the latest news when you open the app in the morning, even if you haven’t been connected to the network for some time during the night.

Notification

  • Almost all Android apps use notifications to show any updates to the app.

NetWork

  • The application obtains data from the server through network calls.

ViewPager and Fragment

  • Mainstream apps like Tik Tok and WeChat use ViewPager to allow users to scroll between content fragments, friend circle fragments, personal center fragments, etc.
  • Activities contain Fragments.

Debugging and APK Release

  • Debugging - This is a learning opportunity for developers, after all, it is one of the most important skills.
  • APK Publishing – Publish your app on the app stores and reach your users easily.

Key Points

  • What is Context?
  • Object-Oriented Programming — OOP
  • Class design and structure
  • File system, read, write, asset read and write
  • ConstraintLayout in Android
  • Canvas API in Android
  • Custom View

At this point, you have almost mastered the basic knowledge and will easily achieve:

  • Start developing your own DIY Android apps.
  • Find your first internship in Android.
  • Publish your app on the app store.

Now, let’s move on to the next milestone.

Dagger

  • When the project gets bigger, you need to learn about dependency management and use Dagger in your project to manage dependencies. Companies like Google use Dagger in their Android applications.
  • Learn to design your own dependency management framework.

Learn Kotlin

  • Brush up on the basics of Kotlin.
  • Start learning Kotlin language-specific features.
  • Learn advanced Kotlin features.
  • Nowadays, most of the companies are starting to use Kotlin for their new projects. Also, older Java projects are being migrated to Kotlin.

Architectural Components

  • Architecture components like LiveData, LifeCycle, ViewModel etc. help in managing our UI component lifecycle and handling data persistence.
  • Challenges of lifecycle processing, Activity rotation problem
  • Learn to create lifecycle-aware components
  • Shared ViewModel

RxJava

  • RxJava has become one of the most important skills in Android development.
  • Almost every application uses RxJava for multithreading.
  • RxJava makes life easy for developers.
  • How do threads work in Android?

Database Design

  • The application uses a database to store data on the Android side, and the database is designed to make queries faster, making the application run faster.
  • Right now, we are using Room, a library created by Google. Room provides an abstraction layer on top of SQLite to allow for fluid database access while leveraging the full power of SQLite.
  • Understand relational database concepts
  • Normalization and many-to-many relationships
  • Learn about type converters, migrations in Room database.

networking

  • Android applications use networking libraries such as Retrofit to fetch data.
  • Nowadays, Retrofit is one of the famous libraries for making network calls.
  • Learn to create GET and POST requests and handle complex data models
  • Understand many concepts related to networking such as Multipart, Interceptors for uploading images.

MVVM, MVC and MVP

  • Learn to build login, feed, post creation, and profile pages using MVVM architecture with Architecture Components, LiveData, ViewModel, ViewModelFactory, Dagger, Retrofit, RxJava.
  • Understand MVC, MVP and MVVM architectures.
  • How do ViewModel, ViewModelProviders, and ViewModelProviderFactory work?
  • Build functionality like capturing image through camera, selecting image through gallery
  • Use Multipart to upload images.
  • The principle of life cycle awareness RecyclerView
  • Lifecycle Aware RecyclerView ViewHolder Implementation: Average developers ignore this. Good developers consider all edge cases when developing Android applications.
  • Implementing paging functionality using RxJava

Unit Testing

  • Testing is a software development process in which we do a lot of different things to find bugs. The less the number of bugs, the better the chances of that particular software performing well in production.
  • It forces you to follow the architecture in your codebase, helps detect failures quickly during the development cycle, and helps you do safer code refactoring, allowing you to optimize your code without worrying about regressions.

Kotlin coroutines

  • What exactly is a coroutine?
  • Need a solution provided by Kotlin Coroutines
  • scheduler, suspend, start, async
  • What is scope in Kotlin coroutines?
  • Exception handling in Kotlin coroutines

Android build system and memory management

  • Understanding the Android Build system and memory management is very important for Android developers.
  • It will help you build Android applications that consume less memory
  • Still cracking interviews at top companies.

Android Multithreading and Handler-Looper

  • Understanding multithreading will help you perform tasks in the background efficiently.
  • Android Looper, Handler and HandlerThread are the building blocks of Android OS. So this is one of the most asked topics in interviews.
  • Multithreading and Handler-Looper are very important for interviews.

Network cache interceptor image loading

  • Understanding the internal structure and source code of a third-party library is important to make full use of it.
  • Furthermore, these concepts will give you an edge over other candidates during interviews.

If you have no problems with the above, then you have already achieved:

  • Ability to build powerfully architected Android applications.
  • Find a good job in Android field.

<<:  Android 13 new features exposed: Play directly when close to media devices

>>:  Google VP criticizes Apple iMessage for "green bubble bullying" of Android users

Recommend

It's about the college entrance examination! Be careful of these "pitfalls"!

The college entrance examination is a major test ...

Apple users complain: iPhone 6 screen is too easy to be scratched!

On November 25, more and more Apple users complai...

Android decompilation: decompilation tools and methods

[[126320]] Preface Sometimes during the developme...

In the competition of bean nutrition, which "idol" will stand out?

Soybeans, miscellaneous beans and various soy pro...

17 must-have tools to improve iOS development efficiency

[[155464]] Time is money. Improved coding efficie...

How to organize an event with almost zero budget, free event

Last time a colleague told me that their annual g...

Apple mobile phone marketing strategy!

An excellent brand is inseparable from excellent ...

How to choose promotion channels? Look at these 5 principles and 4 dimensions

Under the epidemic, traffic has shifted online an...

A fast integration framework: MVP+Dagger+mainstream framework, it is enough

Preface In the Android technology circle this yea...

6 tips to improve user retention rate!

Generally speaking, the cost of attracting a new ...