It doesn’t have to be difficult to create your first Android app. If you’re not overly ambitious, you can break the process down into simple steps to avoid overwhelming yourself all at once. The trick is to keep your first app simple and focused on creating something. Don’t try to build your magnum opus the first time around; instead, start small to learn the ropes and understand how everything works. This will provide you with the understanding and confidence you require to go bigger the next time.
In this post, I’ll walk you through the process in ten simple steps. We’ll take care of everything from the initial concept and ideation to uploading your app to the Play Store. All it takes is a couple of hours in the evening spread out over ten days to call yourself an app developer!
Steps to create a mobile app in 10 days
Day 1: Brainstorming
You obviously need to have an idea of what you’re going to create before you can get started. Working on a project facilitates learning by providing context and direction. As a result, your first step should be ideation – coming up with a cool app concept.
However, the goal here is not to become the next Mark Zuckerberg with a game-changing idea. Instead, the goal should be to make something as simple as possible while still entertaining/interesting. Make it interesting enough that you don’t want to make it, but try to avoid any complex functions as much as possible. Ideally, the app will only need one’screen’ (activity) and some simple interactions to ensure that something happens when the user presses a button. Consider it a challenge to create something truly useful with the least amount of code.
You can build something more complex in the future, but for now, the priority is to get a working app in the store. By the end of day one, you should have a good idea of what you’re going to make and how it will work.
Day 2: Create a wireframe
You should create a basic wireframe for the app now that you know what you want to create. Wireframing is a term that is commonly used in web design, but it also applies here. It entails creating a map of the individual screens (if you intend to have more than one), the buttons, and any graphics you intend to use (like logos, images, backgrounds etc.). This will provide you with a good framework for everything you need to create.
Google has a pretty good guide to creating wireframes here. However, for your first app, I recommend starting with something simpler. Don’t worry about following any specific method when creating your plan – just draw it out in a way that makes sense to you and comes naturally. Make use of some grid paper and draw freely. In any case, by the end of day 2, you should have a rough sketch of your app and a good idea of what graphical elements you’ll need.
Day 3: Choosing and configuring your IDE
The next step is to select an IDE and programming language, and then get started. The IDE is your ‘Integrated Development Environment,’ which is a piece of software that contains everything you need to create apps. This software will provide you with a window in which to enter your code, check and format it as you type, and compile everything for you when you’re ready to test or publish it. The IDE, however, is not the programming language itself, so depending on the method you’re using, you’ll also need to download the Software Development Kit, which contains the programming language’s compilers. Don’t worry, just follow the steps outlined and everything will be taken care of for you.
Android Studio and Java are the most commonly used tools for developing Android apps. This is Google’s official method, and it will give you a lot of flexibility while also ensuring plenty of support if things go wrong. This is also the method you will need to understand if you ever want to work as a professional developer. I previously published a post that walked through the steps required to get started with Android Studio. This will walk you through installing and configuring everything you need, from Android Studio to Java and the Android SDK. Again, don’t be concerned.
However, there are numerous other options for your IDE and language. If you want to make a game, you could use Unity and C++. Basic4Android is a rapid development IDE that allows you to code in BASIC rather than Java. AIDE, an Android-based IDE, is also available.
In the vast majority of cases, however, I recommend using Android Studio for your first app (and the rest of this post will assume you’re going that route). Follow the steps I outlined to get that set up, and try to write your first ‘Hello World’ program by the end of day 3.
Day 4: Getting to know the fundamentals of Java
Because we’ll be using Android Studio and Java to build our app, knowing a little Java will come in handy. There’s no need to become a coding wizard at this point, but you should know what the formatting looks like and be familiar with some basic concepts like variables, classes, and conditional statements.
Sounds terrifying, doesn’t it? Don’t worry – it’s much simpler than you think! Gary Sims and I have been working on a Java tutorial series to teach you the ins and outs of the language. If you read through the first two posts, I’m confident you’ll be able to grasp the fundamentals in a single day. And don’t worry if it doesn’t all come together right away; we’ll come back to it. For the time being, just read enough to get a basic understanding of how Java works and what it entails. Consider this in the context of your app. What kinds of variables will you require? What operations will be useful?
While you’re at it, go back over your wireframe and make a note of what happens when you click each button. Don’t worry if you don’t know how to connect specific code to specific interactions just yet; that will come with time. At this point, everything will be very abstract!
Day 5: Image creation/acquisition
That was a bit heavy, so for day five, we’ll do something a little lighter and more enjoyable. We’ll specifically create and acquire the images we require. Based on your wireframe, you should know exactly what kinds of materials you’ll need, which will include things like icons, logos, and backgrounds.
There is nothing wrong with using free materials; in fact, most professional apps do!
Some of these items can be created by hand with tools such as Adobe Illustrator. Others you’ll probably want to borrow, and fortunately, there are a plethora of free resources where you can find public domain images. For a comprehensive list, see Icons, fonts, tools, and other resources for Android developers. You could even take a different approach and outsource some aspects of the design.
Remember, we’re aiming to complete this in an evening, so don’t be too ambitious! There is nothing wrong with using free materials; in fact, most professional apps do!
Day 6: Layout construction
Now, in Android Studio, use the ‘designer’ to create your layout. This is a tool that allows you to simply drag and drop widgets (also known as ‘views’) onto the page. To do this, you’ll need to create a new project in Android Studio, but there will be no coding required at this point (except maybe a little XML). To begin a new project, go to File > New > New Project. Follow the steps for naming your project and activities, then select ‘Empty Activity.’
Now we’ll launch the ‘designer’ before we start arranging where we want our widgets/views (the buttons, images and text etc.). I discussed how to do this in my tutorial How to Build and Use a Basic Android App for Your Business, and while that post is about creating a business app, the same layout and design principles apply. That post will also show you how to incorporate the graphics you’ve gathered into your project.
If you need to make more than one screen, you must create a new activity. But, as I previously stated, our goal is to make this app as simple as possible, which means limiting the number of activities as much as possible. You should be able to complete the basic layouts in a day if you only have one or two screens and use a minimalistic design.
Day 7: Developing the code
Now comes the more difficult part: adding the code. You already know the fundamentals of Java and have your widgets/views in place. Now, open the Java file for your main activity and add some ‘onClick’ events to add code that will run only when users click a specific button or otherwise perform a specific action.
Take what you know about Java and then read my two-part series on how to create a simple Android app (part two is here). This will show you how to make certain things happen when your buttons are clicked, as well as how to handle variables, resources, and so on. It can also be used as a refresher on how to create a new activity and perform some other basic tasks.
Make the most of what you already know about Java and what you learn from this post. Don’t worry if the app’s functionality isn’t complete yet – we’ll be adding more tomorrow. Simply configure the fundamentals, such as operations, variables, and button clicks.
You’ll want to test your code as you’re writing it. You can accomplish this by either creating a ‘debug’ APK and installing it on your device, or by using the AVD (Android Virtual Device) Manager. This allows you to test Android apps on your computer to see if they are working properly. Alex Mullis’s post on the Android SDK will show you how to get it up and running.
Day 8: Adding more sophisticated functionality
You probably didn’t finish your code in one day with only a few hours of Java learning (unless you’re a prodigy! ), so this will take a little longer. That’s why I’m devoting two days to adding the code…
However, you should have some of the basic functionality in place by now, so that your app responds to button clicks (in some way) and possibly stores some variables.
The following step is to add the more advanced functionality that will be unique to your app. For instance, you may want your app to play music when a button is pressed. Perhaps you’d like to include some flashy animations. Or maybe you need to know how to move from one activity to another.
There is no challenge you can’t overcome if you have the ability to look up and apply your own solutions.
All of these things are relatively simple, but I can’t cover them all here because I don’t know what kind of app you’re developing! So, instead of giving you fish, I’ll teach you how to fish… Simply define what you want your app to do and then use Google to find instructions on how to get it to work.
For example, if you want your button to play a sound when you click it, simply search for “Android Studio play mp3 on click.”
At the time of writing, that search string returns a plethora of results from sites such as Stack Overflow and YouTube. You don’t even have to understand how the solutions work – simply copy the code and paste it into your own app to add the necessary functionality (replacing any variables as necessary).
There is no challenge you can’t overcome if you have the ability to look up and apply your own solutions. By the end of day 8, your app should be able to perform all of its functions.
Day 9: Putting the finishing touches
To be honest, your app is probably still a little rough around the edges at this point, so do some stress testing to ensure it doesn’t crash all the time, and maybe add some polish here and there as well.
There are ways to test your apps on a variety of devices without having to buy Carphone Warehouse. I’ve also written a few posts about how to give your app a material design look, or more broadly, how to ‘pimp your app’ and give it a nice coat of paint.
Another tip is to distribute your app to friends and family so they can test it. Do whatever is necessary to ensure that your basic app is polished and ready for use.
Day ten: Publish your app
Finally, you must make your app available for download. That means you’ll have to sign your app and create a new APK (the installation file that users will download to use your app). Signing is a type of certification that ensures that no one else can upload updates, etc. The official documentation is available here. You should also look at this page to learn how to create a release-ready APK using Android Studio.
Gary has written a post about publishing your first app in the Google Play Store, which will walk you through the process of uploading the APK to Google. You’ll have to pay a $25 registration fee, but it’s a one-time fee that should prove to be a wise investment once you’re a billionaire app developer!
The Google Play Store has a new icon crop.
You’ll be asked to choose a price (free is probably best for now) and fill out fields for your app description as you go through this process. You must also include some screenshots and an icon. Check out how to make your Android app stand out and get noticed for some pointers on how to get your app to stand out in the store.
Day 11: Relaxation
And on the eleventh day, you are to rest! Also, keep an eye on your download counter to see if it’s increasing and if you’re starting to get reviews (hopefully!). Don’t worry if that doesn’t happen; this is just a learning experience, and regardless of how things turned out, you should now be much better prepared to begin your next project. And, whether or not you completed all of this in ten days, hopefully you now understand the steps required to create your own applications. Once you get started, it’s not all that difficult!