Complete Guide to Google Android App Development

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.
- Developing Apps and Games with Android
- Android Basic Programming
- Create Your Own Android Applications
- Guide to Android Development Terms
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.
- How to Create an Android Application: Structure I
- How Do I Develop an Android Application? Structure II
- How to Use Spinners with Arrays in Android Development Environment
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.
- Setting the Environment: Using Eclipse and Netbeans for Developing Google Android Apps
- Installing and Removing Android Apps on the Emulator
- How to Set Up Eclipse to Work with Android
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.
- Guide to Using Basic Content Providers in Android Development
- Creating Databases in your Android Application
- Guide to Using Google Android Databases
- Dev Guide to Advanced Content Providers on Android
- Android App Development: How to Access the Internet and Retrieve Info with Your App
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.
- How to Program the Google Android Camera to Take Pictures
- Dev Guide to Sound Recording with Android
- Guide to QR Codes
- How to Manage Wifi in Android Development Environment: First Approach
- How To Create Screen Size Independent Android Applications
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.
- Guide to Creating Android App Menus
- How to Create Your UI Using DroidDraw
- Android UI Java Programming Tutorial
- How to Create a User Interface (UI) Using XML : Widgets
- How to Create User Interfaces (UI) Using XML : Layouts
- Development Tutorial on Working with Layouts in Android
- Dev Guide to Translating Apps in Android
- Android UI Elements: TextView
- How to create Advanced Menus Via Our Google Android Applications
- Learn About Developing Preference Screens for Your Android App
- Converting Views to Bitmap Images in Android
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.
- Adding a Progress Dialog to your Android App
- Working with the Android Source Code
- Android Development: Background Process for a Heavy Task
- Programming Guide to Android Services
- An Introduction to JUnits in the Android Development Environment
- Guide to the Dalvik Debug Monitor Service for Android
- Working with Strings in Android Development
- Android Development: GSON library and JSON Strings
- Guide to Intents in Android Development
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.
- A Guide to Publishing Apps on Android Market
- Where to Sell Your Android Application
- Android Market vs Apple App Store
- Android Market vs iPhone App Store
References
- Android Market logo image credit: Wikimedia Commons/Kenny_Strawn
- Android SDK screenshot provided by author.