Developing an app on the Android platform, while easy, does require some elbow grease and a little bit of know how. The most fundamental aspect of programming an Android app is the language you use to program it in. For Android, this is Java. So just how much Java do you need to know in order to successfully create (and sell) a fully functioning and polished Android app? The answer may surprise you.

The official language for developing on the Android platform is Java. The majority of any Android app is Java, with a sprinkling of XML tossed into the mix. This means that, of course, it helps to come into Android app development with prior experience in programming with Java. The most important aspects of programing with Java to know includes control flow structures, data types, and Object-Oriented Programming (OOP) concepts – basically the fundamentals you would learn when programming in any other language.

Two other concepts important to app development includes Event Listeners and Threads. Event listeners are what “listen” to what’s going on in an app. For example, you would employ a listener to “listen” for when a button is pressed. Once your Event Listener “hears” the button being pressed, your code would then execute what ever is supposed to happen when that button is pressed. Threads are the tools that allow your apps to process tasks in the background, which is important for a fluid, enjoyable experience for your app users. You would use a Thread process things like images in the background so that when your user presses a button that displays a certain image, there is no noticeable “hang time” between the button press and the loading of the image, because your Thread has already loaded up the image!

There are numerous free tutorials floating on the web in order to learn the Java language and these concepts, such as this one published by Oracle, the company that distributes the Java language. If you’re looking for something a little more comprehensive and don’t mind shelling a few bucks, this Udemy course is a popular one, and is designed specifically to teach you Java for Android App development.

Now, there are ways around a lack of Java knowledge, too. There are numerous platforms that allow you to create fully functional Android apps with little to no Java knowledge at all! One of the more powerful platforms is called the Corona SDK. Corona uses a high-level SDK that is built with the Lua programming language, which is much simpler to learn than Java. The developer that chooses to go this route will perhaps lose an amount of agency over the finished product. However, professional looking and functioning apps can be created with little to no Java knowledge using such platforms.

While having a knowledge of Java will certainly help you in developing apps for Android, it is, surprisingly, not necessary for creating less complex apps that look professional and function perfectly well. Many people are surprised to learn that, in some cases, developing apps for Android requires no knowledge of Java at all.

Sales for smartphones are increasing quarterly, despite the current strain on the current economy, and while a flood of apps have come and gone on the marketplace, there is a flood of apps still waiting to be created and sold on the digital marketplace. In fact, with the economy failing and people getting laid off, more and more people are choosing to learn skills easily monetized by a digital marketplace, skills like Android app development. As it turns out, quite a lot of people making a living off of Android development started out not knowing a thing about coding. The internet age has granted an unparalleled amount of information easily accessible by anyone – information like learning Android development. With a little bit of time and effort, anybody can learn how to make an app for Android, including those with no prior knowledge.

When beginning to develop for Android, the most important things you need to learn are the elementary concepts of Object Oriented Programming (OOP), a basic understanding of the Java programming language, and the basics of XML. This list of things to learn may seem intimidating at first, but the more you learn about each, the more confidence you will have about using them to create your Android app.

Object Oriented Programming is a term used for programs that use objects and classes, and accomplishes tasks using them. Android apps typically uses many of both classes and objects, so it is important to understand how an object relates and interacts with different objects of different classes. Because you are developing for Android, the most efficient way to learn OOP would be to learn the principles using Java, the official language of Android. Not only would you be learning important OOP concepts, but you would also be familiarizing yourself with the Java and it’s syntax. The majority of your code will be in Java, so learning the language is another important step in learning to develop apps for Android.

XML is important to know because the basis of the Android UI (User Interface) is written in XML. Much of the data on the internet is stored in XML as well, so if you are designing an app that’s meant to interface with the internet somehow, then you will need to know the XML required to pass the data between the internet and your app.

It will also be necessary for you to familiarize yourself with the development environment used to create the app itself. Most Android programmers use and recommend Eclipse as their IDE (Integrated Development Environment) of choice. You will also need to download the Android SDK and learn to use the tools provided with that as well.

Perhaps the most important thing that will be required of you is patience. Learning a new skill from scratch takes time and effort. You should not expect to create a best-selling app overnight. Understand that patience will be required, and sooner than you know it, you will be skilled enough to make money in the Android app development field.

Android App Development has quickly become one of the biggest industries in the world. In fact, in the third quarter of last year, the number of Android smartphones that have been shipped reached 211.6 million, equaling 81% of allsmartphone shipments.

That’s right. Of the 10 people you see using a smartphone, 8 of them are on an Android device.

That means that 80% of those in the market for apps are on Android devices. And that means if you want to grab yourself a piece of the Android App pie – and maybe even leave your job in the process – you need to learn how to todevelop Android Apps.

So where do you start? At the fundamentals.

Java

Java programming is the bread and butter of Android development. Before you jump headlong into Android, it would be best to learn some Java – just enough to get yourself into trouble. Another thing, Java is a crucial part of web-development. Learn enough Android, and your skills will translate well into web-development (and vice versa) but that’s another post for another time.

If you want to learn just enough to get you started in Java, you could probably get what you need by going through on or both ofthese fine beginnertutorials. If you decide you’d like to go a little deeper, Thinking in Java will likely be one of the only Java books you’ll ever need to buy.

After you’ve gotten your share of Java, it’s time to get into the meat of development.

Android Development

By now you should have enough Java experience to have a solid foundation – a very basic understanding of coding and Java syntax. Your next step should be to check out a few tutorials that show you how to build a simple app – the simpler, the better. A good place to start is Android Developer’s Getting Started page. TheNewBoston YouTube channel has an entire playlist devoted to Android development, which stretches all the way from installing Eclipse and the Android SDK to submitting an app to the marketplace (and building an app, of course).

Now, after you’ve built a simple app or two, you should spread your learning out a little and start exploring other, more in depth resources. Vogella has a large library of tutorials that touch the more elementary topics and more in-depth and advanced topics. The AndriodBootcamp Series 2012 is a video series of live-recordedAndriodBootcamp Sessions. While the information might be a little outdated, the series will lead to insights on topics that other resources tend to skip over, such as content providers, security, and system services. Treehouse and Lynda are both subscription based services that house large collections of video tutorials for many topics. Subscribing to them allows access to their entire library of video courses which you can complete at your own pace.

So there you have it! Follow these resources and I guarantee that you will have the technical skill to start developing your own Android Apps, enough to start grabbing yourself a slice of that pie!