Following on from the release of Android 4.0 and its SDK, Google has updated the NDK - Native Development Kit - to Version 7.
The NDK lets you write chunks of your app in C or C++, in principle for performance reasons.
It is interesting to compare the approaches of the three big smart phones. All Apple iOS apps are "native" in the sense that they are created using Objective C and these compile to machine code. Currently there is no way to create anything other than managed apps that run under the CLR on Windows Phone 7. Android uses the Dalvik VM to run byte code for most apps, but it does allow C/C++ code that compiles down to machine code to run under the Dalvik machine. This is the purpose of the NDK.
The new release obviously includes support for Android 4, aka Ice Cream Sandwich. In particular it has added support for the multimedia API and native audio API. Both are based on Khronos Group open APIs - OpenMAX AL and OpenSL ES respectively. Working with low level streaming is exactly what C/C++ is good at and this is another reason for using the NDK. The low level streaming media API lets you take full control of the media data before it is passed on to the platform for presentation. NDK media applications can now retrieve data from any source, apply encryption/decryption etc. The audio API allows you to decode to PCM format.
It is good to have the entire Android 4 development environment updated. We can only hope that a reasonable amount of time passes before it moves on to Version 5. Bring us just bug fixes and minor improvements please.
Froyo still dominates in Android market
Android 2.x has over 90% share
Android apps on the rise
The remarkable spread of Android
Android Apps Marketing (book review)
Introduction to Android 2 application development
If you would like to be informed about new articles on I Programmer you can either follow us on Twitter or Facebook or you can subscribe to our weekly newsletter.