How to make an Android app: Key resources and tips
By IBM Cloud Education
Ready to develop an Android app? Tap into cloud-based services to overcome mobile platform limitations, speed development, and enhance the user experience.
- Employ the familiar Java™ language or simplify development with Kotlin
- Leverage the cloud to extend your app and reduce server overhead
- Distribute your app internally or use the Google Play Store
Is your organization planning to launch a new mobile app? Maybe executives want to expand into a new sales channel, equip field technicians with an easier way to collect data, or give employees fast, convenient access to benefit information.
Android might be the ideal platform to start your mobile app development journey. With more than two billion Android users around the world, developing for Android can help you connect with more customers, partners and employees.
If you’re building your first app, you’ll find that Android’s open development environment has low barriers for entry. You’re probably already familiar with Java, Android’s native language. And unlike iOS, which requires you to use a Mac, Android allows you to develop apps using almost any desktop or laptop.
Whether you’re planning to release your app exclusively on Android or considering development for both Android and iOS, understanding how to get started and following a few best practices can help ensure an efficient and successful development process.
Are you ready to try your hand at developing an Android app? IBM offers an easy-to-follow, hands-on tutorial. Build a voice-based Android chatbot app with performance monitoring.
Get started quickly with starter kits
There are few things as overwhelming as the blank page. If you’re struggling at the start, you can use one of the IBM Cloud™ Mobile Starter Kits as a launchpad. These kits include APIs and libraries to form a framework for your Android app. Once you complete the first steps, you can focus entirely on building the features that make your app unique.
In any case, to get started with Android development, you need the free Java development kit (JDK) and the free Android software development kit (SDK). These two development kits include all of the services, tools and libraries required for Android development, though you can extend your app with myriad open source third-party services and libraries. Once you know what you want your app to do, there’s no shortage of libraries to support and build it.
The SDK includes Google’s powerful integrated development environment (IDE) Android Studio. With a code editor, a UI designer and an emulator, Android Studio is the preferred platform to develop a winning Android app. Android Studio runs on Windows, MacOS and Unix, giving you more options for your development hardware. You’ll also use Android Studio to deploy your app to the Google Play Store later in the development process.
Consider Kotlin over Java
While Java is widely considered to be the official language of Android apps, there’s a new language to consider: Kotlin. In 2017, Google made Kotlin an official Android language, and it has become a popular option for developers since then. While Java is a familiar and comfortable language, Kotlin may offer a number of advantages over Java.
First, Kotlin is less complex to use than Java. It’s also more efficient, requiring less written code to accomplish the same tasks. As a result, Kotlin can make your code easier for other developers to understand.
Kotlin can also help reduce errors. One of the biggest potential problems in Java development is the null reference exception, where the program attempts to access a reference variable before you’ve pointed the reference to an object. It can bring your entire app screeching to a halt. Kotlin avoids this issue by restricting which objects can point to a null reference. It also offers significant tests to help prevent null pointer exceptions.
Avoid issues with a few simple tips
Because every mobile app is different, there is no single strategy for achieving success. Still, a few tips apply to virtually any app:
- Don’t assume hardware: Unlike iOS development, Android runs on hundreds of phones from dozens of manufacturers. You need to develop your app to run easily on each device without necessarily knowing what the device is. Unfortunately, that sometimes means you have to shy away from cutting-edge features to ensure the widest spread of compatibility.
- Test early, test often: Don’t underestimate the importance of unit and UI tests. While these automatic tests can’t replace live beta testing, they’ll catch a substantial number of bugs and help identify why your app suddenly stopped working.
- Work backwards: Many developers build their app from scratch, submit to the Google Play Store and face substantial rework if it gets rejected. Instead, carefully review Android’s developer guidelines to help ensure that your app will pass the first time.
Tap into the cloud
Mobile apps must be lightweight to accommodate the CPU, memory and storage limitations of mobile devices. If you need to develop more sophisticated, resource-intensive apps than a typical Android device can handle, look to the cloud. Android has unparalleled options for integration with cloud services, which can help you offload resource requirements while also enhancing your app’s capabilities.
One of the easiest cloud services to implement is push notifications. With cloud-based push notifications, you can easily send messages to your entire user base, specific users, or even a single person. When you don’t need to rely on the app itself to send messages, you can change content on the fly or time message drops without having to deploy an update to your app.
IBM Watson® offers some of the most popular and powerful cloud-based services. Tap into Watson services to analyze data, support a chatbot or classify images.
In addition to enhancing the efficiency of your app as it runs on mobile devices and augmenting its functionality, the cloud can help you reduce the back-end infrastructure you need to run your app. For example, you can create APIs or use existing ones that connect your app to the cloud, removing the need for a server on your app’s backend. By using a function-as-a-service (FaaS) provider, you can replace server calls with a dedicated instance of your needed action. Not only does this reduce performance burden, it also offers a cost-effective scaling solution — you pay only when an action occurs.
Distribute your app
Once you’ve designed, developed and tested your app, it’s time to share it with your customers, employees or partners. With Android, you can distribute your app through a website, enabling users to install the app directly onto their devices. When distributing to an internal audience, you can host your app on an intranet site as a direct download.
Use the Google Play Store — the official Android store — to distribute your app more widely. For example, you may want to distribute to a global customer or partner audience. (You can also use Google Play to distribute private enterprise apps internally to your organization’s employees.) To distribute an app through Google Play, you’ll need to join the Android developer program and pay a $25 annual fee. The Google Play Store requires public apps to meet a set of quality standards before they can be published to the store. Once your app is approved, you can use Android Studio to sign and publish your app to the Google Play Store.
Are you ready to try your hand at developing an Android app? IBM offers an easy-to-follow, hands-on tutorial for building a voice-based Android chatbot app with performance monitoring.