Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
Форум программистов > Java ME (J2ME) > Помогите с установкой Таймаута в Http connection |
Автор: PODLIY16 10.8.2010, 14:35 |
У меня есть Http соеденение, работает нормально когда есть интернет. Как можно сделать так чтобы если в течении 30 секунд я не получал ответ, то выводить типа нет соединения с сервером? Походу это как-то через Timer надо реализовывать но что-то не пойму как :( И еще можно как-то форматировать текст? то есть могу я его сделать красным или например жирным/курсивом? |
Автор: sanboll 10.8.2010, 16:51 | ||
если ты работаешь в канве - то можно, а если в форме - то нельзя. в канве:
для комбинирования - например жирный и курсив и подчеркивание нужно указывать вторым параметром Font.STYLE_BOLD|Font.STYLE_ITALIC|Font.STYLE_UNDERLINED. цвет - это совсем легко, строка рисуется тем цветом, который стоит в Graphics. либо указываешь отдельно три компоненты RGB - g.setColor(int r,int g,int b), либо - одним шеснадцатиричным числом - g.setColor(int rgb). т.е. если ты собираешься установить красный цвет, пиши либо g.setColor(255,0,0) либо g.setColor(0xff0000). |
Автор: PODLIY16 10.8.2010, 17:01 |
в том то и дело что не в канве :( |
Автор: sanboll 10.8.2010, 17:24 | ||
в листе - можно, в форме - никак. с таймаутом - создаешь класс - Timer и интерфейс TimerListener - там 1 абстрактный метод- void onTimer().
вот а в том классе, где ждется ответ от сервера - наследуется интерфейс TimerListener и как надо ждать ответ от сервера - вызывается new Timer(30000, this). Если ответ от сервера получен - то у тамера вызывается метод cancel(). если ответ не получен в течении 30000 мс (30 сек) - то вызывается onTimer - можно выводить сообщение что сервер глючит. |
Автор: PODLIY16 10.8.2010, 18:01 |
ок спс, позже гляну подробней, и наверно перейду на canvas, т.к. вывод многострочного текста в форме тоже не зделаешь :( |
Автор: sanboll 11.8.2010, 08:27 |
Как не сделаешь??? form.append("одна строка\nвторая строка"); |
Автор: PODLIY16 11.8.2010, 09:14 |
я строку получаю от сервера. то есть надо: form.append (ReplyFromServer); Добавлено через 11 минут и 52 секунды sanboll создал класс Timer, но он у мя не находит TimerListener. Сори за нубский вопрос, но создание этого потока не прервет работу соединения, которое находиться в отдельном потоке? |
Автор: sanboll 11.8.2010, 17:14 |
1. В каком package находятся Timer и TimerListener? 2. Нет, ничего страшного не случится, таймер в отдельном треде |
Автор: sanboll 11.8.2010, 17:39 |
а ты интерфейс-то сделал? public interface TimerListener { abstract public void onTimer(); } |
Автор: ivanovpv 11.8.2010, 18:32 | ||
Да ладно в форме нельзя... Уж изменить стиль то ведь можно!
|
Автор: PODLIY16 11.8.2010, 19:03 |
cp.setFont(Font.getFont(Font.FACE_PROPORTIONAL, Font.STYLE_ITALIC, Font.SIZE_SMALL)); Cпс за это!!! public interface TimerListener { abstract public void onTimer(); } нет не сделал, а где это надо делать? сделал в классе таймер в конце, заработало, но когда наследую интерфейс пишет: cannot find symbol symbol: class TimerListener public class MyClass extends MIDlet implements TimerListener, CommandListener, ItemCommandListener что не правильного? и почему он пишет что не найден класс ТаймерЛистенер, ведь это интерфейс или так это и должно быть? бля какой я тупой... Добавлено через 3 минуты и 2 секунды "1. В каком package находятся Timer и TimerListener? " всмысле? у мя класс таймер просто в папке SRC моего проекта, а таймер листенер внутри таймера. |
Автор: PODLIY16 12.8.2010, 00:27 | ||
Вот реализация того что мне нужно было, где HttpConnection - метод в котором отрабатываеться соединение |
Автор: sanboll 12.8.2010, 08:27 |
TimerListener - отдельный интерфейс, в отдельном файле TimerListener.java |
Автор: PODLIY16 12.8.2010, 09:47 |
понятно ну спс большое |