As of early 2016, there are well over a billion people actively using Android, a Unix-like mobile operating system that runs on phones, tablets, smart TVs, smart watches, and a slew of other devices. Although developed and maintained by Google, it’s free and open source software that can be used and customized by anybody. As a result, Android devices are manufactured by several major device manufactures, like Samsung, LG, Sony, and HTC.
One of the primary factors that drives Android’s success is Google Play, an Android app distribution platform users can use to download and install apps on their devices. With over a million apps and billions of downloads, Google Play is larger and sees more traffic than similar platforms for iOS and Windows 10.
I’m sure you are now beginning to wonder how you can become an app developer and cash in on the popularity of Android. In this article, I’m going to give you a bird’s eye view of what Android application development entails today.
There are many different approaches to Android application development. In this series, however, we’ll be focussing only on the native approach because native apps offer superior performance, run with minimal overhead, and are capable of making the best use of the Android operating system’s capabilities.
Native Android apps are developed using the Java programming language, and, on devices running Android 5.0 or higher, make use of a managed runtime called Android Runtime (ART) by default. To create such apps, most developers choose to use Android Studio, the official Android IDE developed by Google. Android Studio is free and runs on Windows, OS X, and most Linux distributions.
Android Studio 1.5.1, the current stable release, has a large number of features to simplify all aspects of Android app development, such as a powerful code editor, visual layout and theme editors, vector and image asset studios, and more. Android Studio 2.0, which is still only available as a preview release, has more advanced features like instant run and a GPU profiler to further improve the app development experience.
Android Studio also comes with a realistic emulator you can use if you do not own an Android device. Because system images for it are freely available, you can download and run any version of Android on it.
Developing an Android app that runs well on one specific Android phone or tablet is easy. Developing one that runs well on all Android devices, however, can be incredibly hard because of the vast differences in operating system versions, screen sizes, and device capabilities.
Unlike Apple’s iOS devices, most Android devices rarely receive software updates, if at all. Marshmallow, the latest version of Android, runs on less than 1.5% of all Android devices today, even though it was released several months ago.
This means, if you decide to develop an app, you must support older versions of Android, like KitKat and Lollipop. Moreover, if your primary user base is from developing countries, supporting older versions all the way back to Android Gingerbread, is recommended. Doing so, however, is usually easy, thanks to not only the Android Support Library, but also a number of third party open source libraries.
In the early days of Android, there were only a small number of devices that could run Android and almost all of them were phones. Over the years, however, with more and more device manufacturers adopting the platform, device screen sizes and pixel densities began to vary wildly.
With the release of Android Honeycomb, Android also started supporting large screen devices, such as tablets and smart TVs. Consequently, developers today are expected to use multiple image sizes and layouts to support all those different screens.
While creating the layouts is still a rather time-consuming process, managing different image sizes has become easier thanks to Vector Asset Studio.
Only a few high-end devices have all the hardware sensors the Android SDK supports. Therefore, developers are expected to write apps that can determine the hardware capabilities of a device at runtime, and degrade gracefully if possible.
The Android SDK (Software Development Kit) has a Sensor Framework to simplify this task. Alternatively, developers can prevent users from installing apps on devices missing the required hardware using Google Play filters.
The Android platform is constantly evolving and app developers must keep up with recent trends to be able to build apps that live up to user expectations.
Material design is a collection of well-thought-out design guidelines you can follow to build apps whose look and feel matches the native look and feel of Android Lollipop and Marshmallow. Owing to its simplicity and modern looks, material design enjoys a lot of popularity among both developers and designers.
Android Wear smartwatches are becoming increasingly popular because the latest models are better looking and have features, such as new and improved gestures and watch faces that make them more fun to use. Consequently, more and more developers are using the Wear API in their apps to make sure that their apps can interact with wearable devices.
Once you’ve developed an app, you can publish it online so that people all over the world can download and use it. There are lots of Android app marketplaces you can publish your app on, but the one most popular today is Google Play because it comes pre-installed on most Android devices.
To be able to publish your app on Google Play, you must pay a registration fee of $25 and create a developer account on it. Once you have an account, publishing an app involves uploading its APK—a compressed package file that you generate using Android Studio—along with a few screenshots and providing details, such as the app’s name and description.
After submitting all the details, you will have to wait for a few hours for the app to go live. In early 2015, Google Play introduced an app approval process to make sure that published apps adhere to Google’s content policies.
Android app development is fun and nothing beats the rush you get seeing your app live on Google Play. However, if you’ve put in a lot of effort building the app, why not monetize it? A lot of people today make a living developing Android apps, and if your apps are good enough, you can too.
There are many ways you can monetize an app. Here are three popular ways, all of which use services provided by Google:
I hope you now have a general understanding of what Android app development means today. Despite all its challenges, Android app development is quite easy because of the extensive documentation available online and the constantly improving development tools.
In the next post of this series, you are going to take your first step towards becoming an Android app developer by learning how to set up Android Studio on your computer.
a) This course is specially designed to provide technical knowledge and skills to cope with the requirement of Android Developer occupations of the Mobile sector. The course will be implemented to ensure at least 80% of total contact hours on practical/hands on skills training or practice and 20% trade/ occupations related theory including OHS and soft modules;
b) The course is designed to enable trainees to acquire a range of technical and vocational, practical, personal and organizational skills valued and utilized both within and beyond the workplace;
c) The course is designed to meet the required competencies of the occupations needed in the labor market in and outside the country;