Помогите с прогой

Тут можно хорошенько так по.. флудить...
Post Reply
User avatar
Nikomo
Posts: 261
Joined: 02 Oct 2012, 21:02

Помогите с прогой

Post by Nikomo »

Решил я познать кунг-фу ООП. Чтобы было не так скучно парить теорию решил запилить бесполезную фигульку - машинку, управляемую по блютусу с телефона. Если с самой машинкой, вроде ничего солжно не должно быть, то с приложением на мобилу трохи беда. Пишу под свою нокиу на симбиан ОС, ибо ничего другого нету, пишу на джаве, юзаю Wireless Toolkit 2.5.1. Вроде как по-малу получается, но на обработке клавишных событий застопорился.
Код:
1.Этот класс отвечает за прослушиваниe клавишных событий.
Я так понимаю, экземпляр этого класса должен ожидать нажатия кнопки, после чего устанавливать значение переменной икс, в соответсвии с тем, что нажали.
 Программа 1
public class My extends Canvas
{
public int x;
public void paint(Graphics g)
{
}
public void keyPressed (int keyCode)
{
switch (keyCode)
{
case KEY_NUM2 :
x=2;
break;

case KEY_NUM6 :
x=6;
break;

case KEY_NUM8 :
x=8;
break;

case KEY_NUM4 :
x=4;
break;
}
}
}
2.Потом собственно код приложения.
Пока оно ничего не делает, просто выводит значение переменной Х, в строке WTK. И оно-то его выводит, но Х не хочет изменяться от нажатий кнопки на мобилочке-эмуляторе, предоставляемой этим же WKT для проверки работы программ.
 Программа 2
public class MyFirstMidlet extends MIDlet
{
public void pauseApp(){
}
public void destroyApp(boolean unconditional){
notifyDestroyed();
}
public void startApp ()
{
My obj= new My();
String name = getAppProperty ("MIDlet-Name");
// вывести сообщение в системную область
System.out.println ("MIDlet "+ name + "says: X="+ obj.x);
}
}
Шо не так?
P.S. Мог ошибиться в терминах, простите.
User avatar
BSVi
Адепт
Posts: 3577
Joined: 15 Mar 2011, 12:32
Location: Киев

Re: Помогите с прогой

Post by BSVi »

Все потому, что startApp () вызывается только раз. А выводить нужно по событию нажатия кнопки. Тоесть, дописать println в конец вашего keyPressed.
User avatar
Nikomo
Posts: 261
Joined: 02 Oct 2012, 21:02

Re: Помогите с прогой

Post by Nikomo »

С этим разобрался, спасибо. Теперь не могу понять логику происходящего при работе с боютусом. Я так понял блют. может выступать в роли клиента или сервера - это описывается программно. Если он клиент - то ищет серверы и коннектится к ним, а если сервер - ждёт пока приконнектятся к нему. Так вот что выходит - если я реализую свой телефон как сервер, то блют. модуль сам к нему законнектится что ли (если модуль как клиента обозначить)? Или надо модуль как сервер выставить, а мобилой как клиентом его искать?
Qic
Posts: 985
Joined: 03 Feb 2012, 00:14

Re: Помогите с прогой

Post by Qic »

Всякие бт модулю, всмысле в внешних устройствах - принимающая сторона, тобишь сервер. Как правило бт на мобиле в клиентском состоянии инициирует подключение. Можно и наоборот, но для этого после готовности телефона на внешнем бт модуле нужно через АТ комманды сказать к кому подключаться.
Вполне вероятно эту процедуру можно провести один раз и забить в память адрес устройства. Но смысла в этом нет, так почти никогда не делают.
User avatar
Nikomo
Posts: 261
Joined: 02 Oct 2012, 21:02

Re: Помогите с прогой

Post by Nikomo »

Отлично, благодарю, буду пробовать.
Post Reply