Android: Java, C o C ++?

Escribí algunas aplicaciones sencillas en Android usando Java.
Pero más tarde encontré esto:

Proporciona encabezados y bibliotecas que le permiten crear actividades, manejar la entrada de usuarios, utilizar sensores de hardware, acceder a recursos de aplicaciones y más, al programar en C o C ++. ( Fuente )

¿Cómo se relaciona con esto:

Las aplicaciones de Android se escriben en el lenguaje de programación Java. ( Fuente )

¿Son posibles los tres idiomas?
Perdón por la pregunta tonta.

El artículo al que enlazas tiene buena información. También enlaza a http://developer.android.com/sdk/ndk/overview.html que dice:

El NDK no beneficiará a la mayoría de las aplicaciones. Como desarrollador, debe equilibrar sus beneficios con sus desventajas; En particular, el uso de código nativo no resulta en un aumento automático de rendimiento, sino que siempre aumenta la complejidad de la aplicación. En general, sólo debe usar código nativo si es esencial para su aplicación, no sólo porque prefiera programar en C / C ++.

Los buenos candidatos típicos para el NDK son operaciones autónomas, que consumen mucha CPU y que no asignan mucha memoria, como procesamiento de señales, simulación física, etc. Simplemente volver a codificar un método para ejecutar en C normalmente no resulta en un gran aumento de rendimiento. Al examinar si debe o no desarrollarse en código nativo, piense en sus requisitos y vea si las API de framework de Android proporcionan la funcionalidad que necesita. El NDK puede, sin embargo, puede ser una forma efectiva de reutilizar un gran corpus de C / C ++ existente.

Android está debajo de Linux para que pueda ejecutar cualquier idioma en él. He ejecutado secuencias de comandos Perl en un teléfono Android para la diversión. Desde un práctico punto de vista de desarrollo de aplicaciones, la implementación de Google de Java en ejecución en Dalvik sería la ruta típica a tomar.

Java siempre le permite llamar componentes de "código nativo". Sin embargo, desea evitarlos si es posible porque pueden introducir errores sutiles y dependencias de plataforma en su código.

No creo que puedas codificar una aplicación completa para Android en C / C + + sin embargo, debes tener un contenedor Java como mínimo.

Esta es una buena pregunta, AFAIK, c o c ++ entra en imagen cuando realmente desea programar algo fundamental característica dalvik que utilizar API de Android como se especificó que la pregunta, algo así como características relacionadas con el sensor o hardware.

Si desea crear una aplicación mediante API, estará principalmente en Java / XML.

Reescribir una de esas "operaciones autónomas que consumen mucha CPU y que no asignan mucha memoria" en C puede mejorar el rendimiento / duración de la batería en un factor de 17 de acuerdo con esta investigación . Este artículo encuentra que ejecutar CCTOOLS Fortran es incluso más rápido. Así que los idiomas alternativos son bien vale la pena considerar.

  • Análisis de RSS en Android
  • Pasar al siguiente fragmento con un clic de botón
  • JGoodies para Android?
  • No se puede convertir el objeto Subclase en cuerpo de solicitud json en Retrofit 2.0 con GsonConverterFactory
  • Android SQLite - Nueva tabla VS. Nueva base de datos
  • ¿Cómo puedo obtener el nombre de host o el nombre de dispositivo de dispositivos conectados a mi LAN a través de android?
  • Manejo multitouch en libgdx
  • ¿El Apache DefaultHttpClient (Android) y NSURLConnection (iOS) vuelven a intentar las conexiones fallidas con versiones de protocolo anteriores?
  • Java: Debería usar constructor para hacer algo más que la inicialización de las variables
  • Lectura de metadatos XMP del archivo JPG
  • La actividad continúa reiniciándose cuando cambia la orientación
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.