Поздравление с помощью j2me
Java Micro Edition – одно из подмножества платформ java. Предназначается для таких гаджетов, у которых частота процессора, оперативная память и прочие характеристики далеки от характеристик настольного компьютера. Современного настольного компьютера. Это могут быть и телефоны, и dvd-проигрыватели и микроволновки.
J2ME (так часто называют эту платформу java) была на пике популярности в середине 2000-ных годов. Обычный телефон в это время имел процессор с частотой что-то около двухсот мегагерц, оперативку в пару мегабайт, экран на 5 сантиметров и что-то типа соединения с интернетом – EDGE или GPRS – страшно ненадежного.
К числу таких аппаратов можно отнести Fly B200 – двухсимочник, который несколько неожиданно появился у меня в распоряжении. Стало интересно заставить его делать что-то – вполне обычное желание. Заставить можно с помощью этой самой платформы java для мобильных устройств.
Что же можно сделать? Начнем с простого: напишем программу-поздравлялку: она будет проигрывать мелодию, а также выводить картинку и приветственную надпись. Немного, но надо же с чего-то начинать. Кстати, при начале изучения нового языка программирования или инструмента (среды разработки там) специалисты рекомендуют сначала запустить простейшее приложение, убедиться, что оно работает, а уже потом начать разбираться в нем, модернизировать и исправлять его.
Но я отвлекся, вернемся к нашей программе. Для компиляции и проверки работы её на компьютере потребуется немного программного обеспечения. Я пойду самым простым способом, не требующим множества настроек, установок, налаживания связей между программами и других трудностей. Способ несколько устаревший, но работает – а это главное!
Во-первых, нам потребуется Java SE Development Kit – последняя версия, качаем её с сайта oracle и сразу устанавливаем. Во-вторых, необходим Wireless Toolkit 2.5.2 – его тоже качаем с оракловского сайта. Ссылки не даю, так как они постоянно меняются, да и потребуется пройти регистрацию для скачек этого ПО. Во время установки Wireless Toolkit 2.5.2 может не найти самостоятельно установленную jdk – помогите ему.
Итак, у нас есть установленные программы. Теперь запускаем Toolkit, выбираем «New Project», заполняем в появляющемся окошке поля: первое – это название проекта, второе – имя основного класса программы. Не мудрствуя лукаво, напишем в обоих Congratulation и нажмем «Create Priject». Далее появится окно с настройками нашего приложения. Здесь надо изменить одну строку точно, остальные можно оставить по умолчанию: установить в «MicroEdition-Profile» значение «MIDP-1.0» - это чтобы точно все телефоны могли запустить наше приложение.
После сохранения настроек вы консоли вы увидите что-то типа такого текста:
Creating project "Congratulation" Place Java source files in "C:\Users\Друг\j2mewtk\2.5.2\apps\Congratulation\src" Place application resource files in "C:\Users\Друг\j2mewtk\2.5.2\apps\Congratulation\res" Place application library files in "C:\Users\Друг\j2mewtk\2.5.2\apps\Congratulation\lib" Settings updated Project settings savedЭто значит, что проект успешно создан. Wireless Toolkit не имеет своего текстового редактора, поэтому нам придется создать текстовый файл Congratulation.java в папке «C:\Users\Друг\j2mewtk\2.5.2\apps\Congratulation\src». Это у меня такой путь, а у вас может быть другой, поэтому посмотрите в консоли, где создан проект.
А вот и код, который будет в файле Congratulation.java:
import javax.microedition.midlet.*; import javax.microedition.lcdui.*; import java.io.*; import javax.microedition.media.*; public class Congratulation extends MIDlet { private Form form; private Image image; private Display display; public Player pla; public String str = "Поздравляю с днем рожденья! Желаю счастья и всего-всего!"; public ImageItem im; public void pauseApp() { } public void destroyApp(boolean unconditional) { notifyDestroyed(); } public void startApp() { display = Display.getDisplay(this); try { image = Image.createImage("/image.png"); im = new ImageItem("", image, ImageItem.LAYOUT_CENTER,""); } catch (IOException ioe) { System.out.println(ioe.getMessage()); } form = new Form("С праздником!"); form.append(im); StringItem StrFromTxt = new StringItem("",str); form.append(StrFromTxt); display.setCurrent(form); PlayMusic("/music.mid",5); } public void PlayMusic(String path,int count){ try { pla = Manager.createPlayer(getClass().getResourceAsStream(path), "audio/midi"); pla.realize(); pla.prefetch(); pla.setLoopCount(count); pla.start(); } catch (Exception ex){ System.out.println(ex.getMessage()); } } }Теперь необходимо вставить картинку и музыку. Их надо поместить в папки проекта «classes» и «res». В первой они нужны для тестирования, а из второй они автоматически при сборке в jar будут в программе. В качестве картинки я использовал обыкновенный смайлик, а музыка – мелодия из секретных материалов в формате midi.
Теперь остается только собрать проект – «Build» (в консоли не должно появиться никаких всплывающих окон, а закончиться сборка должна будет надписью «Build complete ») и запустить – «Run». После запуска мы должны увидеть на экране вот это:
Вот, в общем и все. Скачать исходник и скомпилированную и собранную программу можно здесь. А вот здесь - просто файл jar, запускаемый на телефоне. Если вашему телефону требуется еще и jad файл – он здесь.
Мы сделали небольшую программу для телефона на языке java. Если вам требуется какая-либо помощь по платформе J2ME или вам нужно создать программу для мобильника – смело пишите мне на почту up777up@yandex.ru. За умеренную плату я вам с удовольствием помогу.
Автор этого материала - я - Пахолков Юрий. Я оказываю услуги по написанию программ на языках Java, C++, C# (а также консультирую по ним) и созданию сайтов. Работаю с сайтами на CMS OpenCart, WordPress, ModX и самописными. Кроме этого, работаю напрямую с JavaScript, PHP, CSS, HTML - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.
Читайте также:
Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.
Комментарии
Юрий: Подскажите. Как в вашем приложении добавить иконку? То есть перед запуском программы рядом с именем приложения, всегда есть картинка.
Upread.ru:Чтобы изменить иконку, во-первых, необходимо её положить в jar-ник (файл программы), а затем добавить в файле манифеста в нем же (в папке META-INF находится файл MANIFEST.MF) строку
MIDlet-Icon: /icon.pngгде icon.png - это и есть файл изображения-иконки.