Getting into Android development? Don't go it alone - our comprehensive collection of guides and articles is a great resource. Find out how to work with the Android platform and develop your app.
Getting Started with Android Development
If you’re interested in developing an app for Android phones, you need to be quite sure about what you’re getting into. While there is no compulsion to have prior coding and development experience, these are nevertheless useful prerequisites, and without such knowledge the learning curve could prove to be quite steep.
Understanding exactly what is required for the development of apps and even games is vital, and once newcomers have overcome the initial obstacles and got to grips with basic programming, they should then be in a position to develop and publish their own basic Android apps, and along the way pick up much of the jargon and terms associated with Android development.
Understanding the Process of Building an App
Building an app for Android is a complicated business, requiring considerable planning. As well as outlining your intention for the app, you should be planning how to build it, paying particular attention to the structure of the app and its code.
Preparing Your Computer for Android App Development
When you’re ready to begin development of your Android app, you will need to install the software developer’s kit (SDK) and various other components such as Eclipse and Netbeans. The Android SDK also features an emulator which is ideal for testing your app on various Android device types and releases of the operating system. You can also use this if you are planning to develop for Android without first owning a phone in order to give you an idea of how the operating system and its user interface work, and with the emulator you can install existing apps.
Sourcing Data for Your App
Many Android apps make use of existing data that is interpreted and reformatted for the purposes of the developer. As such data might come from third-party websites and sources, where it is provided via an API or direct access to a database, or from compact databases created by the developer for use with the app.
Databases are an increasingly important aspect of software development, assisting in the stable running of an app or game by providing locations for saving data, instructions for playing sounds and displaying graphics and much more.
Utilizing the Phone Hardware
Many apps take advantage of existing functions on an Android phone, and this can include native apps as well as hardware. You will find a lot of apps on the Android Market that can launch the camera, for instance, and take a copy of a photo that you snap to either upload to the web or present as an editable file. Similarly, audio can be recorded with an app.
Other hardware considerations should be taken into account. For instance, given the many Android devices available thanks to platform fragmentation, you should be aware of methods used to make your app screen size independent, so that it might be available to the widest possible selection of users.
Designing the User Interface
Most apps have two main elements, and if these are implemented well then the software should be successful. Along with the underlying build and purpose of the app, it should also have a good user interface. This is the part of the app that you see, displayed on your Android phone, and it is here that you will open and close the app, tap the screen to interact with it, change settings and generally use it.
Failure to create a competent and consistent user interface will bring down the wrath of the reviewers on the Android Market, so paying attention to this aspect of the app is vital. If you don’t feel as though you are able to deal with the creation of the UI yourself then you should probably hire a designer for this side of the app’s development. They should understand the basics of designing a UI, creating menus, etc.
Advanced Development Concepts
Depending on the scale of your Android app, you will need to be aware of various advanced development concepts, particularly controlling background processing, accessing libraries and of course the very important task of debugging.
Virtually no software has ever been created that hasn’t required a degree of debugging at some point. In the case of an Android mobile app this may need to take place on the first run of the completed app or later on when the app is tested on other hardware, real or emulated.
Understanding the Android source code is useful at this stage, as is being aware of various other advanced development concepts.
Using the Android Market
While there are other places online where you can sell or distribute your app, the best place is the Android Market. Almost every Android phone has access to the Market, and those that don’t can download apps from it via a QR code which will start the download process off.
However, there are alternatives to the official Android Market, and these should be considered regardless of whether your app is successfully listed. The Market has some advantages over Apple’s App Store, not least being easier to list in, but this doesn’t mean that you should avoid using unofficial repositories. Many Android users don’t have mobile Internet access, for instance, so if you have created an app that doesn’t require a data connection it will appeal to people who download their apps via computer and transfer to their Android phone manually.