Apps are one of the crowning achievements of the newest generations of phones. With the right App, you can turn your phone into a metal detector, weather device, GPS, or one of the video game systems of yesteryear. If you’re interested in developing an app like this, then you probably have some experience with the apps already out there and know what is possible and maybe you’ve even seen some of the newer technologies starting to emerge. Truly we’ve reached a level where our phones are so much more than they have ever had the possibility of being before.
So what do you need to know to get started? Well, for starters, you probably should know that the Android platform is a form of Linux. If you’ve ever done any programming for Linux you’re already off to a head start, but if you haven’t you shouldn’t worry; everything can be learned with time and patience. Another thing you should know is that Android software is written in the Java programming language. You will need some Java knowledge to make any progress on your app, but fear not. There are nearly innumerable websites out there dedicated to helping you learn Java. On top of that, there are forums full of people who already know the answers to any questions you might have. Make use of their expertise; most of these people are more than willing to help you. Just make sure you follow the forum guidelines and try to look around before you ask a question to see if someone has already asked that same question and had it resolved. You’ll save both you and your fellow programmers some time by simply doing a search.
Anyway, you should know what the Android platform is set up like. The Linux Kernel is on the bottom, forming the base. This manages your drivers, basically, and other very important functions. Above that are your libraries and the Dalvik Virtual machines. Next you’ll find the application framework. This lays additional foundation to help the apps run smoothly. Finally above that, you’ll find the applications themselves. This probably sounds pretty minor, but the truth is you’ll need to know this architecture, or at least be familiar with it. Would you expect a carpenter to build a house and put the foundation on the roof or in the middle of a room? The same principal applies here: foundation, floor, room, ceiling, roof. Be diligent, do your research, and we’ll be moving on to other Android app programming fundamentals.