< !-- Digital window verification 001 -->

5 Things to Know Before Building Your First Android App

| Get awesome (and free) stuff here

Want to build an Android app? Keep reading.

Recently, I came across PraneethVT's Reddit post about how he built his first Android mobile app – a GPA calculator.

Seeing that he is a relative newbie to the programming world, I thought diving deeper into how he built his first app would be perfect for Learn to Code With Me.

Here's a little bit about PraneethVT before we get started.

  • He is a computer engineering college major
  • So, in total, he has had about six months of actual programming classes
  • Two of the introductory CS courses he has under his belt teach Java
  • During his summer break, he decided to put some of his CS skills into practice and build an Android app

Below are some further questions, in Q&A style, with PraneethVT on how he went about making his first Android app. (My questions are in bold, and his responses follow.)

At the end, I share the five main takeaways on Android app development for beginners.

Q&A on Android Application Development

Could you break it down for me—what is every skill/language needed to build an Android app?

Building an Android app comes down to two major skills/languages: Java and Android. Java is the language used in Android, but the Android part encompasses learning XML for the design of the app, learning the concepts of Android, and using the concepts programmatically with Java.

Once you learn Java and XML (XML is really easy to get used to, and you should learn the language as you program your app rather than learning it beforehand like you would with Java), you need to learn how to connect these two using Android principles.

I gave some good resources in my post on Reddit for learning things like Activities, Fragments, and other important Android concepts, but my favorite is the Big Nerd Ranch book because teaches you while you make apps during the book.

(Link to book here: Android Programming: The Big Nerd Ranch Guide (Big Nerd Ranch Guides)

For a total beginner looking to make an android app, what would you recommend they learn first?

For a total beginner, I recommend learning Java. There are no shortcuts here, you just have to learn Java.

Now for a total beginner, I recommend YouTube tutorials to get the basic idea of how to install Eclipse (the Integrated Development Environment, or IDE, for Java) and the Java Development Kit (JDK). It also helps to get the basic idea of syntax behind Java concepts, such as for loops and if statements.

But from then on, after you have learned the very basics, I HIGHLY recommend ditching the YouTube tutorials in favor of a book or a lecture series. YouTube tutorials very often do NOT give intuition behind important concepts, which I feel is 100% necessary if you wish to make an Android app.

What exactly is Eclipse and Android Studio? And are these two completely necessary to build an android app?

Android Studio and Eclipse are IDEs, or Integrated Development Environments. You could code Java using other programs that run code, but I personally am not too familiar with these and would not recommend these at all to a beginner.

The IDEs compile and run your code with just a touch of a button, unlike other applications where you would have to write some code to compile and then write some code to run. You have to install the Android SDK with Eclipse, but all of the installation process is covered in depth on the Android developer's website.

How much time did you spend daily/weekly on building the app?

I took almost exactly two months to complete my app.

When I started off, I spent 4+ hours a day reading the Big Nerd Ranch book and following the tutorials to make the apps in the book. Time flew by when I was actually making my own app, because solving a small problem, such as saving data, took me a while to fully understand the material since it was new to me.

I had a bunch of time to do this because I am on summer break from a university and had nothing else to do.

As far as seeking help and getting questions answered, where was your favorite place to turn? 

I used Google to search up any questions that I was stuck on, which was a lot of the time because I was new to Android. The top results were usually Stack Overflow, but when Stack Overflow didn't have an answer that worked for me, I posted on /r/androiddev Subreddit and they were extremely helpful.


Special thanks to PraneethVT on giving such great insights for newbies!

And, in summation:

5 things to know before building your first Android App:

  1. You need to learn Java, there is no way around it
  2. Android part encompasses learning XML for the app design, understanding concepts of Android and using said concepts programmatically with Java
  3. Beginners should probably use an IDE (PraneethVT preferred Android Studio over Eclipse)
  4. Building your first app is time-consuming: it won't happen overnight. This is not a project for those looking for a fast result
  5. When stuck on a problem (which will inevitably happen), turn to Stack Overflow. If no luck there, look to the Android Subreddit where there is a helpful community

For more Android and Java resources, look to PraneethVT's original Reddit post. He has a great list of resources he used and his opinion on what worked and what did not.

He also created a follow-up Reddit post with more information on building his first app—check it out here.

Start coding now

Stop waiting and start learning! Get my 10 tips on teaching yourself how to code.

Don't worry. I'll never, ever spam you! Powered by ConvertKit

Additional Places To Learn About Making Android Apps

  • biker8337

    You can actually develop android apps in C, C++, C#, Delphi XE5, Basic4Android, Visual Studio, Objective C so knowledge of java is not required (its a shitty language anyway, I dont know any java developers who like it)

    • Apparently you can also do Android/iOS very easily now when building on meteor –> https://www.meteor.com/blog/2014/09/15/meteor-092-iOS-Android-mobile-apps-phonegap-cordova

      There’s always multiple ways to do something! Personally I am very unfamiliar with mobile app development. And it’s not an area I am too eager to pursue. At least at the moment.

    • Enumerations… Visual Studio is not a language… Objective C is a mess, that is the main reason why Swift was created… And I do love Java…
      The “native tools” approach is always the best, you may do the same through other tools, but you can’t understand the platform without it. When you know it better, you can start trying some obscure proprietary tools that never comes with limitations or bugs, such as… …

    • Chizzy Meka

      There’s a reason it has been one of the top languages in recent years. Hating on it won’t make you know it.


    First of all thanks a lot for the excellent article. However I want to know about sources to get me started with learning XML for android. When you mentioned that there isn’t any need to learn XML before hand and you can learn along the way , i was thinking how is it possible?

    • Hey — this article is a Q&A with another person who built an Android app.

      My main focus is web development — notably front end. (Not mobile app building.) But I try to cover other topics on the site by incorporating views from others.

      So I do not have an answer for you on XML. But if you’re looking to learn more about Android app building and have questions — definitely check out the Android subreddit. – https://www.reddit.com/r/Android/

    • XML is pretty easy to understand. The main problem is to understand how Android uses it. A lot of Widgets are available and an infinite of attributes can be applied. These options (widgets and attributes) need time to have a good command of it. Imho, the best resource is http://developer.android.com/guide/topics/ui/declaring-layout.html

  • Pingback: The Most Epic Guide to Online Coding Bootcamps, Ever()

  • This is great wonderful information.. Awesome Thanks

    Web Development India

  • hannan sarker

    Nice post but i think ADT need to build up my first android apps .
    What you think ? Please reply my answer .Thanks
    school management software

    • Hi — what is ADT? I just Googled but all that shows up is the security system…

      • Hardik Raj Kharga


      • Mohamed RAGUIG

        android developpement tools m/

  • kavan

    hii this post is too good i rally understand what is do for making new android application

  • Pingback: Coding Camps California - www.Confidential-Coach.com()

  • Navin Kukreja

    Yeah, You have really great job done..! Its really usefull post by your side for beginners ..
    Thanks a lot for this..!

  • Pingback: Web dev. | Pearltrees()

  • Malik Zohaib

    I learn android through same proccess that you have described…..Good book i understand major concepts of android in summer by using this book in summer….

  • uhwhat

    Mobile development is a different beast than what most basic Java courses teach at a university. Just like web development in Java (like the Spring framework) it is a different beast. Although you will get the fundamental skills in Java that you would need but at least in my experience most academic courses I’ve taken are using outdated development methods (like building a desktop GUI in Swing instead of JavaFX). There are some great step by step tutorials on getting familiar with setting up your environment and fully developing multiple apps on udemy and even youtube. I would highly suggest you make sure whatever guide you follow is up to date using the most up to date methods for developing the app. Mobile app development is probably tied for the fastest evolving branch of development right next to web and even a tutorial that is a year old could be teaching you outdated material.

  • bin yu


  • oh_mss

    Thank you, Laurence! Wonderful post.

    I have also did a little Googling and found FIT (Florida Institute of Technology) has provided the book for free via http://my.fit.edu/~vkepuska/ece5570/android%20programming_%20the%20big%20nerd%20ranch%20guide%20-%20hardy%20brian%20%20phillips%20bill.pdf

    Hope this would be included in your post for those who can’t pay for it :)


  • taichi

    on which java platform & packages should i have strong grasp in order to build java application

    • I am unfamiliar with Java. You should join newbiecoderwarehouse.com and ask there!

      • Taichi

        First of all thanks you miss for your quick response.It seems you care & show more devotion towards you website viewers.
        Secondly, I am pursuing Bachelor of Science (Information Technology).
        It’s my last year and within 2 months I have to submit my final project.
        I have basic knowledge of:
        Mark Up Language: HTML
        Style-Sheet Language: CSS
        Client-Side Scripting: JavaScript
        Object Oriented Programming: Java
        & yet trying to learn JQuery, AngularJS, BootStrap, & one of Server-Side Language either php or ruby.
        based from above knowledge would you suggest / help me in choosing perfect project topic.

  • Good post , very insightful ..

  • mazhar

    Hi I am a .NET Developer using C# Language, now I am going to build
    an android app. I learned java when I was in my graduate time. Know
    Start learning android through udemy videos. Please suggest me more or
    is there any sample app to start Or your code techniques. Thank you in
    advance. Please suggest or send me to my email id: mohdmazharkhanmca@gmail.com

    • Kamina Singh

      try “the new boston” channel on youtube there is a series of 77 videos for android studio and 200 videos for eclipse IDE.
      I hope this helps

  • anandkr

    Great piece of artice Laurence!

    People can also explore talking directly to an expert over a video call, who has experience building an app that scales to millions of active users/month. One can talk to Mario Stallone(Technical lead of Myntra – one of India’s top startups) https://helpingo.in/experts/mario.stallone

    We at helpingo.in are trying to bring in good experts who can help people with quick & personalized solutions over a video call.

  • WinFlyWeb

    Before you begin on your Android development journey, there are a few prerequisites that you need to fulfill.

    1)Android is

    2)Why Android

    3)Business preview


    5)Advantages & Disadvantages

    6) “C”


    then u can start learning from basic platform

    Know Before Android Apps Development : http://www.winflyweb.com/things-to-know-before-android-application-development/

  • Stephan

    Hi, so for a total beginner like me looking to make an android app, and learning java is the first prerequisite, what free books on java do u recommend me to get?

  • Start How To Learn Java Programming Language : http://java.meritcampus.com/core-java-topics/java-programming-language

  • Brian Vallana

    I’m starting with Android Studio. This article is just what I needed, thank you!

  • Atom

    Slightly off topic , beautiful blog !!

  • Azinudin Udin Achzab

    Nice post, very recommended for beginner haha.
    off topic, beautiful blog! can i learn how to make it? i’ve a basic knowledge about html, css and cms. Thanks before Laurence :D

    • I used WordPress and Bootstrap. Hope this helps and thanks :)

      • Azinudin Udin Achzab

        fast as always haha, i’ll try use both. you are welcome (y)

  • Markie

    Hey! Thanks for the post. I am interested in Android programming, but I’m slightly hesitant to purchase the BNR book because it’s nearly a year old. Do you think that it’s possibly too outdated at this point to still be a viable book to learn from?

  • Alok Raj Singh


    Laurence nice blog

    Can u suggest me any free website to

    Learn About Making Android Apps

  • rabi

    Thank for this valuable information.

  • Great Article… How can an independent developer create a successful app in this huge market with big players? I have no idea, I haven’t made a successful app! i’d like to get started, but I’m not entirely sure what I need. Your article really help me for beginning android app development task. I have found some useful information from here as well: http://www.perceptionsystem.com/android-application-development.html

  • Jason Whittle

    Do you have to write an Android app using Java? I’ve heard you can use Python and python looks stacks easier and quicker.

  • Important Zone

    Thanx aunty you’re great

  • Boujmaa Haissoune

    Honestly this is a great blog ,thank you for your time,to help us , i Can’t find any article about IOS programming ?

    • Keep an eye out – publishing another article on mobile app development (including iOS) soon!

      • Boujmaa Haissoune

        Thank you very much, i will waiting

  • Bukhtyar Haider

    Great work ,dear

  • Garth Jones

    What a useless article.
    It says nothing. “Learn Java” like that is a earth shattering piece of knowledge ?
    Using Google to search ? Another amazing statement.
    Sorry but this a waste of a web page.

  • David Stark

    Do you mean just Java or javascript? Im really confused

  • Critic

    An article written by someone who knows nothing about the subject, interviewing someone who has little experience… Ok.

  • Dikshant Sharma

    Can you please tell me maam , that if I want to build an Android app that has millions of users…..how will I store data……..what technology is used…….. Simple Android database…….??????
    Help me I beg u……. In android if I have to use simple activity on widgets it’s easy but when it comes to building complex things how do you do it………I think it requires documentation……why do average people fail to handle it whereas experienced coders are thorough wid it…….like sum piece of cake………..

  • Ashley Marsh

    Great tutorial on Android app development. I haven’t created an app yet but now i would like to start with my first app. I following these steps will looking forward for the my first Android app.

  • Nice article for beginners who become a android app developer. Provides mandatory tips like proficient in Java,HTML,CSS and all. Thanks for good write up. If you want to more about android application development you can know more https://www.janbasktraining.com/courses/android

  • Ajax

    thanq …. be happy

  • Milena Reddy

    Great article which helps the developer to create a successful app . Thanks for the article.
    Source:Mobile Application Development

  • Great Post ! Thank you for sharing with us For New Mobile App Developer this post was very useful.

  • Shyam Nandan kumar

    what are the basic language required required to develop android app

    • Hey, see this part of the article:

      “Building an Android app comes down to two major skills/languages: Java and Android. Java is the language used in Android, but the Android part encompasses learning XML for the design of the app, learning the concepts of Android, and using the concepts programmatically with Java.

      Once you learn Java and XML (XML is really easy to get used to, and you should learn the language as you program your app rather than learning it beforehand like you would with Java), you need to learn how to connect these two using Android principles.”

  • Tek Preneur

    Great Article!