Quelle est la différence entre Java pour JRE et Java pour Android?

13

Je suis nouveau dans tout ce développement de jeu et je commence à apprendre le java car on m'a dit que c'était une excellente façon de commencer. Je veux plus tard créer des jeux pour le marché Android, et je veux avoir une bonne vue de vous, donc je sais exactement de quoi je parle.

Je réalise que le développement Android a différentes architectures et ainsi de suite (c'est une bonne façon de le dire?)

Merci!

Sans ailes
la source
4
Pour ce que ça vaut, les applications Android sont généralement écrites en Java. La différence entre les deux est que "Android" est un système d'exploitation et "Java" est un langage de programmation. Ils servent à des fins différentes (sans chevauchement).
dash-tom-bang
Clarification du titre de la question du PO.
Ingénieur

Réponses:

13

Pour créer des applications Android, vous utilisez Java et les bibliothèques d'extensions fournies par Android. Ce ne sont pas des extensions du genre Java Language; Je veux dire les bibliothèques livrées avec Android pour vous aider à réaliser les choses courantes que vous voudriez faire sur un téléphone portable.

Par exemple, Blackberry ( un autre système d'exploitation mobile basé sur Java) utilise Java comme langue de choix, et Research In Motion fournit un ensemble de bibliothèques dans le package RIM qui m'aide à résumer les choses que je faisais couramment sur mon téléphone.

Vous pouvez utiliser du Java pur mais la plupart du temps vous souhaitez utiliser les bibliothèques RIM fournies par RIM.

Si vous êtes complètement nouveau dans la programmation, je recommanderais d'abord d'apprendre de bons principes Java - classes, méthodes, programmation orientée objet, etc; puis apprentissage de l'API Android fournie par Google. Si vous apprenez d'abord Android, vous vous tromperez rapidement et ne suivrez pas les bonnes pratiques de programmation.

Je recommande de commencer par le livre Head First Java .


la source
4

Android utilise sa propre implémentation de type Java. Vous écrivez du code de syntaxe Java et pouvez utiliser de nombreuses API Java, mais il existe de nombreuses différences:

  • Les applications Android ont un cycle de vie spécial:
    • pas de fonction principale
    • vos applications contiennent des activités avec les fonctions onCreate, onResume, onPause, onDestroy que vous devez remplacer
  • Le code est compilé en opcodes Dalvik (pas le code d'octet java);
  • De nombreuses API sont similaires, mais vous n'avez pas toutes les API J2SE. Vous devez vérifier sur le site du développeur ;
  • De nombreuses API sont limitées à Android (Contacts, Gestion de l'alimentation, Graphiques ...);
  • Les IHM sont exclusivement Android (pas de Swing, pas de JavaFX ...). Vous devez utiliser XML pour vous déclarer GUI;
  • vous pouvez utiliser des jars java (s'ils n'utilisent que des API compatibles) mais ils sont convertis en dalvik.

Donc, c'est comme une nouvelle plateforme; mais, si vous connaissez Java, il est très facile de le développer sur Android. Téléchargez le SDK et essayez de jouer avec les échantillons fournis et de les personnaliser. Vous pouvez utiliser un bon IDE comme Eclipse et Idea (le plugin Android arrivera dans les éditions Idea 10 Community).

Pour les geeks C / C ++, vous pouvez utiliser NDK (Native Development Kit) mais vous avez besoin de code de bootstrap Java et de connaissances JNI.

Ellis
la source