? Una delle principali caratteristiche del sistema operativo mobile di Google Android è che chiunque da un ingegnere del software professionale per un programmatore alle prime armi possono creare applicazioni su di essa , e quasi chiunque utilizzi Android può eseguirli. Il modo in cui Android gestisce le sue applicazioni significa che la maggior parte di questi programmi sono scritti in Java , ma gli strumenti sono a disposizione per facilitare anche scrivere applicazioni in C /C + + e altri linguaggi di programmazione . Android Application Framework
Android è costruito su un kernel Linux , ma racchiude in sé il suo livello di applicazione ai fini della sicurezza . Android gira ogni applicazione in isolamento da altre applicazioni . Ciò limita anche l'accesso di un app per i componenti software e hardware che sono esplicitamente dichiarate come necessarie nel manifesto che accompagna le applicazioni Android nel loro pacchetto software . Sulla base di questo manifesto , e gli altri file di programma all'interno del pacchetto software dello sviluppatore , Android crea una macchina virtuale specificamente per eseguire che un app .
Java
Il più comune linguaggio per la scrittura di applicazioni Android è Java . Le macchine virtuali che Android crea per ogni applicazione in esecuzione sul proprio sistema è una variante della Java Virtual Machine ( JVM ) , che traduce il bytecode Java in codice macchina piattaforma specifica. Di conseguenza, il kit di sviluppo software ( SDK) che Google prevede di dare ai programmatori un facile accesso alle funzioni del software di Android , oltre che di interagire con l'hardware su cui Android è in esecuzione , è composto da librerie con classi e metodi Java .
C /C + +
Il linguaggio di programmazione Java è un linguaggio di livello superiore rispetto ai linguaggi di programmazione come C o C + + . Mentre i programmi in C o C + + in grado di inviare comandi direttamente a hardware di un dispositivo , la JVM interpreta codice sorgente Java , e produce il proprio codice per l'interazione con l'hardware . In alcuni casi un programmatore Android vuole creare direttamente il codice ottimizzato per una determinata parte di un programma , piuttosto che lasciare che la JVM gestire questo processo . Per quei casi Google ha un Native Development Kit ( NDK ), che consente ai programmatori di creare applicazioni o componenti app in C o C + + .
Interpreti
in cui scriviamo , Google produce solo i kit di sviluppo per la scrittura di applicazioni Android in C /C + + o Java . Tuttavia, utilizzando questi kit , gli sviluppatori hanno prodotto strumenti che permettono ai programmatori di creare applicazioni in linguaggi come Python o Perl . Questi strumenti agiscono come un ulteriore livello tra il codice sorgente in altre lingue , e la macchina virtuale all'interno del quale Android gira . Questo ulteriore livello interpreta il codice sorgente dell'altra lingua , e lo traduce in codice che può interagire con la macchina virtuale Android creato per essa . Così funziona come un'applicazione sviluppata con uno dei kit di sviluppo di Google sarebbe .