Programmazione in "C" per Android
SDK Android
Google fornisce un set standard di strumenti che consentono ai programmatori di creare applicazioni per la piattaforma Android sotto forma del loro team di sviluppo software o SDK. Questo include un simulatore di sistema Android per progetti di test e strumenti di pacchettizzazione per creare un file che Android possa eseguire dal codice sorgente del progetto. L'SDK include anche librerie per consentire alle applicazioni scritte in Java di interagire con le funzionalità avanzate del sistema operativo Android.
NDK Android
Gli sviluppatori che desiderano creare applicazioni o componenti di applicazioni nel linguaggio di programmazione C possono scaricare il team di sviluppo nativo da Google o NDK. Questa è una raccolta di librerie simile a quelle contenute nell'SDK. Tuttavia, sono nel linguaggio di programmazione C anziché in Java. Gli sviluppatori possono utilizzare queste librerie per svilupparsi per Android in C nello stesso modo in cui le librerie SDK consentono lo sviluppo di Java.
Uso di NDK
NDK non è funzionale come team di sviluppo indipendente. Invece, è un'estensione dell'SDK. Gli sviluppatori devono installare l'SDK come piattaforma all'interno del quale scaricare, utilizzare e aggiornare altri componenti di sviluppo. Questi includono NDK. Gli sviluppatori usano ancora gli strumenti SDK per creare i pacchetti ".apk" che Android esegue come applicazioni, il simulatore SDK per testare le applicazioni e gli strumenti dell'SDK per trasferire i pacchetti .apk su un vero dispositivo Android.
C o Java
Il linguaggio Java funziona compilando il codice sorgente in una forma intermedia chiamata bytecode, le cui JVM sono tradotte nel codice della macchina che il dispositivo esegue effettivamente. In questo processo, la JVM ottimizzerà automaticamente il codice macchina che produce. Ciò risparmia il tempo del programmatore per cercare di ottimizzare il codice. Tuttavia, i programmatori che lavorano nel linguaggio C controllano direttamente l'aspetto del codice compilato della macchina. Ciò consente agli sviluppatori di applicazioni che desiderano esercitare questo livello dettagliato di controllo sul proprio codice per farlo. Inoltre, consente agli sviluppatori che hanno scritto un gran numero di codici per un progetto C di inviarli rapidamente ad Android.