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.

  • ¿Cómo obtener la altitud barométrica en Android?
  • Cómo crear sqlite declaración preparada en OrmLite?
  • Cómo bloquear los botones de Android / teléfono de código (bloqueo de pantalla)?
  • Incapaz de referir proyecto de biblioteca android en adt actualizado
  • Pasar un ArrayList de cualquier tipo a un método
  • Android Studio - SDK está desactualizado o falta plantillas
  • Java / Android obtener matriz de xml
  • ¿Cuáles son los beneficios de usar WeakReferences?
  • Cómo agregar la dependencia de compilación a la ruta de clase javadoc en gradle
  • Error de Eclipse, "La selección no se puede iniciar y no hay lanzamientos recientes"
  • El proceso de alojamiento del servicio de cámara ha muerto inesperadamente
  • FlipAndroid es un fan de Google para Android, Todo sobre Android Phones, Android Wear, Android Dev y Aplicaciones para Android Aplicaciones.