Learn about Android
From MoCa Development Wiki
This document highlights Android skills that are helpful for Sana development and hopefully assist new developers with navigating the Android documentation.
Official Android Documentation
The official developer resources provide a wealth of information. However, while they are thorough, the amount of information can be a bit overwhelming to developers new to Android. The sections highlighted below should provide a basic understanding of Android development.
- Application Basics [1] The base components of an Android application. Important concepts include the four primary application components: Activities, Services, , Broadcast Receivers, and Content Providers. Particular attention should be paid to the sections on Activities and Content Providers along with Android's mechanism for asynchronous message passing through Intents-for a more thorough discussion of Intents refer to this link [2]. Also, developers should familiarize themselves with the Android manifest file and how to use named resources-an overview is available in the Application basics page while a more complete description of the AndroidManifest.xml is available here [3] and resource access here[4].
- User Interface [5]: For initial Sana development, a familiarity with the View class along with the basics of Layouts, including how they can be written in xml, is useful. While user interactions can become complex, an understanding of how to at least write a simple onClickListener for a Button and how users can select from a list of choices is a good start for initial Sana development.
- ContentProviders": This is an important part of Sana development since the various the various elements within procedures require specific ContentProviders for storing information such as audio, video, or image data. Note: a number of the elements of Sana initially capture to a temporary location prior to storing to the application. This can be slightly confusing so it may help to review how android uses the Uri and File classes. It is also helpful to have a basic understanding of how SQL queries work.
- Permissions [6]: A number of features of Android require explicit permissions to be set in order for them to function properly; e.g. writing to a SD card mounted on the device. It may help to take a look at some of the permissions in the Sana AndroidManifest.xml to get a feel for the types of permissions required.
- Package Reference[7]: The complete android API. The web reference will present the most recent Android version. If developing with an earlier version, be certain to check the Since API Level: note at the upper right of the class, interface, or method.
- Developing using Eclipse [8]There is also a section in the official documentation on developing using the Eclipse IDE. It is worth reading and valuable as a reference, the link listed below at the IBM DeveloperWorks is perhaps more appropriate for a first application for new Developers.
- The Emulator[9] </A>: This is a key part of Android development. Developers should begin by familiarizing themselves with the sections on how to create virtual devices, logging information, and handling virtual SD cards-including pushing and pulling files. It will also be important to understand the limitations of the emulator as well as basic troubleshooting. The emulator has some well known bugs so it may be worth investigating should odd behavior arise-the adb shell is an invaluable tool.
- There are a number of sample applications and tutorials[10] available from the Android development site-many are easy to open as new Projects in Eclipse once the appropriate plugins are installed. The API Demos[11] may be particularly useful since they illustrate the various features of the API. Warning: not all of the API demos will work on older Android versions. You will need to verify that a demo works on the same Android version as Sana if it is something you were considering incorporating.
Additional Resources
- Introduction to Android development[12], IBM Developer Works. Presents a summary of basic Android concepts as well as a walk through, with source code, of writing a first Android application using the Eclipse IDE. There are also a number of other Android tutorials available by searching the IBM site.
