Zum Inhalt springen

Dalvik VM: Unterschied zwischen den Versionen

Keine Änderung der Größe ,  3. Dezember 2011
→‎Funktionsweise: Abschnitte "Berechtigungen" und "APIs" vertauscht
(→‎Funktionsweise: Abschnitte "Berechtigungen" und "APIs" vertauscht)
Zeile 6: Zeile 6:
=== Sandbox ===
=== Sandbox ===
Die Dalvik VM hat die Aufgabe [[App|Anwendungen]] für Android mit Dalvik-Bytecode, die meist in der Programmiersprache Java entwickelt werden, auszuführen. Dabei läuft die App in einer sogenannten Sandbox, einer isolierten Umgebung, die verhindert, dass das Programm direkte Hardware- oder Betriebssystemoperationen ausführen kann, z. B. Telefon ausschalten, Speicher oder andere Anwendungen löschen/manipulieren oder sogar das Dateisystem formatieren. Da ohne den Zugriff auf die Hardware (Display, Speicher, etc.) aber keine App funktionieren würde, stellt das Betriebssystem bzw. die VM  wichtige Funktionen über die Android-APIs zur Verfügung (siehe Abschnitt [[#APIs|APIs]]).
Die Dalvik VM hat die Aufgabe [[App|Anwendungen]] für Android mit Dalvik-Bytecode, die meist in der Programmiersprache Java entwickelt werden, auszuführen. Dabei läuft die App in einer sogenannten Sandbox, einer isolierten Umgebung, die verhindert, dass das Programm direkte Hardware- oder Betriebssystemoperationen ausführen kann, z. B. Telefon ausschalten, Speicher oder andere Anwendungen löschen/manipulieren oder sogar das Dateisystem formatieren. Da ohne den Zugriff auf die Hardware (Display, Speicher, etc.) aber keine App funktionieren würde, stellt das Betriebssystem bzw. die VM  wichtige Funktionen über die Android-APIs zur Verfügung (siehe Abschnitt [[#APIs|APIs]]).
=== APIs ===
Sogenannte APIs (Application Programming Interfaces) stellen dem Programmierer fest definierte ''Methoden'' (so nennt man in Java Funktionsaufrufe), die die App benötigt, zur Verfügung.
Da diese APIs meist mit jeder Android-Version erweitert und verändert werden (genau genommen mit jedem API-Level), kann es vorkommen, dass Apps, die Methoden einer neueren Android-Version benutzen, mit älteren Versionen nicht funktionieren. Zum Beispiel können Bluetooth-Funktionen erst ab Android 2.0 (API Level 5) verwendet werden;<ref>http://developer.android.com/reference/android/bluetooth/package-summary.html, Bluetooth API-Dokumentation</ref> NFC (Near Field Communication) gibt es erst seit Android 2.3.3 (API Level 10).<ref>http://developer.android.com/sdk/api_diff/10/changes.html, API Changes bei Level 10</ref>


=== Berechtigungen ===
=== Berechtigungen ===
Zeile 14: Zeile 19:
* Zugriff auf ein externes Dateisystem (meist microSD-Speicherkarte)
* Zugriff auf ein externes Dateisystem (meist microSD-Speicherkarte)
* ...
* ...
=== APIs ===
Sogenannte APIs (Application Programming Interfaces) stellen dem Programmierer fest definierte ''Methoden'' (so nennt man in Java Funktionsaufrufe), die die App benötigt, zur Verfügung.
Da diese APIs meist mit jeder Android-Version erweitert und verändert werden (genau genommen mit jedem API-Level), kann es vorkommen, dass Apps, die Methoden einer neueren Android-Version benutzen, mit älteren Versionen nicht funktionieren. Zum Beispiel können Bluetooth-Funktionen erst ab Android 2.0 (API Level 5) verwendet werden;<ref>http://developer.android.com/reference/android/bluetooth/package-summary.html, Bluetooth API-Dokumentation</ref> NFC (Near Field Communication) gibt es erst seit Android 2.3.3 (API Level 10).<ref>http://developer.android.com/sdk/api_diff/10/changes.html, API Changes bei Level 10</ref>


== Einzelnachweis ==
== Einzelnachweis ==
690

Bearbeitungen

Cookies helfen uns bei der Bereitstellung von Android Wiki. Durch die Nutzung von Android Wiki erklärst du dich damit einverstanden, dass wir Cookies speichern.