How to build Android apps
Follow these eight steps to get your app on Google Play
It starts with an idea or a problem that needs solving. That's usually how companies are born and it's the same with apps. You have the initial thought, or you see the gap in the market and you take the necessary steps to bring it to life.
It all sounds so simple and in some cases it is; you think of an idea for a book and you begin writing. You have an innovative product in mind, so you start building. Once it's complete, there's the much trickier part of selling it, but from conception through construction, there's very little to stop you, depending on what it is.
For mobile apps, there are many services to help you not only build your ideas but also bring them to a market. The Google Play store is the biggest ecosystem of Android apps and its open to anyone who wishes to add to it.
So if you have an app in mind, a really innovative idea for a game, a business application or a service that solves a problem, the only thing standing in the way is you. Below we have listed the eight steps you need to consider when building an Android app.
Step one: nail down your idea
The first and perhaps the most difficult stage of a project is to come up with a compelling idea for an app. You may often find that you have a wonderful app idea, only to find that something already exists on the market, or that there just isn’t the demand among consumers that you first thought.
It’s important to remember that you don’t have to come up with the next Uber or WhatsApp to be successful. Basic apps that simply make life a little easier for people can still prove to be popular, sometimes massively so.
Before you spend years of your life developing a groundbreaking idea, it’s first a good idea to consider the basics. Think about the problems within your own personal or work life – are there any areas that could do with a little automation? Perhaps some sort of platform that can pull together all your monthly payments? Something that can make looking after pets a little easier? Maybe there is an app you already use on a daily basis, but which could do with a few tweaks or improvements?
The point is that app ideas can come from all sorts of places, and you’ll never know what will take off.
Step two: plan your UX
Having gone through the laborious task of deciding on an idea, the next step is to start thinking about how it might look. It’s possible that you’ve already come up with some ideas based on the type of app you’re looking to develop, but it’s important you start to formalise all of these thoughts.
It’s during this step that you should start thinking about user experience (UX), and consider this throughout every subsequent stage. This is all about how the app will work, how users engage with it, what services might be surfaced, and what functionality you might want to include. By deciding on these, you’ll start to get a better picture of your application in action.
To get the most out of this stage, it’s important that you start putting your ideas to paper. Draw out wireframes and sketches of your app in action, including a detailed user journey, from turning the app on to accessing a function.
"Consumers of all sorts are becoming more and more fickle when it comes to the UX of the app," says Rob Lauer, senior manager of developer relations at Progress, a global application development firm. "This is why I always say the first step starts with consulting with a dedicated UX designer to map out the path of the customer, nail down how you want the app to be used, and identify any problem areas before you start coding."
Step three: create a prototype
Once you have a clear idea of what you want your app to do, you'll next need a working prototype to demonstrate it in action. "This could be a simple paper prototype outlining your ideas," explains Gumtree's Android app team lead, Claudia Hosu, "or a digital one with a mock-up of your proposed app."
At this stage, feedback is essential for fine-tuning your design. What seemed like a good idea in the planning stage might not work so well in the real world. It is a great opportunity to tweak or add features to improve the UX, or amend any mistakes or broken functions. The most valuable feedback will come from a random group of neutral testers, who will be able to provide honest reactions to your work - just be warned that everyone will be a fan.
Step four: assemble your tools
In order to start developing, you'll need to download Android Studio, Google's software package for Android Devs. Available as a free cross-platform download, Android Studio includes code editor, debugger, build automation and performance testing tools.
It's also handy to have an Android phone around to test your code on. Although you can use a virtualised device, it's more useful if you can see it running on an actual handset. In fact, Hosu recommends having two distinctly different devices, so devs can test how well their code works with different screen sizes, hardware and OS versions.
Step five: learn Java
Once you're ready to actually build your app, you'll need to be familiar with Java, which is the official programming language for Android. If you've already got experience with other languages, there are tools you can use to repurpose other forms of code to work with Android, but Java is the language that Google recommends.
"Java has the benefit of being around forever, static-typed, object-oriented, and is relatively easy to learn for modern developers," Lauer says. "Since Java has a lengthy history, it's very easy to find code samples online and assistance with solving problems via free online services like Stack Overflow."
There are tons of resources for new devs online as well, such as the excellent Codecademy, which offers free online courses in numerous different programming languages - including Java. It even lets you undertake practical projects, like building games and creating websites.
Step six: start building
If you're a first-time developer, building your first app may seem like a daunting task - but thankfully Google has a raft of documentation, guides and tutorials to help novice developers through the process.
Step-by-step guides take you through everything from basic functions, all the way to incorporating animated graphics, calling APIs and building cloud-connected applications.
"In terms of the actual code to write', I'm not sure what to say," Lauer says. "Write good code' is obvious, but individual styles dictate the actual code being written. I can say that there is a vast ecosystem of extensions you can add to an Android app. One of the more popular hubs of Android "plugins" is android-arsenal.com, which provides countless opportunity to extend and expand your native Android app."
Step seven: release and testing
Releasing your finished app into the wild is actually fairly easy. Deploying an app to the public via the Google Play store is a straightforward process, and it also includes built-in monetisation tools. However, that's not the end of the story - you need to make sure that you continue to test and refine your app.
Feedback from the first set up users that download your app from the Google Play store is going to be critical in working out how your app is performing, and how well users are responding to it.
"This testing process is essential," says Dan Drummond, Android consultant at mobile app development firm Apadmi. "Bugs and errors in apps are a sure-fire way to ensure that the app is deleted and replaced with something else that does work as the user is expecting. Our own research found that 61% of people would stop using an app if it was slow and unresponsive, and 26% would think less of a company if the app was poorly designed."
Step eight: start again
Assuming your app isn't just a one-off, this marks the point at which you should be starting the development cycle all over again. Whether you're building an entirely new app or merely adding new features to your original one, you should take the user feedback and insights you've gathered over the course of building, testing and releasing the previous version and use it to inform the design of the next iteration.
This cyclical approach to development ensures that you're always learning from your previous mistakes, as well as keeping on top of your user's expectations.