Android Fundamentals

Android is a flexible, open mobile platform. Creating apps requires some prior knowledge of software development. Experience in Java programming is a definite plus. Outlined below are the fundamentals of Android programming. You can also glean a wealth of information, sample code, and in-depth tutorials in the Android training and fundamental guides.

Java Programming
Android apps are developed with Java using either an Eclipse Plugin, another IDE, or a plain text editor. While Android shares some Java classes with the standard JDK, it uses a different bytecode. If you are already familiar with the standard libraries you will notice similarities between them and the Android libraries.

Development and Distribution
The development process is a familiar one: Plan, test (device emulators), hardware test, distribute. Distribution through the Android market is straightforward. Distribution in an enterprise environment would follow a different path depending on your security requirements. The Notepad Tutorial is a highly recommended start for Java programmers.

Developing without CodingApp Inventor
You can develop apps without coding using App Inventor. Google recently gifted the App Inventor project to MIT. App Inventor allows you to piece your app together with a puzzle-like user interface. Add functions, test on an emulator, and edit without coding.

Buzz TouchBuzz Touch is a web-based development platform that requires no coding. You develop your app using the online interface, then download the source code for compiling and distribution. The service is free to use. You must still install and set up your Android development environment to compile code.

Conduit MobileConduit Mobile has an easy-to-use web interface for creating your mobile app. Features are focused more on web content delivery than a full app (thin app). The company is making strides in their product offerings as of the last quarter in 2011 so there are likely more advancements on the way. The test app for Android is a welcome addition to their product offering.