• Shopping Cart Shopping Cart
    0Shopping Cart
London App Developer
  • Courses
  • Consulting
  • Tutorials
  • About
  • Click to open the search input field Click to open the search input field Search
  • Menu Menu
Android alien in front of a beach image
Android

Android Development for Beginners: 6 Steps to Building Your First App

Learning any new technology can be a challenging and frustrating task. When I first started learning Android development, I spent a lot of time reading the official documentation provided by Google, and following various tutorials over and over again, trying to memorize all the syntax. After a while, I realised that this was a complete waste of time. The fastest way to learn anything is by doing. I know you probably hear that all the time, but it’s as true in software development as it is anywhere else.

In this article, I’ll explain some of the lessons I learned on my journey to becoming proficient in Android development, and the critical steps I took when starting to build my first app.

What do I mean by proficient? Well, that definition will be different for everyone. For me it means a solid knowledge base, the confidence to build my own ideas, and a working version of my product in the Google Play store for others use. (As with everything else in life, you’ll find that confidence can sometimes mean everything when it comes to software development.)

This article is aimed at those of you who have a basic understanding of programming but are beginners when it comes to building Android apps. If you’re starting from scratch with zero programming experience, this stuff might be over your head. But fear not. Let us know you’re a beginner in the comments section of this post, and if we get enough requests, we’ll make a post specifically for newbies.

Below are 6 steps to building your first app – the lessons I learned while building mine.

Let’s get started…

1: Read the docs! (Or watch the video)

It may sound cliché but the first step you should take when learning anything is to read the introductory sections of the official documentation. This is especially true when the creators of said technology offer such high quality documentation (such as Google).

My philosophy to learning has always been learn by doing. However, before you can do this, you must try to understand the basic concepts and theory of Android development. The key to getting started is realising the precise moment when you need to put down the documentation and start building. When I first started getting acquainted with Android, I read through all the documentation on the Android website, multiple times. At that time, it was just text based documentation – fairly dry and tedious. Fortunately for you, Google got around to producing an excellent introductory video course, which can be accessed and used for free here.

I recommend you follow the introductory videos and do all of the hands on tasks they recommend. Do this two, three, even four times if needed. You should only stop once you know how to do the basics. These are:

  • How to install Android Studio.
  • How to create your first project.
  • How to create a “Hello World” application.
  • How to customize the interface (using XML layouts).
  • How to switch between different activities.
  • How to take a user input and display an output.
  • How to run and test your app.

If you’re starting Android development from scratch, right now you might be thinking about how overwhelming this list is. My best advice to you is this: Have patience.

Remember, the goal of these first steps is not to become a proficient Android developer overnight. The goal is to learn the basic fundamentals to give you a foundation for you to build upon so you can start working on your own ideas.

Once you have followed the training videos, and have completed the basics above, you are ready for the next step.

2: Build something, anything!

As soon as you know the basics you should be applying this knowledge right away. Do this by coming up with a very simple idea. The key is to keep it dead simple — you aren’t going to pull a Zuckerberg and build Facebook 2.0 immediately after learning Android. Your idea should be simple enough so that it doesn’t involve complicated back-ends or graphics processing.

It also doesn’t need to be something that will make you money, either. It just has to be a very simple idea that you can execute with the basic knowledge of Android development that you’ve learned from the first step.

Can’t think of anything? Here are three ideas that will hopefully show you how simple I want you to make it:

  • A calculator app that allows you to add, subtract, and divide two numbers.
  • A spelling game app that displays words with incorrect spellings and the user has to correct them.
  • “Hello world” in multiple languages (for this you would use Google Translate to find out how to write “Hello World!” in 5 different languages, then the user can press buttons to view it in the language of choice).

When I first started, I built a very simple maths game app called “Math Wars”. In fact, you can still download it here to see what I mean when I say simple.

One Sunday afternoon I set myself the challenge to build this app from scratch. My goal was to not stop until it was done. I went to my local Starbucks on Silicon Roundabout (Old Street, London), and set to work.

I sat down with my latte and before I opened my laptop I started by clarifying exactly what I wanted to build by drawing some basic wire-frames on a piece of paper like this:

Wireframes for building my first Android app

The key here is to not care about how it looks. Make it as simple as possible so realistically you can complete it in a few hours. Notice that my idea had only two screens. (Again, you’re not building Facebook here).

After drawing the basic design (which took no longer than 20 minutes), I opened my Android Studio (it was Eclipse at the time), created the project and set to work. For each feature I made, this was my thought process:

Flowchart How to Start Android Development

It took me around 6 hours to get this app done. After I finished it, I felt a massive sense of accomplishment, which increased my confidence and just made me hungry to learn more. I went home that evening and submitted Math Wars to the Google Play store. If you haven’t done so yet, go check it out and let me know what you think in the reviews.

3: Read the docs (again)

After you’re done building your first basic app, I recommend you go over the documentation again. This might sound like a waste of time, but if you re-read it, you’ll realise just how much you’ve learned during this process. You’ll also get the chance to look at the documentation with a fresh perspective and far more context than when you first set out. Things that didn’t make sense at first will be perfectly clear. You’ll start to understand how things work and why, which will in turn start building your confidence in the language.

Another reason to go through the documentation is that when you’re making your first app, you may not totally understand what you did to get it to work. Kind of like this:

When your code works but you don't know why

Re-reading the documentation gave me a lot of “a-ha” moments and a better understanding of what happened and why things worked. Think of it as coming full-circle in your learning process.

4: Have Patience

The key to learning anything (especially programming) is to have patience. Even if you’re an experienced programmer, it takes time to learn new technologies. I realise just how little I know when I finally jump in and start building things.

The key is to keep on trying, and never, ever give up. Keep building things, keep referring to the documentation and keep trying new creative ways to get things shipped.

5: Document Your Work

One approach that has helped me massively throughout the years has been to keep a personal “codebase” (i.e. database) of code snippets, comments and notes. This will help you get things done quickly as you go.

I like to do this by making plain text files (using notepad or whatever editor you like), and storing them in Google Drive so I can easily search through them. More recently, I’ve been experimenting with putting these on a public Git repository on GitHub. This allows you to easily share your code and get input and feedback from other people on online. (This is also a great way to establish your credentials as a developer, more on this in a future post).

The kinds of things I keep in the codebase are commands and code snippets that I frequently use but are difficult to remember off the top of my head.

Once you’ve invested time in figuring something out, make sure you save it and add comments to detail what you did and how you did it. Over time you will build up a rich library of tips and advice that you can use to figure things out and help others later down the line. Also remember to back up any documentation that you use. Whether it’s from this blog or another website – remember that it might not be online forever. So it’s best to store your own notes and keep an organised record of them. You’ll never know when you’ll need it!

6: Know where (and how) to get help

With Android development specifically, the first port of call for help should be the official documentation supplied by Google. If you don’t understand something or can’t get it to work, make sure you read the documentation over and over until it makes sense to you. If you still don’t understand, then try searching Google for existing tutorials or articles explaining it in a different way.

If after reading the documentation and searching Google you still can’t find the answer, don’t be afraid to ask for help. By far the best resources for getting help off other developers are Stack Overflow (a site you may have already heard of) and IRC (stands for “Internet Relay Chat” and is an old school chat service which is overflowing with knowledgeable experts who are usually more than happy to help).

You can access the Android IRC channel by downloading your favourite IRC Client (I like HexChat because it’s free and works across Windows, Mac OS X and Linux). Once you have downloaded your client, connect to the freenode IRC server: chat.freenode.net. Alternatively, Freenode have a webchat version you can run in your browser. Once connected to the Freenode IRC server, join the #android channel.

Don’t be afraid to ask for help. Over the course of my development career I have asked 67 questions on stack overflow, and too many to count on the various IRC channels. Just remember when asking to be polite and respectful. And don’t forget — even though people are usually happy to help, it’s not required that they do so. (I’ve witnessed many times people coming in to chat rooms demanding help from others. Don’t do that. It’s a jerky thing to do.) 

—

If you read and follow the above six steps for building your first app, you will be well on your way to becoming an experienced and proficient Android developer. Remember: The fastest way to learn is by doing. The trick is to find the minimal effective dose of documentation and training to give you just enough knowledge to build something tangible. Then have patience and realise that learning is a never-ending process. Give yourself permission to be bad, and give yourself plenty of time to learn.

Keep creating things, keep learning, get involved in the Android development community and finally… Give back – The final stage of learning is teaching others. You will find that nothing cements your knowledge better than teaching it to others.

Thanks for reading. Let me know what you thought of this post in the comments below. And if you want instant access to this type of content why not sign up to my newsletter here? (I’ll send you something once every two weeks).

Cheers
Mark

Tags: Android, Android Development, Beginners
Share this entry
  • Share on Facebook
  • Share on X
  • Share on WhatsApp
  • Share on Pinterest
  • Share on LinkedIn
  • Share on Tumblr
  • Share on Vk
  • Share on Reddit
  • Share by Mail
https://i0.wp.com/londonappdeveloper.com/wp-content/uploads/2016/03/Android-for-beginners.png?fit=277%2C223&ssl=1 223 277 Brooke Rutherford https://londonappdeveloper.com/wp-content/uploads/2018/12/lon_website_logo-300x110.png Brooke Rutherford2016-03-03 18:12:472021-04-15 20:18:47Android Development for Beginners: 6 Steps to Building Your First App
You might also like
Smartphone lying on a wood surface How to Build an App Part 3: Using Ionic Framework
8 replies
  1. Darshan Gada
    Darshan Gada says:
    March 6, 2016 at 8:19 am

    Hey mark!
    Amazing article, helped a lot thanks.
    I would really like it if you would make an article about android development for total newbies.
    I have experience with and proficient with languages such as Java, HTML+CSS, and python; but I struggle with android development.
    I have no idea how to take the Java I have learnt in school (to solve programming problems. We used bluejay as a text editor) and use it to build apps. I tried looking up guides online and none of them are very clear.

    Reply
    • mark
      mark says:
      March 23, 2016 at 8:43 am

      Thanks for reading the post and taking the time to comment! Yes, I also found it challenging to take the things I learned in education and apply it to the real world. I’m actually planning to make some future content which hopefully will help with that. I aim to get this done in the next few months.

      Reply
  2. Zinia
    Zinia says:
    August 23, 2016 at 2:38 pm

    Hi Mark! This is my first day here and really liked the way you talk. Not so much as an instructor rather someone who’ve traversed the path I’m taking now (or so I think I am). Any plans for python? That is kind of my favourite thing. Thanks

    Reply
  3. Libor Berka
    Libor Berka says:
    August 23, 2016 at 8:41 pm

    Hello Mark, I ll got the page and I ll read it first then I ll try to do something.

    Reply
  4. shubu
    shubu says:
    October 17, 2016 at 1:28 pm

    Hi Mark, lately from 2015 i’ve been developing an ecommerce app my frontend(layouts) is ready but, i’m stucked at a point i.e. what to use for my backend ? I’ve been thinking of Firebase but how to apply the businnes logic?

    Reply
  5. prem
    prem says:
    November 22, 2016 at 6:31 am

    still more to be learn from you

    thanks

    Reply
  6. Djofre Bamo
    Djofre Bamo says:
    December 25, 2016 at 3:14 pm

    Hi! Mark! I liked the 6 tips to start an Android App….. And I liked the idea of reading too much the documentation……

    Reply
  7. Gregorio
    Gregorio says:
    April 2, 2017 at 1:24 pm

    Great Article Thanks for sharing your thoughts, I am learning the ropes of Android on an android EU Scholarship on Udacity and is great! Yes practicing as you learn is the best method to get those Android concepts on xml layout, style, string and Java to sink in. Also Using GitHub is incredibly useful to store code, sharing it and to save snippets of code as you mentioned.
    I like your 6 point structure I ‘ll implement it in my learning workflow 😉

    Reply

Leave a Reply

Want to join the discussion?
Feel free to contribute!

Leave a Reply Cancel reply

Your email address will not be published. Required fields are marked *

Pages

  • About
  • Consulting
  • Home
  • Tutorials

Categories

  • AI
  • Android
  • Android Studio
  • Angular
  • Aptana Studio
  • AWS
  • Bootstrap
  • Career advice
  • Celery
  • Databases
  • Deployment
  • DevOps
  • Django
  • Django REST Framework
  • Docker
  • Eclipse
  • Getting Help
  • Git
  • Git Bash
  • Git Flow
  • GitHub Actions
  • Google App Engine
  • IDE
  • Ionic Framework
  • iOS
  • JavaScript
  • Job Search
  • Links
  • Linux
  • Mac OS X
  • macOS
  • Node.JS
  • OpenAI
  • PGAdmin
  • Postgres
  • Productivity
  • Python
  • React
  • Salt Stack
  • Stack Overflow
  • Tools
  • Travis-CI
  • Tutorials
  • Ubuntu
  • Uncategorized
  • Vagrant
  • VSCode
  • WebSockets
  • Windows 10
  • WordPress

London App Developer Ltd,

71-75 Shelton Street, Covent Garden, London, United Kingdom, WC2H 9JQ

Company registration number: 09718346

© London App Developer - London App Developer Ltd, Company Registration Number: 09718346, VAT: GB224061842
  • Link to X
  • Link to Youtube
  • Link to Facebook
  • Link to Reddit
Link to: My Linux Cheat Sheet Link to: My Linux Cheat Sheet My Linux Cheat SheetLinux penguin on a yellow backdrop Link to: How to Build an App Part 1: Setting up the Development Server with Vagrant, Ubuntu and Salt Link to: How to Build an App Part 1: Setting up the Development Server with Vagrant, Ubuntu and Salt Smartphone lying on a wood surfaceHow to Build an App Part 1: Setting up the Development Server with Vagrant,...
Scroll to top Scroll to top Scroll to top

This site uses cookies. By continuing to browse the site, you are agreeing to our use of cookies.

OKLearn more

Cookie and Privacy Settings



How we use cookies

We may request cookies to be set on your device. We use cookies to let us know when you visit our websites, how you interact with us, to enrich your user experience, and to customize your relationship with our website.

Click on the different category headings to find out more. You can also change some of your preferences. Note that blocking some types of cookies may impact your experience on our websites and the services we are able to offer.

Essential Website Cookies

These cookies are strictly necessary to provide you with services available through our website and to use some of its features.

Because these cookies are strictly necessary to deliver the website, refusing them will have impact how our site functions. You always can block or delete cookies by changing your browser settings and force blocking all cookies on this website. But this will always prompt you to accept/refuse cookies when revisiting our site.

We fully respect if you want to refuse cookies but to avoid asking you again and again kindly allow us to store a cookie for that. You are free to opt out any time or opt in for other cookies to get a better experience. If you refuse cookies we will remove all set cookies in our domain.

We provide you with a list of stored cookies on your computer in our domain so you can check what we stored. Due to security reasons we are not able to show or modify cookies from other domains. You can check these in your browser security settings.

Google Analytics Cookies

These cookies collect information that is used either in aggregate form to help us understand how our website is being used or how effective our marketing campaigns are, or to help us customize our website and application for you in order to enhance your experience.

If you do not want that we track your visit to our site you can disable tracking in your browser here:

Other external services

We also use different external services like Google Webfonts, Google Maps, and external Video providers. Since these providers may collect personal data like your IP address we allow you to block them here. Please be aware that this might heavily reduce the functionality and appearance of our site. Changes will take effect once you reload the page.

Google Webfont Settings:

Google Map Settings:

Google reCaptcha Settings:

Vimeo and Youtube video embeds:

Other cookies

The following cookies are also needed - You can choose if you want to allow them:

Privacy Policy

You can read about our cookies and privacy settings in detail on our Privacy Policy Page.

Privacy Policy
Accept settingsHide notification only