7 Dec 2014

Getting Started With Android Development (PART 1)


This was intended to be a very long post. Deal with it.

Still Waiting for Lollipop? 


Crazy about Android, Rooting your phone and pushing your Android to its limits? No? That's fine. That was just how I got started off with Android Development. Believe it or not, I started programming only because of my passion towards Android and XDA. Allow me to take a small detour before getting to Android Development.

I started exploring and researching about android devices just as I was finishing my 8th std. For about one solid year it was just getting to know about android and the devices on the market. You could literally ask me anything about android devices and I would know. I still remember that epic MWC 2012 where the HTC One X and the Xperia S were unveiled along with their smaller brothers. .... You get my point.

Around that time I got my own Android device. It opened up infinite opportunities for me to try new stuff and I did exactly that. One month after getting it, I rooted it and for almost the next 6 months , I was flashing a Custom ROM once every 2 days. Very soon I was a senior member on XDA .... Again, you get my point.

Along the way, I was fascinated at how these developer-legends were taking time off their busy schedules and writing code to support a device they truly loved. I decided that I too wanted to build a Custom Rom and post it on XDA. Tried and failed (obviously). Advised to start with writing Android apps, thus I began my journey. My objective has changed since then.

OK That's enough. Let's get down to business


There is one fundamental thing you need to ask yourself - Do I want to start Android development because I want to learn it or because I want to build an app as soon as possible. These may seem to be the same but believe me. They're not. The difference also lies in whether you are willing to compromise on the quality of your apps.

If you want to build an app as soon as possible, You should probably stop reading this and read Aniruddha's post on the Future of Web Development (Coming soon) (Since it never came - Google Phonegap or "Android Apps using Javascript").

Traditional Android development is what you should start with if you don't want to compromise on quality and/or are learning for the long term experience. Read on.


JAVA

Your first hurdle is to learn a new language : Java. It's not the easiest language to learn, but then it's not the toughest one to learn too. If you do know Java, good for you. But you may ask , how much Java is enough. Valid question.

You don't need to go too deep into Java. Let me just list the most important concepts. You can learn the rest as you need them.

  • Basic Syntax (obviously!)
  • Writing your own methods (aka functions)
  • Object Oriented Concepts of Java (It does vary a little by language)
  • Creating Your own Classes , Interfaces , Abstract Classes , Objects 
  • Extending / Implementing these
  • Generics and Collections Classes   
Hands down the best Java video tutorials I have found.

NOTE : If you are completely new to programming, Pay special attention to the syntax part and give enough time for each of these topics.


The ANDROID IDE

Now You have a choice. No actually you don't. This is 2016 and you have no reason to not use Android Studio. You can follow any other guide on the internet to set up Android studio and its dependencies. 

Take your time and understand how the process of writing an android app works. If you don't understand something, just skip it. If you don't understand anything at all (It can happen in the start), ask around in the community or contact me personally. Some beginner questions may be 
  • Why are there so many different folders and files ?
  • Why doesn't my button do anything ?
  • How do I avoid common Gradle build problems ?
  • Why is my activity not starting ?
Don't pull your hair out. There's always help around. I'll answer these and a few more in the FAQ post.

PLEASE NOTE : Patience is key here. Android Development is not easy to learn without any decent programming experience. It will take time. Now Go have fun with Android.



BTW You can still find me on XDA . Though not active anymore, Waiting for an opportunity to be back. Please '+1' if you liked it, comment if you want to point out a mistake.

Continued in PART 2

2 comments:

  1. I would like to thank you for sharing this great information with us. I am really glad to learn about this because it helps me to increase my knowledge.Web Development Company Bangalore | Web Designing Company

    ReplyDelete
  2. Web Design Bangalore In general, creating an Android app requires the SDK (Software Development Kit), an IDE (Integrated Development Environment) like Android Studio or Eclipse, the Java Software Development Kit (JDK) and a virtual device to test on.

    ReplyDelete