desarrollo de Android usando C y C ++ [cerrado]

46

Soy un desarrollador de C, C ++. Estoy interesado en el desarrollo móvil. Quiero saber cómo puedo desarrollar aplicaciones de Android usando C y C ++, tengo lee que están proporcionando un kit para desarrolladores de C, C ++, pero no tiene todas las funciones del kit de Java. ¿Debo ir al kit de desarrollo de C / C ++ o es mejor aprender Java, ya que es posible que no proporcionen toda la funcionalidad en el futuro?

    
pregunta Fahad Uddin 30.12.2011 - 17:06

3 respuestas

31

Versión corta: trabajar con C ++ en Android es posible y más fácil con cada versión de Android SDK / NDK, pero es más difícil que trabajar con Java.

Versión larga:

Para cada versión, Google agrega más funcionalidades al Kit de desarrollo nativo de Android y lo hace cada vez más independiente en el código Java.

Lea enlace para obtener más detalles:

  

Escriba una actividad nativa, que le permita implementar el ciclo de vida   devoluciones de llamada en código nativo. El SDK de Android proporciona la NativeActivity   clase, que es una clase de conveniencia que notifica a su código nativo de   cualquier actividad devoluciones de llamada del ciclo de vida (onCreate (), onPause (), onResume (),   etc). Puede implementar las devoluciones de llamada en su código nativo para manejar   estos eventos cuando ocurren Aplicaciones que utilizan actividades nativas.   debe ejecutarse en Android 2.3 (API nivel 9) o posterior. No se puede acceder   características tales como servicios y proveedores de contenido de forma nativa, por lo que si   desea utilizarlos o cualquier otra API de marco, aún puede escribir JNI   código para hacerlo.

El problema es que si utilizas el NDK más reciente, no podrás implementar y muchas versiones de Android no recientes.

De todos modos, incluso con las versiones anteriores del NDK, puede tener un código Java mínimo (para interactuar con el sistema operativo) y el código completo de la aplicación en C ++ o cualquier cosa nativa.

También hay esfuerzos para ayudar a los desarrolladores nativos a trabajar completamente en C o C ++ a través de complementos IDE como este Vs-Android que es un complemento para Visual Studio 201x que le oculta todo el proceso de compilación y generación: enlace

Además, si planea portar su aplicación a otro sistema operativo, ir con C ++ para el núcleo de su aplicación (tal vez con un lenguaje de scripting en la parte superior) es una buena idea. Es simplemente más costoso en tiempo de desarrollo que otras alternativas, por razones específicas de C ++ y sus implementaciones de herramientas de desarrollo disponibles, por ejemplo, demasiados tiempos de compilación pueden matar su productividad efectiva.

Dicho esto, esa no es la forma más fácil de trabajar en aplicaciones móviles.

    
respondido por el Klaim 30.12.2011 - 17:49
8

Le aconsejaría que opte por C ++ si tiene un plan firme para desarrollar Desarrollo de juegos. Pero si no, será mejor que vayas por Java. Aquí hay un buen manual para usted en el sitio web oficial de Android:

Desarrollo de juegos para Android: una guía rápida

NOTA: lea el paso 2 (Paso dos: Elija un idioma) del tutorial.

Si no conoce Java en absoluto y le gusta desarrollar aplicaciones en Android a largo plazo, es esencial aprender Java. Hay grandes tutoriales dados en el sitio web oficial. Hay un buen libro que puedes tomar para aprender específicamente para el desarrollo de Android: Aquí está: Aprenda Java para el desarrollo de Android

    
respondido por el Maxood 30.12.2011 - 17:21
6
  

¿Debo optar por el kit de desarrollo C / C ++ o es mejor aprender Java, ya que es posible que no proporcionen toda la funcionalidad en el futuro?

La respuesta es ambas.

  • Si está escribiendo aplicaciones donde el rendimiento es un elemento principal preocupación, casi tienen que estar en otra cosa que no sea java. (C / C ++ es más popular) Los juegos son el elemento más caro, pero hay otros.
  • Si está realizando cualquier desarrollo de Android, también debería tomarse el tiempo para aprender Java a un nivel razonable.
respondido por el user606723 30.12.2011 - 18:19

Lea otras preguntas en las etiquetas