Programming for Android

Techniques and tools to build an Android application on the desktop or directly on the mobile


Video of Android 3

Android was a startup specializing in creating software for mobile and had 8 employees in 2005. Their first thought was to turn to Samsung for funding, but the meeting did not go well. The team of the startup moved to Seoul to make a demonstration of Android, which was a different OS running applications, in front of a panel of engineers and leaders of the Korean company which shown unconvinced. When the team left the room, the assembled laughed!

A few weeks later, Android was bought by Google for $50 million. Now, no one laughs at Samsung, which represents 80% of sales of mobile devices equipped with this system.

Between 2008, year of the launching of Android and 2013, the system generated to Google $ 31 billion revenues and achieved $ 22 billion profit. These figures were revealed by one of the lawyers of Oracle at trial that opposed the firm to Google (trial lost by Oracle). This lawyer was then himself the subject of a trial for revealing these confidential data.

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 is comprised of operators as Telefonica, Telecom Italia, phone manufacturers including LG, Motorola, Samsung, founders components: Intel, Nvidia, Texas Instruments and Net players like eBay.

Open 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.

Dalvik is a virtual machine that interprets the object code from compiling a Java source (or other language).

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 projet of its own version of Android entirely based on code licensed under GNU, GNUDroid. This project described in an event called IcedRobot does not seem to have succeeded and is still frosted. It was followed by CryanogenMod which in turn has been followed by LinageOS.

In fact, there is a version completely open source of Android, AOSP, provided by Google and usable by all. It was used by Nokia for its X and X+ smartphones in 2014.

See the flow chart showing how is built Android and structure of applications, an internal description of the system. .

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.

Other tools

Documents