Android development learning path 2020

Tram Ho

  • To start with any language, every developer has to designate a roadmap for that programming language.
  • Of course, from the outset every developer has to create his own roadmap. But the programming language is constantly changing over the quarters, years, and releases so updating the roadmap to fit is also important.
  • As an Android developer, I am always looking for a roadmap that suits me.
  • One of the sources I always refer to is MindOrks .
  • Coming to 2020, for both newbies and those who are programming Android, I would like to share a new roadmap that is not worth learning.

1, Programming

  • Java
  • Kotlin

2, Android studio

  • Android studio (install, update, overview).
  • Project structure.
  • Keyboard shortcut.

3, Android component

  • Activity (lifecycle, Task and backstack) >>> Fragment.
  • Service.
  • Broadcase Receiver.
  • Content Provider.

4, Intent

  • Intent (overview, type of Intent).
  • Intent Filter.
  • Pending Intent.

5, User interface

  • Static UI:
    • View: Button, ImageView, TextView, EditText …
    • ViewGroup: LinearLayout, RelaytiveLayout, FrameLayout, ConstraintLayout.
  • Dynamic UI:
    • RecyclerView.
    • ViewPage (ViewPager vs ViewPage2).
    • Spinner.
  • Note: AndroidX release has been around for a long time, so we should use Google material compoent to suit AndroidX.

6, CustomView

  • Canvas.
  • Bitmap.
  • Paint.

7, UI resources

  • Drawable.
  • String.
  • Styles.
  • Dimen …

8, Fragment

  • Fragment Lifecycle.
  • Fragment Manager, Fragment Transaction.
  • Single Activity.

9, Support User Interface

  • ProgressBar.
  • Dialogs.
  • Toast & Snackbar.

10, Storage

  • Shared Preferences.
  • File Systems.
  • Database – RoomDB

11, Build

  • Gradle.
  • Debug / Release Configuration.

12, Threading

  • Threads.
  • Handler / Looper.

13, Debugging

  • Memory profiling.
  • Logging.
  • Systrace.
  • Exceptions.
  • Error Handling.

14, Memory Leak

  • Detecting and Fixing Memory Leaks.
  • Context.

15, 3rd Party Library

  • Image Loading – Glide, Picasso.
  • Dependency Injection – Dagger, Koin.
  • Networking – Fast Android Networking Library, Retrofit.
  • MultiThreading – RxJava, Coroutines.

16, Data Format

  • JSON – GSON.
  • Flat Buffer.
  • Protocol Buffer.

17, Android Jetpack

  • Foundation Components – AppCompat, Android KTX, Multidex.
  • Architecture Components – LiveData, ViewModel, DataBinding, Paging, Work Manager, Navigation.
  • Behavior Components – Download Manager, Media Playback, Notification, Permissions, Preference, Sharing, Slice.
  • UI Component – Animation & Transition, Android Auto, Emoji, Palette, Android TV, Android Wear.

18, Architecture

  • MVVM.
  • MVP.

19, Unit Testing

  • Local Unit Testing.
  • Instrumentation Testing.

20, Firebase

  • FCM.
  • Crashlytics.
  • Analytics.
  • Remote Config.
  • App Indexing.
  • Dynamic Link.

21, Security

  • Encrypt / Decrypt.
  • Proguard.
  • R8.

22, App Release

  • .keystore file.
  • App Bundle.
  • Playstore.

  • My article is based on the post of Mindorks with a little modification.
  • And of course anyone who has mastered all these things is truly admirable. If not then set it as goal to strive for is also very little there.
  • In the process of studying and working there will be times when you feel no longer motivated or lost, please rely on that and go ahead.
  • I definitely can’t know all that 😅 . But if you’re passionate about Android, mastering it will come very soon.
  • That’s too cool (just sharing) and the last word Happy coding .
Share the news now

Source : Viblo