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 )
- Icono grande ¿El mapa de bits aparece como un cuadro blanco en la notificación?
- cortar el video en el androide por la posición inicial a la posición final
- Paginación de texto en Android
- ¿Cómo detectar constantemente las ubicaciones de los marcadores cercanos desde la ubicación actual en Google Maps android?
- Java.lang.RuntimeException: No se puede reanudar la actividad con java.lang.IllegalArgumentException
¿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.
- Cómo crear GUI en Android en lugar de utilizar XML?
- El código de autenticación de Google Server falla
- ¿Cómo se obtiene el tipo de un cursor?
- ¿Cuál es el uso de la nueva String en toArray (new String );
- Traducción de código Python a JVM
- ViewPagerIndicator - Establece TabPageIndicator en el centro
- Respuesta de JSON de Django en Android
- ¿Cuáles son las implicaciones de portabilidad de usar el NDK?
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.