Sviluppo Android utilizzando C e C ++ [chiuso]


47

Sono uno sviluppatore C, C ++. Sono interessato allo sviluppo mobile. Voglio sapere come posso sviluppare app Android usando C e C ++, ho letto che stanno fornendo un kit per sviluppatori C, C ++ ma non ha tutte le funzioni del kit Java. Dovrei scegliere il kit di sviluppo C / C ++ o è meglio imparare java in quanto potrebbero non fornire tutte le funzionalità in futuro?

Risposte:


33

Versione breve: lavorare con C ++ su Android è possibile e più facile con ogni versione di Android SDK / NDK, ma è più difficile che lavorare con Java.


Versione lunga:

Per ogni versione, Google aggiunge più funzionalità ad Android Native Development Kit e lo rende sempre più indipendente dal codice Java.

Leggi http://developer.android.com/sdk/ndk/overview.html per maggiori dettagli:

Scrivere un'attività nativa, che consente di implementare i callback del ciclo di vita nel codice nativo. L'SDK di Android fornisce la classe NativeActivity, che è una classe di convenienza che notifica al codice nativo eventuali callback del ciclo di vita delle attività (onCreate (), onPause (), onResume (), ecc.). È possibile implementare i callback nel codice nativo per gestire questi eventi quando si verificano. Le applicazioni che utilizzano attività native devono essere eseguite su Android 2.3 (API Level 9) o successivo. Non è possibile accedere in modo nativo a funzioni come Servizi e Content Provider, quindi se si desidera utilizzarle o qualsiasi altra API del framework, è comunque possibile scrivere codice JNI per farlo.

Il problema è solo che se usi l'NDK più recente, non sarai in grado di distribuire e molte versioni Android non recenti.

Comunque, anche con le precedenti versioni NDK, puoi avere un codice Java minimo (per interagire con il sistema operativo) e il codice completo dell'applicazione in C ++ o qualsiasi altra cosa nativa.

Ci sono anche sforzi per aiutare gli sviluppatori nativi a lavorare pienamente in C o C ++ tramite plugin IDE come questo Vs-Android che è un plug-in per Visual Studio 201x che ti nasconde tutto il processo di compilazione e generazione: http://code.google.com / p / vs-android /

Inoltre, se prevedi di eseguire il porting della tua applicazione su un altro sistema operativo, è consigliabile utilizzare C ++ per il core dell'applicazione (magari con un linguaggio di scripting in alto). È solo più costoso in termini di tempo di sviluppo rispetto ad altre alternative - per motivi specifici di C ++ ed è disponibile l'implementazione di strumenti di sviluppo, ad esempio troppi tempi di compilazione possono compromettere la tua produttività effettiva.

Detto questo, non è il modo più semplice di lavorare su app mobili.


8

Ti consiglierei di optare per C ++ se hai un piano deciso per lo sviluppo del gioco. In caso contrario, è meglio scegliere Java. Ecco un buon primer per te sul sito ufficiale Android:

Sviluppo di giochi per Android: A Quick Primer

NOTA: leggere il passaggio 2 (Passaggio 2: scegliere una lingua) del tutorial.

Se non conosci affatto Java e ti piace sviluppare app su Android a lungo termine, è essenziale imparare Java. Ci sono ottimi tutorial forniti sul sito ufficiale. C'è un bel libro che puoi prendere per l'apprendimento specifico per lo sviluppo Android: Ecco qui: Impara Java per lo sviluppo Android


La persona che ha pubblicato la domanda conosce già il C ++, quindi qual è il punto del tuo consiglio?
abhi,

7

Dovrei optare per il kit di sviluppo C / C ++ o è meglio imparare java in quanto potrebbero non fornire tutte le funzionalità in futuro?

La risposta è entrambe.

  • Se stai scrivendo applicazioni in cui le prestazioni sono una delle principali preoccupazioni, devono quasi trovarsi in qualcosa di diverso da Java. (C / C ++ è il più popolare) I giochi sono l'elemento del biglietto più grande, ma ce ne sono altri.
  • Se stai eseguendo uno sviluppo Android, dovresti anche prenderti il ​​tempo per imparare java a un livello ragionevole.

Non capisco cosa intendi facendo Android Dev richiede Java, ma se vuoi fare sviluppo di giochi Android usa c / c ++. Perché non usare semplicemente c / c ++ fino in fondo.
Lance Pollard,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.