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:
- You need to learn Java, there is no way around it
- Android part encompasses learning XML for the app design, understanding concepts of Android and using said concepts programmatically with Java
- Beginners should probably use an IDE (PraneethVT preferred Android Studio over Eclipse)
- Building your first app is time-consuming: it won't happen overnight. This is not a project for those looking for a fast result
- 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.
Additional Places To Learn About Making Android Apps
- Team Treehouse's Android Development Track: Team Treehouse has an entire track dedicated to Android development. It consists of nine separate courses, all revolving around Android app building. Treehouse basic plans are only $25/month. Learn more about Team Treehouse and their courses here.
- Lynda's Developing Android Apps Essential Training: This course is made up of 11 different lesson modules. Total video course time is nearly six hours—that's a lot of material! Lynda has many other Android and Java courses, too. And plans for Lynda.com start at $24.99/month. Learn more about Lynda and their online courses here.
- Udacity's Developing Android Apps Course: Udacity has an intermediate level Android course, built by Google. Over 177,000 students have already taken the course. There is a free 14-day trial. And then, $199/month.