Post

Getting started with Android Development

A lot has changed in the world of Android Development. This guide helps you get started with setting up the Coding Environment, write your first apps and keep you engaged for mastering your skills and prepare you for the professional life as an Android Developer. Think of this article as the entrypoint for beginners or experienced developers that switching or coming back to Android.

If you want to create your own Android System or dig into the Android Operating System please refer to Android Open Source Project.

Motivation

The Android Operating System exists quite a long time. Apple released the first iPhone in 2007 but Google acquired Android in 2005 and established the system as a competitor (The history of Android). Since then the Android system gained traction with many updates and is still evolving.

The market share for Android still beats the only competitor Apple.

Market Share Mobile Operating Systems

Market Share of Mobile Operating Systems (https://gs.statcounter.com/os-market-share/mobile/worldwide)

Also there are a variety of Devices that can run Android: Besides the large Smartphone sector Android can be found on Fridges, TVs, Smartwatches, Chromebooks, and will be established soon as Standalone System in the car (What is Android Automotive?).

Even though there are many cross platform solutions to develop for Android and iOS like Flutter, React Native, Cordova or Ionic, there is a need for “native” Android Developers (By “native” I refer to creating code which directly compiles for the JVM on the Android System). Here are several reasons for nativeAndroid Development:

  • Performance: Native code is faster and more memory efficient.
  • Hardware Access: For accessing specific sensors or other hardware near abstractions native code is best suited.
  • Access to newest Features: Android Studio has the latest updates before cross platform tools adopt them.
  • Cross Platform: When you understand native Android you are prepared for cross platform development.

Additionally, Jetbrains (the Company behind Kotlin, the main programming language of Android Development) has also established its own Cross-Platform framework Kotlin Multiplatform, which uses Kotlin and all the tools and important frameworks well known to Android to also develope iOS, Web, Linux, Windows and Mac applications (Kotlin Multiplatform).

Technical Requirements

The most technical expensive tool for Android Development would be Android Studio but with a modern operating system (at least Windows 8, MacOS 10.14 or Linux 64bit) with at least 8 GB RAM you should be fine.

Tools

The good thing is, that you only need one suite of tools and that is Android Studio. This IDE (Integrated Development Environment) serves all the tools like the JDK (Java Development Kit), Gradle (build tool), Android Emulator (Virtualisation of an Android Device) and several debugging and syntax highlighting tools. It is the most important industry standard IDE, but you could use Intellij or any other text editor if you want to have it harder than it needs to be.

Installing Android Studio

This part is easy. Just follow Install Android Studio for your system. If you want to test the newest features you can install the Canary build or the Beta build (more stable than Canary) preview release.

Preview releases should be carefully considered since they are not stable yet (Beta build) or the features are in an experimental state.

Installing Git

Git is the leading version control system in Software Development. If you are on Mac or on Linux then you can skip this part, since it is already installed.

For Windows you can install Git via Download for Windows. Make sure you choose the right version matching your Windows system.

Helpful Guides

The best thing about starting Android Development is that there is a large community of developers that are happy to help. Because there are many documentations, guides and tutorials out there, it is also easy to get lost on where to start.

First Steps

The best way to start your development journey is by taking the official course Android Basics with Compose from Google. It covers the central topics like creating your first app, building UI with the new established framework Compose, learning Kotlin as the main programming language for Android, accessing the Internet and managing SQL databases. These code labs also aid you with the Android documentation.

Next Steps

There are several guides that can help you harness your skills:

  • Philipp Lackner: Especially his short technical videos can solve a lot of errors, but he has also many courses for developing apps with industry standard architecture.
  • Android Developer courses: There are many other courses that help you with specific use cases.
  • ADB tutorial: Entry point when you want to read out your Android System
  • Gradle: This helps you to prevent a lot of headaches on build errors.

Most important resources

  • Documentation: You should familiarize with the logic and structure of the official docs so you understand how your code works in the frameworks so you can help yourself with a lot of issues.
  • Material IO: Google’s page for guidelines on industry standard UI design which is also included in many frameworks.
  • Kotlin Documentation: Every feature related to the Language itself on which Android is based of.
  • Kotlin Playground: You can always play with code on Jetbrains official playground.
  • Android Code Search: Sometimes you need to have a deeper understanding on how the Android OS works, therefore this handy platform helps you quickly find and understand the source code of the OS.

Keeping up to date with the Android World

There are several channels that bring you news for Android:

A great Start

This guide is just a beginning and is not complete, but it should give you a good entrypoint and have important resources for when you get stuck. Please feel free to contact me if something is missing, you want to get help or discuss Android topics:)

Have a great start with Android!

This post is licensed under CC BY 4.0 by the author.