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 )
- No se puede obtener el PreferenceFragment para trabajar (error de compilación)
- Error al ejecutar exec (). Comando: Directorio de trabajo: null Entorno: null - ¿cómo ejecutar un binario en Android correctamente en un dispositivo no arraigado?
- ¿Cómo abrir una aplicación android instalada con un clic de botón?
- Aplicación detenida en Android / SQLITE ERROR /
- Intellij 13 Auto doc pop-up en la solución mouseover ya no funciona
¿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.
- Mensaje firmado usando OpenSSL; No se puede verificar con Android Java
- Galería personalizada de Android para desactivar el desplazamiento
- StandardCharsets.UTF_8 en API inferior a 19
- ¿Cómo puedo crear un mapa personalizado en Google Maps?
- Cambiar mapa de bits Color con función
- Error: Este fragmento debe proporcionar un constructor predeterminado (un constructor público sin argumentos)
- Diseño personalizado para DialogFragment OnCreateView vs. OnCreateDialog
- Android Studio - No se pudo determinar la versión de Java
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.