Programming for Android
An Android application can be created on the desktop or directly on the mobile. Techniques and tools available.
Android is dedicated to mobile phones it is an operating system under a free license, as is Linux. It was created by a startup specialized in the creation of software for mobile, Android, that has been acquired by Google in July.
Google
has federated a lot of players in the mobile domain around its initiative
in an entity called Open Handset Alliance whose logo is displayed on
the right.
It includes:
- Operators as Telefonica, Telecom Italia.
- Phone manufacturers including LG, Motorola, Samsung.
- Founders components: Intel, Nvidia, Texas Instruments.
- And Net players like eBay.
The platform
Android, is more than an operating system, it is also a user interface and
a platform for applications created by Google. Being open, it will enable
independent programmers to create software for mobile devices.
The main advantage over current systems such as Windows Mobile, is a full
access to the hardware, while it was limited so far.
An SDK is already
available for developers.
Applications provided by Google include Gmail, Google Mobile (search engine),
Calendar, Google Documents, Youtube, Maps...
RenderScript is a 3D rendering API using the graphics processor and is available for the Android 3.0 tablets.
However it is expected in the near future to merge Android 2 and 3, so we should also have one day this on smartphones. This interface is part of the SDK, and programmed in a language close to C, compiled in intermediate code.
See the flow chart showing how is built Android and structure of applications, an internal description of the system. .
Dalvik
Dalvik is a virtual machine that interprets the object code from compiling a Java source (or other language).
The Alien Dalvik compiler is a portable version of Dalvik that runs Android applications.
Running them on other operating systems would allow to make applications portable between various types of smartphones. The first consumer version is scheduled on MeeGo to the end of the year.
To cope with the inconvenience that may possibly arise from the Oracle lawsuit against Google, about Dalvik, the virtual machine for Android, which has the disadvantage to not have been produced by them, the Fosdem foundation launched the IceRobot project. This is another virtual machine entirely based on code licensed under GNU.
Programming tools for Android
The version 3.0 of the Android SDK still contains an emulator for testing applications on a virtual mobile phone. It is as committed to slates as smartphones and supports larger screens. To do this, the user interface has been completely redesigned.
New components are added to the library. The applications have been rewritten to a more intuitive using.
The support for M3U playlist URL should allow to view TV on a tablet with a tool such as VLC.
- Terminal IDE. Command line and development tools for Java and C on Android. This allows to work directly on the mobile device. Git is included in the IDE.
- App Inventor. Abandoned by Google but maintained by MIT, which is the creator, this tool can automatically generate an application.
- AIDE. Another IDE to develop apps directly on the mobile. Compatible with Eclipse.
- ARM Tools. Eclipse plugin to program at native level. Eclipse now includes Android programming, see at the main site.
- A developer experience. Both a manual and a criticism. An answer.
- Developer's perspective. How to build a first application with Eclipse and Java.
- The SDK. Development toolkit. See also the NDK. To program in C++ and make native code.
- Speed up the emulator.
Other tools
- BlueStacks. A plugin to run Android Apps on Windows or iOS. This can help to test his applications by replacing a too slow emulator, or develop more universal applications.
- Mono for Android. Programming in C# with Dalvik as backend.
- On{x}. Strangely offered by Microsoft, allows to remotely control an Android phone with JavaScript code. In addition you connect with your Facebook account! Computers have no borders!
- Cryanogenmod. Offers a fork of Android with additional features.
Documents
- Open Handset Alliance.The committee for Android.
- Android and Nexus One. Android vs. iPhone.
- The Android project. On the blog of Google.
- First video.
- Emerging UI pattern. Evolution of the Android interface, and the end of dashboard.
- What Android version to target? Stats of usage.

