Programming for Android
Techniques and tools for creating an Android application, on your desktop or directly on your mobile.
Android was a startup specializing in mobile software development and had eight employees in 2005. Their first idea was to turn to Samsung for funding, but the meeting went badly. The startup team traveled to Seoul to demonstrate Android - another operating system that ran apps - to a group of engineers and executives at the Korean company who were unconvinced. When the team left the room, the hall laughed!
A few weeks later, Android was acquired by Google for $50 million. And it's no longer funny at Samsung, which now accounts for 80% of mobile sales equipped with this system.
Between 2008, the year Android launched, and 2013, the system earned Google $31 billion and brought in $22 billion in profit. The figures were revealed by one of Oracle's lawyers in a lawsuit between the firm and Google. This lawyer was himself sued for disclosing confidential data.
Google has combined... A number of mobile players have coalesced around his initiative into a entity called the Open Handset Alliance, whose logo is displayed on the right. It includes carriers like Telfonica and Telecom Italia, phone makers including LG, Motorola and Samsung, component makers like Intel, Nvidia and Texas Instruments, and internet players like eBay. An open platform, in addition to being an operating system, is a user interface and platform with a database of applications created by Google. Being open, it will allow independent programmers to create mobile software.
The main advantage over current systems such as Windows Mobile is that access to the hardware will be complete, whereas it has been limited so far. The SDK is already available for developers.
Among the applications provided by Google are Gmail, Google Mobile (search engine), Calendar, Google Docs, YouTube, Maps, etc.
Renderscript is a 3D rendering API that uses a GPU and is available in Android 3.0 for tablets.
However, in the near future it is planned to merge Android 2 and 3, so one day it should be possible to use it on smartphones.
This interface, which is part of the SDK, is programmed in a C-like language, compiled into intermediate code.
Dalvik is a virtual machine that interprets object code produced by compiling Java source code (or another language).
To address the potential inconvenience that may arise from Oracle's lawsuit against Google regarding Dalvik, an Android virtual machine whose disadvantage is that it was not produced by them, the Fosdem Foundation launched a project for a version of Android based entirely on GNU-licensed code, GNUDroid. This project, described in a conference called IcedRobot, seems to have failed and remained frozen. It was followed by CryanogenMod, which was succeeded by LinageOS.
In fact, there is a fully open version of Android, AOSP, offered by Google and available to everyone. It was used by Nokia for its X and X + smartphones in 2014.
See a diagram showing how Android is built and a description of the system from a programming point of view.
Android Software
The new version of the SDK for Android 3.0 still includes an emulator for testing applications on a virtual mobile device. It is designed for both tablets and smartphones and supports larger screens. To achieve this goal, the user interface has been completely redesigned.
New components have been added to the library. Applications have been rewritten for more intuitive use.
Support for M3U URL playlists should make it possible to watch TV on a tablet with software like VLC.
- Terminal IDE. Command line tools and Java and C development for Android. This allows you to work directly on your mobile device. Git is included in the IDE.
- Android Studio. IDE and emulator development kit. See also NDC. For programming in C++ and creating your own code.
- App Inventor. Abandoned by Google, but supported by MIT, its creator, this tool allows you to automatically generate an application.
Other tools
- Mono for Android. Programming in C # with Dalvik as a backend.
- Distribution of versions. Based on versions of Android connected to the Google Play store, it lets you know what features you need to implement in the app. You also need to know which versions support them.
Documents
- Android и Nexus One. Android vs. iPhone.
- Open Handset Alliance. Android Committee.
- First demo video.