Whether you are a serious hacker or a novice at programming, he or she can develop an Android application. This is possible because Google makes the tools readily available. Google App Inventor is an intuitive tool that uses visually-based components and drag-and-drop technology. Furthermore, it is easy to find tutorials on use of the tool to develop relatively simple apps. There are YouTube video tutorials for those who need the visual help.
Tools for the Experienced Programmer
For those with a little more technical knowledge there is the Android SDK, also an application development tool, which can be downloaded and installed. If Eclipse is to be used for the app, the ADT plugin must also be installed. There are step-by-step tutorials on the use of this tool available on web. SDK is more complex than Google App Inventor, and will allow for more programming choices. There is a community of developers, with web sites and blogs which discuss the use of the program.
Dos and Don’ts
Whether using one of these engines or more sophisticated programming tools, there are certain tips which developers of android applications should keep in mind. Some of these may not be a concern if the objective is to develop a simple game for personal use on a single device.
- Android devices come in various sizes, and graphics that look good on one size screen may not work well on one that is larger or smaller. So, it may be a good idea to develop a complex game sprite in two or three different sizes for use on different devices.
- Power usage on portable devices, particularly phones, is always a concern. Therefore, it is wise to design features that use the most power available in the least time. The app should not keep running when it is not being used, for example.
- Related to power usage, many android devices go on sleep mode or power down if not used for a fairly brief time. So an application should be designed to automatically save data, if necessary, and be easy to continue from the same point. Likewise, in the Android environment, applications override one another and need to be designed to accommodate the override and restart as needed.
- A large application should be broken down into a number of smaller steps. Smaller apps load faster and use less power. They can be set up from a menu that allows the user to move from one to another.
- Avoid using a strict hierarchical menu that must be navigated through on a step by step basis. Mobile device users generally favor instant functionality and do not want to move through an entire menu to find the function they are looking for.