Переход от удобства работы с Java к комфорту с использованием J2ME должен быть довольно простым переходом. Самыми большими препятствиями могут быть такие вещи, как настройка симулятора телефона или сценария сборки, а также обучение загрузке и запуску сборок на телефоне. Но я уверен, что именно об этом вы расскажете на первой неделе в своем классе. Также есть некоторые различия в том, что входит в состав настольной Java, которая не входит в мобильные API-интерфейсы (как почти любая функция Java 1.5+, некоторые пакеты пользовательского интерфейса и т. Д.), И несколько специфичных для J2ME API-интерфейсов, которые у вас будут использовать для таких вещей, как рисование на экране или реагирование на нажатия клавиш, но все они очень похожи на java и хорошо документированы с помощью Javadoc, поэтому их не очень сложно освоить ... в принципе это может быть по сравнению с урезанной версией Java, в которой отсутствуют функции, которые не очень полезны для мобильных приложений.
J2ME был бы хорошим введением в мобильную разработку, на мой взгляд, даже если она немного «устарела» как платформа, если они не предлагают класс для платформы, которая вас больше всего интересует. Я расскажу вам о многих проблемах, о которых вам все равно придется беспокоиться, таких как небольшой форм-фактор / размер экрана, проблемы с памятью и производительностью, заставляет приложения работать на нескольких моделях телефонов с различными возможностями и т. д.
Переход от J2ME к нативной (не J2ME) разработке Blackberry для меня не был гигантским скачком после почти года разработки J2ME - в основном это означало изучение различных инструментов сборки и способов загрузки приложений Blackberry с телефона с помощью другой симулятор и несколько разных специфичных для Blackberry пакетов для пользовательского интерфейса - в зависимости от того, насколько хороши учебники, которые вы можете найти, это может быть просто или немного «как XYZ переводит на эту новую платформу».
В Android, вероятно, примерно такой же уровень перехода - вы, вероятно, обнаружите, что между J2ME, Blackberry и Android существует довольно много кода, который вы можете использовать повторно, поскольку все три платформы позволяют писать код на основе Java (в моя работа над версиями проектов для BlackBerry и Android на самом деле разделяет кучу кода, не относящегося к пользовательскому интерфейсу, путем создания зависимых проектов) ... Я думаю, что одно из самых больших различий между всеми тремя платформами с точки зрения кодирования заключается в том, что у них разные делая пользовательский интерфейс ... Я имею в виду, что все они по существу будут иметь методы рисования и еще много чего, но каждая платформа имеет свой собственный пользовательский интерфейс и другие собственные пакеты, которые вы должны использовать, которые имеют некоторые различия в том, что есть и что не легко доступно (например, : гораздо легче рисовать градиенты на blackberry, чем на J2ME), доступ к файловой системе немного отличается между платформами в зависимости от того, какой API вы должны использовать и т. д.
Что касается болезненных вещей в J2ME ... Я бы сказал, что проблемы, которые вы не можете отладить с помощью симулятора устройства (например, прерывание телефонного звонка в приложении, звук, который не воспроизводится правильно и т. Д.), Защищенный API-интерфейсы (если вы используете провайдера, такого как ATT, это требует от вас подписи на вашей сборке), и просто попытаться справиться с экранами с крошечными разрешениями и / или медленными процессорами - самое сложное ... ничего такого болезненного Я думаю, что вы ненавидите себя за то, что посещаете уроки по разработке мобильных приложений, и некоторые из этих вопросов, в любом случае, могут выходить за рамки вашего класса.
В целом, я бы сказал, что изучение любой мобильной платформы значительно приблизит вас к желаемой цели изучения определенной конкретной платформы, которая не предлагается в качестве курса, и что есть В курсе вы узнаете множество вещей, которые обобщат:)
PS ... Если в конечном итоге вы хотите изучать Android и должны начать с другого языка мобильных телефонов, я думаю, что изучение J2ME или Blackberry - наиболее подходящие платформы, поскольку все они основаны на Java и имеют немного совпадений в отношении того, какие инструменты вы используете (например, вы, скорее всего, будете использовать Eclipse в качестве IDE для всех трех) по сравнению с Windows Mobile, BREW (на основе C ++) или iPhone (цель C).
PPS ... извините за редактирование еще раз чтобы добавить это ... но я взглянул на внутренние документы нашей компании (нацеленные на новых разработчиков) по настройке среды сборки Android, чтобы увидеть, как это безумие (это совсем не сумасшествие), и оно на самом деле очень похоже на то, что я должен был сделать, чтобы настроить среду blackberry, за исключением установки различных плагинов и SDK. Я думаю, что вы найдете любую из этих двух платформ лишь в небольшом скачке от того, что вы, вероятно, изучите в классе разработки J2ME.
По сути, для написания кода Android в Eclipse необходимо добавить плагин для Android: в Eclipse в меню справки добавьте новое программное обеспечение и добавьте сайт загрузки с URL https://dl -ssl.google.com. / android / eclipse / ), и после того, как вы это настроите, установите JRE по умолчанию в Eclipse для одного из JRE для Android, а не из JDK (предостережение: вам, возможно, придется установить инструменты SDK как хорошо, чтобы получить правильную JRE, которую вы хотите (Google для "Android SDK Tools")). Плагин добавит некоторые специфичные для Android опции меню, которые вам понадобятся, такие как «Преобразовать в проект Android» ... вы, возможно, узнаете достаточно даже на полпути курса J2ME, чтобы попытаться настроить среду разработки Android на свой собственный:)