What is Android development?
Considering Android app development? Discover the advantages of Android and learn about key resources that can help you improve results.
Subscribe to the IBM Newsletter
Black and blue background
What is Android development?

Considering Android app development? Discover the advantages of Android and learn about key resources that can help you improve results.

  • Tap into extensive APIs to overcome mobile device limitations

  • Incorporate services that enhance the user experience and increase runtime efficiency

  • Access free resources to accelerate android development and improve results

Thinking about developing a new Android app? You’re in good company. Since launching in 2003 as an open source project based on the Linux kernel, Android has become the world’s most popular mobile operating system. Android currently runs on over two billion devices worldwide, and developers have published nearly four million apps. Many of the major manufacturers use Android on their phones, including HTC, Huawei, Lenovo, LG, Samsung, and Sony. 

Whether or not you have prior Android development experience, you know that preparation can make a big difference in the success of your project. Having the right information and resources helps ensure a smooth start and an efficient, productive process.

To explore Android development further, read "How to Make an Android App."

Why develop for Android?

Android has several advantages for development: 

  • APIs and cloud services: The Android platform offers a wide variety of APIs that can help you tap into the cloud and overcome the limitations of mobile devices, which generally have less memory and processing power than other platforms. Developing your mobile application to take advantage of a cloud backend can help you get around those limitations.  By keeping your app small and making the most of API calls to services running in the cloud, you can lighten the memory and compute load on the mobile device. Google regularly announces the addition of new APIs that can help access cloud services.

  • Variants for different devices: Android offers extensive creative freedom for developing apps that capitalize on new technologies. Android is designed primarily for touchscreen mobile devices such as smartphones and tablets. In addition, Google has developed variants of Android for a growing range of devices, including smartwatches and other wearables, in-car entertainment systems, and Internet of Things (IoT) devices.  If your business is in the automotive industry, you could develop a car dashboard app that lets the user play music from Android devices, navigate using Google Maps and ask questions in Google Search. Writing the app in Android enables you to create an app that works across car makes and models.

  • Distribution at scale: Whether you are distributing your Android app to employees, partners or customers, Google Play makes it simple to distribute the app widely. There are few restrictions for publishing your app through Google Play, and the market reached by this online venue is huge. Simply pay $25 to open an account and push your app to Google Play—the app will be live on the store within a day or two. The widespread use of Android means there are plenty of devices capable of running your app.

  • Programming in Java: The native programming language for Android is Java, one of the most popular languages. Using Java to write apps for Android devices is simple and straightforward. You can use native programming concepts and easily take advantage of native features on the mobile device.   Java is a general-purpose language intended to let you “write once, run anywhere”—that is, compiled Java code can run on all platforms that support Java without the need for recompilation. It can run on any Java virtual machine regardless of computer architecture.
Accessing resources—from sample code to tests

Once you’ve chosen Android as your target platform, you’ll need some resources to get started with your project. New developers often start at the Google home page, which leads them to the Android website. Or, you can go directly to the Android developer site (link resides outside ibm.com).

There you can access a variety of resources, including the following:

  • Sample code to jump-start your development 

  • Tests to verify your app for behavior and usability before you release it

  • Design and behavior guidelines you can follow to build your app

Before you start, you should install Java and set up the Java development kit (JDK) on your computer. Then, download and install the Android software development kit (SDK), which is required for developing Android apps. It contains APIs you can use or reference to develop your application. The default browser that comes with the operating system when you install it is Google Chrome, but you can use other browsers such as Firefox if you prefer.

Install Android Studio, which comes with the SDK. Android Studio is the official integrated development environment (IDE) for native Android. The IDE is essential to help you with coding, spell checking, error warnings, UI development, and more. Built on JetBrains IntelliJ IDEA software, Android Studio replaced the Eclipse tools formerly used as the Android IDE.

C++ is often used to write apps geared for high performance and quick reactivity (which is why many game developers choose it). If you want to reuse C++ code for your Android app, download the Android native development kit (NDK). This tool set can help you implement parts of your app using C or C++ code and libraries.

In addition, software is available to emulate Android on other operating systems including Windows, Mac, and Linux. The Android emulator works by converting Android files into a format that is recognizable by the other operating systems. 

Android follows a material design principle, which is used in many of today’s enterprise apps. Android material design provides a guide for visual, motion and interaction design so you can create a strong user experience across platforms and devices.

Adding value to an app

As a mobile developer planning projects today, you want to make your apps as competitive as possible. Consider incorporating services that can enhance the user experience and improve the efficiency of app operation. 

  • Push notifications: Push notifications are an easy way to engage users by sending them information about updates, offers, events, how-to tips for using key features, and other material that encourages them to use your app. 

  • Mobile analytics: You can add value to your app with AI-based analytics designed to respond to user questions, personalize user interactions, detect fraud or deal with natural language content.

  • Functions-as-a-service (FaaS): You can adopt a FaaS approach to development to gain the cost efficiencies from running backend compute only when your app makes an API call to the cloud for a particular function. For example, if you are scheduling push notifications once a month, a FaaS platform enables you to pay only for the seconds or minutes of compute time required to send your notifications.
Related solutions
Mobile App Development Platform

Learn how to add intelligence to your mobile experience while using a robust mobile back-end infrastructure and app management tools.

Explore Mobile App Development Platform
IBM Cloud® Functions

Learn about IBM Cloud® Functions, a polyglot functions-as-a-service (FaaS) programming platform based on Apache OpenWhisk.

Explore IBM Cloud® Functions
Resources How to make an Android app

Ready to develop an Android app? Tap into cloud-based services to overcome mobile platform limitations, speed development, and enhance the user experience.

What is FaaS (function as a service)?

FaaS makes it easier for cloud application developers to run and manage microservices applications.

Take the next step

Quickly architect, prototype and bring apps to market with IBM Cloud®. IBM Cloud® offerings make it easy to bind your app to IBM Watson® services by relieving the pain around authentication and scale. Developers can monitor who is using their app—and how. Users can engage with dynamic and segmented app features and notifications. Build, launch and maintain native, hybrid or web-based mobile apps.

Get started with Mobile App Development from IBM