Becoming an Android Developer

in #utopian-io7 years ago (edited)

              


Why Android

Android is a fast growing mobile operating system that is gaining much popularity in the mobile market. While mobile technology has improved greatly, the possibilities with the android platform is just seamless. The points under listed should encourage any one to begin a journey in the android platform.

  • Worldwide, over 86% of smartphones are Android-based. Android-majority in virtually all countries.
  •  In the US, 66% of smartphones are Android-based.
  •  Mobile development (smartphones and tablet) is the key focus for most modern product companies.
  •  Huge demand and short supply of Android developers.
  •  Across the US, the average salary of an Android developer is 93K. In San Francisco, the average salary of an Android developer is 140K

Statistics gotten from codepath - https://codepath.com


Android Development Road Map

Getting started on android development is quite easy. The following topics which are the building block of any android app, should get you started into becoming an android developer.

  • Activities
  •  Activity lifecycle
  • Android Views
  • UI components
  •  Intents
  •  Services
  •  Content Providers
  • Broadcast Receivers

Being an Android Developer, you have to keep yourself updated with new frameworks, libraries, and modern coding standards. Below is the list of few such topics, that you should  learn. learning these will help you to increase your coding skills and standards gradually:- 

  •  MVP (Android Architecture Pattern) 
  • RxJava (Observer Pattern on Steroids) 
  • Dagger 2 (Dependency Injection Framework)
  • TDD (Test Driven Development)     

                   Mockito (Testing Framework)   

                   Espresso Testing (Testing Framework)   

                   RoboElectric (Unit Test Framework)

  • RetroLambda (To use Java 8 Features in Android) 
  • Data Binding (Bind Data & UI) 
  • LeakCanary (Memory Leak Detection Library) 
  • Firebase (Tools to build Better Apps)
  • MVVM (Another Android Architecture Pattern)
  • Retrofit (Type Safe Rest Client)
  • FCM (Used for Push Notification) 
  • Kotlin (Statically-Typed Programming Language)  


There are a lot of other advanced topics that you should know about, but surely they will be having a huge learning curve and starting with items mentioned above will bring you on the same page as the rest of experienced Android Developers.

Since android is open source, there are lots of free rich resources and paid ones available online to help your learning


in this journey of learning android app development, you will need to give it time and enough practice  in order to become a world class developer.


Happy Learning...

Sort:  

Thank you for your contribution. However, please spend some time reading the rules. PS: please also don't copy texts from internet.

Contributions must have a comprehensible commit history. Projects or updates submitted in a single commit will not be accepted.
Outdated or low quality code will lead to rejection.
Generated code or other results of automated processes will not be accepted.
Submitted projects must have unique value. Redundant projects will not be accepted.
Trivial code snippets, example code or simple templates will not be accepted.
Bug Fixes and New Features must be submitted via Pull Requests. The Pull Request must have been merged within the past 14 days.
Updates on Own Projects can be committed directly, without a Pull Request. Commits must not be older than 14 days.
Bug Fixes for contributor’s Own Projects will not be accepted, unless the Bugs were caused by third party dependencies.
The repository must contain a readme file with usage and install instructions, as well as an appropriate open source license.


Need help? Write a ticket on https://support.utopian.io/.
Chat with us on Discord.
[utopian-moderator]

Thanks for the advice