7 Essential Skills You Need to be an Android Developer

This post is a part of our Android 101 series. Sign up to learn more about the world’s most popular operating system.

Building Android applications requires a deep knowledge of programming and design. When approaching a new technology for the first time, it often helps to break it down into pieces. If you’re a web developer already, many of the concepts and technologies involved in Android development will be analogous to things you already know – although building apps for mobile devices often requires mastery of a number of more nuanced concepts. Mobile devices have smaller screens, simpler processors, and – in the case of Android – many different manufacturers, meaning that developers need to keep code flexible and account for a variety of user scenarios.

So what does it take to become an Android developer? We asked some of the brightest developers in our community – here’s what you need to know.

1. Java

Java is the language that underpins all Android development. For those who have gained most of their coding experience in languages like JavaScript and Ruby, there can be a learning curve when picking up Java for the first time. Java, like JavaScript and Ruby, is object-oriented, but it is also stricter about the way it handles data types. Developers have to be much more thoughtful with their code, defining the types of data their applications plan to work with, and more carefully allocating scarce memory resources. “You can’t afford to have ambiguity in a mobile environment, and Java makes sure that there’s no confusion about what each component of your application is trying to do,” says James Traver, a seasoned Android developer who now teaches the Web Development Immersive at GA. “You end up writing less code, but your code is more elegant and precise.”

2. Understanding of XML

XML was created as a standard way to encode data for internet-based applications. It is a structured markup language, sharing many features in common with HTML – you may recognize the angled brackets, the <opening> and </closing> tag types, and the deep nesting of elements. In short, it allows information to be passed between devices in a way that can be understood consistently. In the Android world, developers use XML to create layouts that serve as the foundational UI definition for Android applications. Developers can also write Java code that modifies layout elements once the application is already running, in the same way that web developers use JavaScript to modify the elements in their website at runtime, but mastering the basics of XML is an important skill for Android developers.

3. Android SDK

SDK stands for Software Development Kit, which, though it may conjure up images of a briefcase full of spy tools, is actually just a fancy name for a set of pre-packaged code. The Android SDKs are modules of Java code that give developers access to device functions like the camera and accelerometer. One key component of the Android SDK is a library called Gradle. Let’s say that you want to integrate Facebook with your app. You would download a code library (or SDK) from Facebook, and then tell Gradle that you’re using it, so that when your application compiles, your code stays well organized. New Android developers will spend much of their time discovering how the various SDKs for Android can be pieced together in different ways to put together an application. While this will take time, each Android SDK comes with many examples that can be found in the official documentation, making it easy to understand what each package does and how to plug it into your app.

4. Android Studio

The integrated development environment (IDE) of choice for Android developers is called Android Studio. Android Studio is built on top of the well-respected IntelliJ IDE, and it comes with great out-of-the-box support for many of the most common Android SDKs. Android Studio also features many of the capabilities developers expect of a full-featured IDE. Code completion helps make auto-complete suggestions as you type. Code debuggers let you step through your code to identify the source of errors. There are even more advanced tools like memory and CPU monitors, helping developers make sure their code will maintain high performance on a mobile device. Android Studio is a must have for the Android developer.

5. APIs

As an Android developer, you’ll likely want to interact with many other services. For example, you may want to allow your users to access a calendar from a third party service, or check the stock market. Many companies offer APIs, and will tell you exactly how to query them for data in a consistent, secure way. While you’re free to interact with any existing API, Google also makes it very easy to connect to their own APIs from your Android app. For example, you can easily use Google APIs to monitor the location of your users, let them search for local places, and reference a map from within your application. You’ll want to get comfortable exploring the nuances of different APIs, and recognize that no two APIs are exactly alike.

6. Databases

If your app handles large amounts of data, most of it probably won’t live on your device at any given time. Instead, your app will likely interact with a database living outside of your phone. Cloud services like Firebase or Parse provide simple APIs to store data in the cloud and make it available across devices. These platforms also often provide Java libraries that you can plug into your app, making it easy to cache some of the data on the user’s device. This syncing of data between local storage and remote database is important if you want to let users use the app when they’re offline. Another way to store data locally is through Android’s built-in support for using SQL to interact with a SQLite database. However you choose to handle data in your application, you’ll need to explore and understand how databases work, and the ways to query that data and use it in your app.

7. Material Design

In contrast to competitors like Apple, Google has not historically maintained a consistent design aesthetic across their products. In recent years, that has changed. Google has released a set of forward-thinking interface guidelines and standards called Material Design, that are being rolled out across all of their products. These standards include tips for how to layer various elements on the screen and use specific styles like drop shadows. You’ve probably seen Material Design in real life if you’ve used the new Google Drive app or the new Inbox by Gmail application on mobile. While not mandatory, Google recommends that Android developers use these guidelines as a foundation for their own user interfaces. The documentation online provides a great foundational understanding of Material Design principles.

Bonus! A Good Idea

Like any other product you build, good execution is only effective if you’re working on a project that users actually find useful. Before you get started building any mobile application, take time to write down your hypothesis – who will use your app and what problem will it solve? Then wireframe your application using a tool like Balsamiq or Sketch, and show it to people in your target demographic. Get their feedback on the idea and be willing to iterate as you gather advice. Learn to put aside your fear of feedback and expect to iterate on your idea as you build your first Android applications.

Fun Fact: The first sketches of the Android robot were truly frightening. The logo went through many more iterations and rounds of feedback before finally landing on the famous Android robot.

Become an Android developer in our 12-week, full-time career accelerator.

Related

About JD Maresco

JD is a startup consultant and code mentor. He consults with and trains growing startup teams on tactical ways to hack their work, using code to automate their workflow. He is also a mentor for GA's Web Design Circuit.

General Assembly is a pioneer in education and career transformation, specializing in today’s most in-demand skills. The leading source for training, staffing, and career transitions, we foster a flourishing community of professionals pursuing careers they love.