Développement Android utilisant C et C ++ [fermé]

47

Je suis un développeur C, C ++. Je m'intéresse au développement mobile. Je veux savoir comment puis-je développer des applications Android en utilisant C et C ++, j'ai lu qu'ils fournissaient un kit pour les développeurs C, C ++ mais il ne possède pas toutes les fonctions du kit Java. Devrais-je opter pour le kit de développement C / C ++ ou mieux vaut apprendre java car ils ne fourniront peut-être pas toutes les fonctionnalités à l'avenir?

Fuddin
la source

Réponses:

33

Version courte: travailler avec C ++ sur Android est possible et plus facile avec chaque version du SDK / NDK d'Android, mais c'est plus difficile que de travailler avec Java.


Version longue :

Pour chaque version, Google ajoute davantage de fonctionnalités à Android Native Development Kit et le rend de plus en plus indépendant du code Java.

Lisez http://developer.android.com/sdk/ndk/overview.html pour plus de détails:

Ecrivez une activité native qui vous permet d'implémenter les rappels de cycle de vie en code natif. Le SDK Android fournit la classe NativeActivity, qui est une classe pratique qui informe votre code natif de tous les rappels de cycle de vie d'activité (onCreate (), onPause (), onResume (), etc.). Vous pouvez implémenter les rappels dans votre code natif pour gérer ces événements lorsqu'ils se produisent. Les applications qui utilisent des activités natives doivent être exécutées sur Android 2.3 (API niveau 9) ou une version ultérieure. Vous ne pouvez pas accéder de manière native à des fonctionnalités telles que les fournisseurs de services et de contenus. Par conséquent, si vous souhaitez les utiliser ou toute autre API d'infrastructure, vous pouvez toujours écrire du code JNI.

Le problème est simplement que si vous utilisez le dernier NDK, vous ne pourrez pas déployer et beaucoup de versions Android non récentes.

Quoi qu’il en soit, même avec les versions précédentes de NDK, vous pouvez disposer d’un code Java minimal (pour interagir avec le système d’exploitation) et du code complet de l’application en C ++ ou de tout autre logiciel natif.

Des efforts sont également déployés pour aider les développeurs natifs à travailler pleinement en C ou C ++ via des plug-ins IDE comme Vs-Android, un plug-in pour Visual Studio 201x qui vous masque tout le processus de compilation et de génération: http://code.google.com / p / vs-android /

De même, si vous envisagez de transférer votre application vers un autre système d'exploitation, opter pour le cœur de votre application en C ++ (éventuellement avec un langage de script) est une bonne idée. Le temps de développement est simplement plus coûteux que d’autres alternatives - pour des raisons spécifiques au C ++ et à l’implémentation des outils de développement disponibles, par exemple, des temps de compilation trop longs peuvent nuire à votre productivité.

Cela dit, ce n’est pas le moyen le plus simple de travailler sur des applications mobiles.

Klaim
la source
8

Je vous conseillerais de choisir le C ++ si vous avez un plan ferme pour le développement de jeux. Mais sinon, vous feriez mieux de choisir Java. Voici un bon guide pour vous sur le site officiel Android:

Développement de jeux pour Android: Introduction rapide

REMARQUE: lisez l’étape 2 (étape 2: Choisir une langue) du didacticiel.

Si vous ne connaissez pas Java et que vous souhaitez développer des applications sur Android à long terme, il est essentiel d’apprendre à utiliser Java. Il y a d'excellents tutoriels donnés sur le site officiel. Il existe un livre intéressant à apprendre spécifiquement pour le développement Android: Le voici: Apprendre Java pour le développement Android

Maxood
la source
La personne qui a posté la question connaît déjà le C ++, alors à quoi sert votre conseil?
Abhi
7

Devrais-je opter pour le kit de développement C / C ++ ou mieux vaut apprendre java car ils ne fourniront peut-être pas toutes les fonctionnalités à l'avenir?

La réponse est les deux.

  • Si vous écrivez des applications où les performances sont une préoccupation majeure, elles doivent presque être dans une autre matière que Java. (C / C ++ est le plus populaire) Les jeux sont l’objet le plus cher, mais il en existe d’autres.
  • Si vous faites un développement Android, vous devriez également prendre le temps d'apprendre java à un niveau raisonnable.
utilisateur606723
la source
Je ne comprends pas ce que vous entendez par faire Android nécessite Java, mais si vous voulez faire un jeu Android, utilisez c / c ++. Pourquoi ne pas simplement utiliser c / c ++ à fond.
Lance Pollard