пʼятницю, 14 березня 2008 р.

Пишемо просту програму для мобільного телефону

З недавніх пір я вирішив зайнятися вивченням мобільної платформи J2ME. Насправді, це не зовсім проста штука, проте з допомогою такого чудового інструменту як NetBeans ми можемо автоматизувати багато рутинних речей. Отже, спробуємо написати простеньку програму для мобільного телефону, яка б реалізовувала функціональність простого ліхтарика. Простіше не буває.

То ж, почнемо. Запустимо NetBeans і створимо новий проект MIDP Application. Назвемо його наприклад Lighter. Платформу краще обрати MIDP-2.0, бо 2.1 підтримують ще не всі телефони. Після натиснення на кнопку Finish, буде згенеровано прототип простої програми яка виводить текст Hello, World.

Перш за все, змінимо ім'я класу HelloMIDlet на LighterMIDLet. Для цього клацнемо правою кнопкою мишки по HelloMIDlet.java у менеджері проекту і у контекстному меню оберемо Refactor->Rename. Вводимо нове ім'я (LighterMIDLet) і тиснемо Refactor. Аналогічно змінимо і назву пакету з hello на lighter.



Готово, тепер перейдемо у режим Flow. Перед нами постане візуальний редактор, з допомогою якого NetBeans дозволяє створювати програми настільки просто і швидко, наскільки це взагалі можливо.



Давайте створимо з допомогою GIMP два зображення, розмірами наприклад 240x240 пікселів. Одне заповнимо чорним кольором, а інше білим. Збережемо їх з іменами black.png та white.png відповідно.

ОК, тепер клацнемо двічі по елементу form у режимі Flow і перейдемо таким чином у візуальний режим редагування форми. Як бачимо, зараз на ній міститься текстовий рядок Hello, World. Видалимо його, він нам не потрібен. Для цього просто оберемо у контекстному меню пункт Delete. Далі, знову ж у контекстному меню оберемо New/Add->Image Item. На форму додасться новий компонент, проте щоб вставити у нього зображення потрібно клацнути на кнопці з трьома крапками праворуч від властивості Image і у вікні, що з'явиться натиснути Add, і обрати зображення black.png.



Щоб прибрати зайвий текст, очистимо властивість Label. А у властивості Title для форми можемо прописати назву нашої програми - Lighter.

Отже, наша програма вміє замальовувати екран чорним кольором, а тепер нам потрібно навчити її замальовувати його білим кольором. Повернімося назад у режим Flow, оберемо у палітрі компонентів Form і клацнемо по вільному місцю. Ми щойно створили нову форму form1. Клацнемо по ній двічі і вже описаним способом додамо на неї компонент з зображенням, тільки цього разу вкажемо файл white.png.

Знову повертаємося у режим Flow. Тепер нам потрібно навчити програму перемикатися між двома нашими формами. Для цього клацаємо правою кнопкою мишки по form і обираємо New/Add->Screen Command. Тепер у нас з'явився новий обробник повідомлення screenCommand. Клацнемо по ньому і у властивостях змінимо параметр Label на On/Off. Цей напис буде видно над лівою софт-клавішою нашого телефону. Наступним кроком перейдемо до властивості Action, вкажімо Switch to Displayable і оберемо форму form2. Ми відразу ж побачимо стрілку, що з'єднує дві наші форми. Тепер, аналогічно, додамо до form1 спочатку пункт для виходу з програми (New/Add->Exit Command) і у полі Action для нього задамо Exit Midlet. Далі, створимо як і у першій формі обробник Screen Command, підпишемо його як On/Off і зв'яжемо з form. Результат буде виглядати наступним чином:



Все, тепер можемо тиснути F11 і компілювати наш проект. По завершенню процесу компіляції заходимо у каталог з проектом і у каталозі dist можемо побачити готові файли Lighter.jad та Lighter.jar. Завантажуємо їх на телефон і отримуємо простий кишеньковий ліхтарик, який після запуску вмикається/вимикається лівою софт клавішою, а правою софт-клавішою закривається. На моєму Nokia E-50 це виглядає приблизно так:



Думаю, для початку досить. Правда, як бачите, нам навіть не довелося писати жодного рядка програмного коду. Насправді візуальний редактор у NetBeans дозволяє таким чином створювати і набагато складніші програми, але це вже предмет для майбутніх статей.каталог спиннингов с ценамиГде в дешево купить iphone 3G 8Gb

4 коментарі:

  1. О! Супер публікація. Я ніколи з тим не мав справи, але завжди хотілося щось для свого телефону зробити.

    ВідповістиВидалити
  2. Дякую, мені дуже хочеться зайнятися активною розробкою деяких своїх програмних проектів, але поки, що паралельно з написанням дисертації це досить важко робити. Тому й статті по програмуванню я пишу досить стислі.

    PS: До речі, чим хороший NetBeans, так це те, що DVD з ним Sun розсилає безплатно. І написання програм для J2ME там дуже просте, є візуальні редактори майже для всього.

    ВідповістиВидалити
  3. "У Network Manager з'вився графічний конфігуратор для підключень PPPoE" -
    Де саме? Я щойно стягнув ьету і не бачу нічого. підкажеш?

    ВідповістиВидалити
  4. Ти схоже трохи помилився темою :) Але тим не менш:
    Система->Адміністрування->Параметри
    З'єднання типу точка-точка
    Властивості
    Увімкнути це з'єднання
    Тип з'єднання->PPPoE
    ось власне

    ВідповістиВидалити