2011-02-01 13 views

risposta

8

Android non è Java ME o Java SE. Android è una piattaforma e un framework diversi, ma Java è il linguaggio di programmazione per lo Android SDK. Android non utilizza Java Virtual Machine ma Dalvik. C'è anche un Android NDK per C/C++.

+0

thon jonas si dice java è il linguaggio di programmazione per Android SDK.my la domanda è che quale edizione di java è utilizzata in android J2ME o java SE. –

+0

@Adil: Non è Java ME o Java SE utilizzato, è Android. È un compilatore diverso e una macchina virtuale diversa. Quindi puoi vedere Android come una diversa edizione Java. Android utilizza solo un sottoinsieme delle librerie Java SE, ma usa anche altre librerie personalizzate. – Jonas

+0

thnx jonas ora capisco –

5

Android utilizza Dalvik

Dalvik è la macchina virtuale (VM) nel sistema operativo Android di Google . Dalvik è quindi parte integrante di Android , che viene in genere utilizzato su dispositivi mobili come telefoni cellulari, computer tablet e netbook . Prima esecuzione, applicazioni Android sono convertiti in formato compatto Dalvik eseguibile (.dex), che è progettato per essere adatto per sistemi che sono limitate in termini di memoria e la velocità del processore.

http://en.wikipedia.org/wiki/Dalvik_virtual_machine

+0

Ok grazie SQLMenace –

+2

"Android Runtime (ART) è stato incluso in Android 4.4" KitKat "come anteprima tecnologica.Arte sostituisce completamente Dalvik in Android 5.0" Lollipop " – michael

14

Ognuno è proprio qui, ma mi ha lasciato un po 'di chiarire l'intera procedura - come funziona:

  1. Usiamo ordinaria compilatore Java J2SE dalla distribuzione di serie e generare i file .class - noto anche come codice byte per Java VM
  2. Quindi utilizzando lo strumento incluso in Android SDK (aapt) - generiamo da file .class .dex file - in altre parole bytecodes Dalvik VM
  3. Alla fine abbiamo comprimere tutti i file (.dex + risorse) in archivio zip che abbiamo usato per nome come file .apk - genere di Android eseguibile

Quindi, da questo punto di vista - è chiaro che Android non J2ME (che esegue cosiddetti bytecode VM Kylobyte) o J2SE (che esegue bytecode VM Java) ...

Ma da altro punto di vista Android è decisamente più vicino a J2SE - poiché si basa sulla parte superiore dei bytecode JVM.

0

Progetto GNU "J2SE for Android".

  1. fornisce classi Swing e AWT, quindi è possibile eseguire l'applicazione J2SE su Android con questa libreria.
  2. implementa la maggior parte delle funzioni, NON tutte.
Problemi correlati