I am a C, C++ developer. I am interested in mobile development. I want to know how can I develop Android apps using C and C++, I have read that they are providing a kit for C, C++ developers but it does not have all functions as of Java kit. Should I go for C/C++ development kit or it's better to learn java as they may not provide all the functionality in future?
Short version : working with C++ on Android is possible and easier with each Android SDK/NDK version, but it's harder than working with Java.
Long version :
For each version, Google adds more functionalities to Android Native Development Kit and makes it more and more independant on the Java code.
Read http://developer.android.com/sdk/ndk/overview.html for more details:
The problem is just that if you use the most recent NDK, you'll not be able to deploy and a lot of not-recent Android versions.
Anyway even with previous NDK versions, you can have minimal Java code (for interacting with the OS) and the full application code in C++ or anything native.
There are also efforts in helping native developers to work fully in C or C++ via IDE plugins like this Vs-Android that is a plugin for Visual Studio 201x hiding all the compilation and generation process from you : http://code.google.com/p/vs-android/
Also, if you plan do port your application to other OS, going with C++ for the core of your application (maybe with a scripting language on top) is a good idea. It's just more expensive on development time than other alternatives - for reasons specific to C++ and it's available dev tools implementations, for example too much compilation times can kill your effective productivity.
That being said, that is not the most easy way to work on mobile apps.
I would advise you to go for C++ if you have a firm plan to go into Game Development. But if not, you better go for Java. Here is a good primer for you on the official android website:
NOTE: Please do read step 2 (Step Two: Pick a Language) of the tutorial.
If you do not know Java at all and like to develop apps on Android for the long term, it is essential to learn Java. There are great tutorials given on the official website. There is a nice book that you can grab for learning specifically for Android development: Here it is: Learn Java for Android Development
The answer is both.
protected by Thomas Owens♦ Feb 21 at 13:11
This question is protected to prevent "thanks!", "me too!", or spam answers by new users. To answer it, you must have earned at least 10 reputation on this site.