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.