Поздравление с помощью 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 - то есть могу доработать ваш сайт или помочь с веб-программированием. Пишите сюда.

тегистатьи IT, java, j2me




Отправляя сообщение я подтверждаю, что ознакомлен и согласен с политикой конфиденциальности данного сайта.

Комментарии

Юрий: Подскажите. Как в вашем приложении добавить иконку? То есть перед запуском программы рядом с именем приложения, всегда есть картинка.
Upread.ru:Чтобы изменить иконку, во-первых, необходимо её положить в jar-ник (файл программы), а затем добавить в файле манифеста в нем же (в папке META-INF находится файл MANIFEST.MF) строку

MIDlet-Icon: /icon.png
где icon.png - это и есть файл изображения-иконки.



Урок 46. Константы и перечисления C#
Начало работы над сервером для Lineage 2
Начало работы с RuVDS: установка и настройка сервера, быстрый запуск (перенос) сайта