OBSERVE POR FAVOR: LA RESPUESTA ABAJO ESTÁ HORRIBLEMENTE DESCONTINUADA, Y PUEDE NO SER COMPLETAMENTE CORRECTA.
Puede programar en C/C++ con el Android NDK. Tendrá que ajustar su base de código de C++ en una biblioteca estática y cargarla a través de un contenedor Java & JNI.
El NDK estándar no admite RTTI y mucha de la funcionalidad de C++ estándar tampoco está disponible, como std :: string, etc. Para solucionar esto, puede recompilar el NDK. Dmitry Moskalchuk proporciona una versión modificada del NDK que lo admite al http://www.crystax.net/android/ndk-r3.php. Esta versión modificada funciona en todos los teléfonos Android que se ejecutan en un procesador ARM.
Según el tipo de aplicación, debe decidir utilizar Java o C/C++. Utilizaría C/C++ para todo lo que requiera juegos y poder computacional por encima del promedio: Java para el resto.
Elija un idioma y escriba la mayoría de su solicitud en ese idioma; Las llamadas JNI pueden disminuir mucho su rendimiento. Sin embargo, Java no es tan difícil, si sabes cómo programar en C/C++. La ventaja de Java es que la aplicación se puede ejecutar en cualquier dispositivo con Android, donde las aplicaciones NDK dependen de la arquitectura para la que se compiló.
"Java es muy similar a C++"? – alecov
@ Alek, ¿cuál es su objeción? Es verdad. Sintácticamente, los dos lenguajes son muy similares, y Java toma mucho de C++. –
@MichaelAaronSafyan Eso solo es cierto, siempre y cuando los idiomas se comparen desde un punto de vista muy superficial. La sintaxis es de hecho similar (como es el caso de muchos lenguajes populares: C, C#, JS, PHP, ...), pero los paradigmas y las expresiones idiomáticas son diferentes. Mientras que Java todavía se enfoca en las clases a pesar de influencias recientes de elementos funcionales, C++ ya proporcionó una gama completa de mecanismos de abstracción (funciones globales, plantillas, typedef, functors, sobrecarga de operador, ...), lo que lleva a un estilo de programación diferente. P.ej. Las Colecciones STL y Java están estructuradas de manera muy diferente. – TheOperator