1. Nimm jetzt an unserem Uhans - 3. ADVENT - Gewinnspiel teil - Alle Informationen findest Du hier!

Wie heisst die Programmiersprache von Android? (erst lesen, dann antworten)

Dieses Thema im Forum "Android App Entwicklung" wurde erstellt von ForenDaddy, 07.11.2011.

  1. ForenDaddy, 07.11.2011 #1
    ForenDaddy

    ForenDaddy Threadstarter Junior Mitglied

    Beiträge:
    44
    Erhaltene Danke:
    0
    Registriert seit:
    22.06.2011
    instinktiv würde ich sagen, Java. Klar, was sonst.
    Aber stimmt das auch wirklich?

    Grund für die Frage ist, ich schreibe an einem Artikel und möchte mich natürlich nicht ins Fettnäppchen setzen, wenn ein paar Superstreber es wieder besser wissen.
    z.B. ist das eingesetzte Java von Android nicht voll kompatibel mit dem von Sun bekannten Java. Darf man es z.B. nur Java nennen, wenn es von Sun kommt?

    Also... ist es offiziell korrekt zu sagen, die Programmiersprache von Android ist Java?
    Oder wäre es besser zu sagen... die Programmiersprache von Android ist Android oder etwas anderes?
     
  2. swordi, 07.11.2011 #2
    swordi

    swordi Gewerbliches Mitglied

    Beiträge:
    3,389
    Erhaltene Danke:
    441
    Registriert seit:
    09.05.2009
    java
     
  3. mradlmaier, 07.11.2011 #3
    mradlmaier

    mradlmaier Gewerbliches Mitglied

    Beiträge:
    158
    Erhaltene Danke:
    17
    Registriert seit:
    28.10.2011
    java. Android unterstützt natürlich nur ein Subset von Java SE, und hat dafür einige zusätzliche Klassen und verwendet ein anderes Programmierparadigma. Z.b. Activities werden nicht vom Entwickler instanziert, und der Lebenszyklus einer Activity wird vom ActivityManager kontrolliert. Als Entwickler kannst Du nur die Event callbacks des Lebenszyklusses überschreiben, z.b. onCreate(), onPause(), on Resume() etc. Alles ausser Activities, Intents, Services, ContentProvider, BroadcastReceiver, AsyncTask ist Plain Old Java.
    IIm übrigen werden Android Apps nicht in einer JVM sondern in der sog. Dalvik Virtual Machine exekutiert. Die DVM exekutiert auch kein Java sondern Dalvik Byte Code.Der Compiler erzeugt aus dem Java Code Dalvik Byte Code, und das schon zur Entwicklungszeit. das ganze hatte Performance- und Lizenzrechtlich Gründe.
     
  4. Taifun, 08.11.2011 #4
    Taifun

    Taifun Android-Hilfe.de Mitglied

    Beiträge:
    85
    Erhaltene Danke:
    14
    Registriert seit:
    04.09.2011
    Phone:
    HTC Desire
  5. the_alien, 08.11.2011 #5
    the_alien

    the_alien Android-Lexikon

    Beiträge:
    1,559
    Erhaltene Danke:
    184
    Registriert seit:
    04.05.2009
    Der Bytecode ist ein anderer, ja. Aber dann wäre C++ auch nicht C++, je nachdem auf welchem System ich es kompiliere kommt ein anderer Maschinencode raus.

    Java ist die Programmiersprache und genau die haben wir hier. Sie definiert die Syntax in welcher wir Programme schreiben.
    Die Erweiterung davon ist das Framework und hier unterstützt Android ein Subset von JavaSE und fügt an anderer Stelle neues hinzu.

    Würde ja auch keiner behaupten Java ME wäre nicht Java weil es nicht alle Java SE Klassen enthält. Oder Java EE wäre kein Java weil die Lebenszyklen ganz anders sind.


    PS: Bezeichnend ist auch, dass der Java Compiler genutzt wird und der Dex Compiler hinterher nur den Bytecode ändert ;)
     
    Zuletzt bearbeitet: 08.11.2011
  6. ForenDaddy, 08.11.2011 #6
    ForenDaddy

    ForenDaddy Threadstarter Junior Mitglied

    Beiträge:
    44
    Erhaltene Danke:
    0
    Registriert seit:
    22.06.2011
    @mradlmaier
    high quality text. sehr gut geschrieben. nur "exekutiert" ist etwas zu sehr gedenglischt ;-)

    @Taifun
    Android ist nicht Java, das stimmt.
    Sondern die Frage ist, nutzt Android Java als Programmiersprache?
    Also kann man es als solches bezeichnen, obwohl es nicht allen Original Aspekten von Java treu ist.
    Ich bezog mich im speziellen auf die Programmiersprache, nicht den erzeugten Bytecode oder den Weg dahin.
    Dein erster Link sagt es auf Seite 4 ganz gut: "Developer codes in Java..."
    Also die Antwort ist, bezogen auf die Programmiersprache, denke ich Java.
     
  7. Fonsi, 08.11.2011 #7
    Fonsi

    Fonsi Erfahrener Benutzer

    Beiträge:
    178
    Erhaltene Danke:
    15
    Registriert seit:
    08.07.2011
    Korrekt.
     
  8. TheDarkRose, 08.11.2011 #8
    TheDarkRose

    TheDarkRose Gewerbliches Mitglied

    Beiträge:
    1,292
    Erhaltene Danke:
    136
    Registriert seit:
    20.08.2010
  9. mradlmaier, 08.11.2011 #9
    mradlmaier

    mradlmaier Gewerbliches Mitglied

    Beiträge:
    158
    Erhaltene Danke:
    17
    Registriert seit:
    28.10.2011
    Ich glaube "ausführen" ist das richtige Wort. Lese wohl zuviel englischsprachige Doku:)
     

Diese Seite empfehlen