Wie unterschiedlich ist Java für JRE vs Java für Android?

13

Ich bin neu in der Entwicklung dieses Spiels und beginne, Java zu lernen, weil mir gesagt wurde, es sei ein großartiger Weg, um anzufangen. Ich möchte später Spiele für den Android-Markt erstellen und möchte einen guten Überblick von euch bekommen, damit ich genau weiß, womit ich es zu tun habe.

Mir ist klar, dass die Android-Entwicklung unterschiedliche Architekturen hat und so weiter (das ist eine gute Art, es auszudrücken?)

Vielen Dank!

Flügellos
quelle
4
Android-Anwendungen sind in der Regel in Java geschrieben. Der Unterschied zwischen den beiden ist, dass "Android" ein Betriebssystem und "Java" eine Programmiersprache ist. Sie dienen unterschiedlichen (nicht überlappenden) Zwecken.
Dash-Tom-Bang
Titel der OP-Frage geklärt.
Ingenieur

Antworten:

13

Zum Erstellen von Android-Anwendungen verwenden Sie Java und die von Android bereitgestellten Erweiterungsbibliotheken. Dies sind keine Erweiterungen in der Java-Sprache. Ich meine Bibliotheken, die mit Android ausgeliefert werden, um Ihnen dabei zu helfen, die üblichen Dinge zu erreichen, die Sie auf einem Mobiltelefon tun möchten.

Beispielsweise verwendet Blackberry (ein anderes Java-basiertes mobiles Betriebssystem ) Java als Sprache der Wahl, und Research In Motion stellt im RIM-Paket eine Reihe von Bibliotheken zur Verfügung, mit deren Hilfe ich häufig auf meinem Telefon ausgeführte Aufgaben abstrahieren kann.

Sie können reines Java verwenden, möchten jedoch meistens die von RIM bereitgestellten RIM-Bibliotheken verwenden.

Wenn Sie sich mit Programmierung noch nicht auskennen, empfehle ich, zuerst gute Java-Prinzipien zu erlernen - Klassen, Methoden, objektorientierte Programmierung usw .; Lernen Sie anschließend die von Google bereitgestellte Android-API kennen. Wenn Sie zuerst Android lernen, werden Sie schnell verwirrt und befolgen keine guten Programmierpraktiken.

Ich empfehle, mit dem Buch Head First Java zu beginnen .


quelle
4

Android verwendet eine eigene Java-ähnliche Implementierung. Sie schreiben Java-Syntaxcode und können viele Java-APIs verwenden, aber es gibt viele Unterschiede:

  • Android-Anwendungen haben einen speziellen Lebenszyklus:
    • keine Hauptfunktion
    • Ihre Anwendung enthält Aktivitäten mit den Funktionen onCreate, onResume, onPause, onDestroy, die Sie überschreiben müssen
  • Der Code wird in Dalvik-Opcodes kompiliert (kein Java-Byte-Code).
  • Viele APIs sind ähnlich, aber Sie haben nicht alle J2SE-APIs. Sie müssen auf der Entwicklerseite nachsehen .
  • Viele APIs sind auf Android beschränkt (Kontakte, Energieverwaltung, Grafiken ...).
  • IHM sind nur für Android (kein Swing, kein JavaFX ...). Sie müssen XML verwenden, um Ihre GUI zu deklarieren.
  • Sie können Java-Jars verwenden (wenn sie nur kompatible APIs verwenden), diese werden jedoch in Dalvik konvertiert.

Es ist also wie eine neue Plattform; Aber wenn Sie Java kennen, ist es sehr einfach, es auf Android zu entwickeln. Laden Sie das SDK herunter und versuchen Sie, mit den bereitgestellten Beispielen zu spielen und sie anzupassen. Sie können eine gute IDE als Eclipse und Idea verwenden (das Android-Plugin wird in den Idea 10-Community-Editionen enthalten sein).

Für C / C ++ - Geeks können Sie NDK (Native Development Kit) verwenden, benötigen jedoch Java-Bootstrap-Code und JNI-Kenntnisse.

Ellis
quelle