Чем отличается Java для JRE от Java для Android?

13

Я новичок во всей этой разработке игр, и я начинаю изучать Java, потому что мне сказали, что это отличный способ начать. Позже я хочу создать игры для рынка Android и хочу, чтобы вы, ребята, получили хороший обзор, поэтому я точно знаю, с чем имею дело.

Я действительно понимаю, что разработка Android имеет разные архитектуры и все такое (это хороший способ сказать это?)

Благодарность!

бескрылый
источник
4
Что бы это ни стоило, приложения для Android обычно написаны на Java. Разница между ними заключается в том, что «Android» - это операционная система, а «Java» - это язык программирования. Они служат различным (непересекающимся) целям.
штрих-кот-бах
Уточнено название вопроса ОП.
инженер

Ответы:

13

Для создания приложений Android вы используете Java и библиотеки расширений, которые предоставляет Android. Это не расширения в стиле Java; Я имею в виду библиотеки, которые поставляются с Android, чтобы помочь вам достичь общих целей, которые вы хотели бы делать на мобильном телефоне.

Например, Blackberry ( другая мобильная ОС на основе Java) использует Java в качестве языка выбора, а Research In Motion предоставляет набор библиотек в пакете RIM, который помогает мне абстрагироваться от вещей, которые я обычно делаю на своем телефоне.

Вы можете использовать чистую Java, но большую часть времени вы хотите использовать библиотеки RIM, предоставляемые RIM.

Если вы новичок в программировании, я бы рекомендовал сначала изучить хорошие принципы Java - классы, методы, объектно-ориентированное программирование и т. Д .; затем изучаем Android API, предоставленный Google. Если вы сначала изучите Android, вы быстро запутаетесь и не будете следовать хорошим правилам программирования.

Я рекомендую начать с книги Head First Java .


источник
4

Android использует свою собственную реализацию в стиле Java. Вы пишете код синтаксиса Java и можете использовать многие API Java, но есть много различий:

  • Приложения Android имеют специальный жизненный цикл:
    • нет основной функции
    • ваши приложения содержат операции с функциями onCreate, onResume, onPause, onDestroy, которые необходимо переопределить
  • Код компилируется в коды операций Dalvik (не байт-код Java);
  • Многие API похожи, но у вас не все API J2SE. Вы должны проверить на сайте developper ;
  • Многие API-интерфейсы ограничены Android (Контакты, Управление питанием, Графика ...);
  • IHM только для Android (нет Swing, нет JavaFX ...). Вы должны использовать XML для объявления вашего GUI;
  • Вы можете использовать java jar (если они используют только совместимые API), но они конвертируются в dalvik.

Итак, это как новая платформа; но, если вы знаете Java, его очень легко разработать на Android. Загрузите SDK и попробуйте поиграть с предоставленными образцами и настроить их. Вы можете использовать хорошую IDE в качестве Eclipse и Idea (плагин Android появится в редакциях Idea 10 Community).

Для фанатов C / C ++ вы можете использовать NDK (Native Development Kit), но вам нужен код начальной загрузки Java и знания JNI.

Эллис
источник