motofan logo
8 страниц V « < 5 6 7 8 >        
> 

Библиотека Разработчика Java-приложений, Все для начинающего Java разработчика

Valleo
сообщение 27.6.2006, 7:15 Закрепленное сообщение!


Гуру
******

Группа: Почётные мотофаны
Сообщений: 728
Регистрация: 21.10.2005
Из: Находка
Пользователь №: 55 219

Рейтинг: 692.5



Для программирования на Java для моторол нужно:

J2SE 1.4.2 SDK, Java Wireless Toolkit и Motorola SDK
http://java.sun.com/j2me/
Прямая ссылка на страницу загрузки J2ME SDK 1.4.2 - версию 1.5 я так и не нашел, а эту версию нашел с трудом...
Прямая ссылка на страницу загрузки WTK последней версии - требуется регистрация!

http://www.motocoder.com/ - ммм... не стал искать прямую ссылку, так как того, что уже есть в WTK, для начала хватит.

J2SE 1.4.2 SDK - набор классов и программ для компиляции Java приложений
Java Wireless Toolkit - набор классов и программ для компиляции J2ME приложений (приложений для мобильных телефонов)
Motorola SDK - набор классов для компиляции J2ME приложений для телефонов Motorola.

Для работы с исходниками и компиляторами обычно используются IDE (среда разработки приложения).
Для новичков советую использовать навороченные IDE, такие как JBuilder и тому подобные.
Я использую бесплатную версию IDE JCreator. Скачать можно вот здесь:
http://www.jcreator.com/

Мануалы по работе с J2ME можно найти в любом поисковике, или просто почитав эту тему.
_____________________________________________________________
Если вы знаете Pascal но не знаете Java и нет возможности ее учить воспользуйтесь программой MidletPascal
увы ее официальный сайт прикрыли :( но по ней есть хороший форум
Сама Прога
_____________________________________________________________

Сообщение отредактировал Valleo - 11.3.2007, 3:03
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
J()KER
сообщение 6.12.2008, 18:15


man_of_motley
*******

Группа: Пользователи
Сообщений: 1 707
Регистрация: 1.6.2008
Пользователь №: 173 781
Модель телефона: Atrix 4G; ROKR E8; Moto X
Прошивка: my mod


Настроение:
DON'T PANIC!



Рейтинг: 1059



Помогите начинающему програмисту. Ткните носом в ошибку
WTK выдает
Код
Project settings saved

Building "ImageMIDlet"

C:\WTK21\apps\ImageMIDlet\src\ImageMIDlet.java:5: cannot resolve symbol

symbol  : class MIDlet

location: class ImageMIDlet

public class ImageMIDlet extends MIDlet

                                 ^

C:\WTK21\apps\ImageMIDlet\src\ImageMIDlet.java:17: cannot resolve symbol

symbol  : class IOException

location: class ImageMIDlet

        catch (IOException ioex)

                       ^

2 errors

com.sun.kvem.ktools.ExecutionException

Build failed


А это код
Код
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.Display;

public class ImageMIDlet extends MIDlet
{
    private Form form;
    private Image image;
    private Display display;
     public void startApp()
     {
        display = Display.getDisplay(this);
        try
        {
            image = Image.createImage("/dog.png");
        }
        catch (IOException ioex)
        {
            System.out.println(ioex.getMessage());
        }
        form = new Form("slideShow");
        form.append(image);
        display.setCurrent(form);
    }
    public void pauceApp()
    {}
    public void destroyApp(boolean unconditional)
    {}
}
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
grafmoto
сообщение 7.12.2008, 10:41


ЯваМотоКодер
********

Группа: Почётные мотофаны
Сообщений: 2 003
Регистрация: 15.10.2004
Из: Северодвинск
Пользователь №: 16 752
Модель телефона: iPhone 3Gs
Прошивка: iOS 6.1.3

Рейтинг: 703



J()KER,
import javax.microedition.midlet.MIDlet;
import java.io.IOException;
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Mefestofel
сообщение 14.12.2008, 10:47


Новичок
*

Группа: Пользователи
Сообщений: 26
Регистрация: 14.12.2008
Пользователь №: 188 601
Модель телефона: L7e
Прошивка: NewStyle 2.1

Рейтинг: 0



Помогите начинающему. =) Нужно создать прогу на L7e, читающую mp3, склеивающую несколько mp3 и воспроизводящую всЁ это многообразие. Нужны источники про состав mp3, операции над mp3 и собственно воспроизведение на моей мобилке. Буду очень признателен.
Если есть подобные исходники и кому-то не жаль, то выложите - будет вообще замечательно)

Сообщение отредактировал Mefestofel - 14.12.2008, 10:49
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
grafmoto
сообщение 14.12.2008, 11:19


ЯваМотоКодер
********

Группа: Почётные мотофаны
Сообщений: 2 003
Регистрация: 15.10.2004
Из: Северодвинск
Пользователь №: 16 752
Модель телефона: iPhone 3Gs
Прошивка: iOS 6.1.3

Рейтинг: 703



Mefestofel, а зачем?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Mefestofel
сообщение 17.12.2008, 8:56


Новичок
*

Группа: Пользователи
Сообщений: 26
Регистрация: 14.12.2008
Пользователь №: 188 601
Модель телефона: L7e
Прошивка: NewStyle 2.1

Рейтинг: 0



grafmoto, чЁ зачем? Не понял, к чему вопрос относится. Поясни, пожалуйста.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
MotoSurgeon
сообщение 18.1.2009, 10:43


Опытный
***

Группа: Пользователи
Сообщений: 118
Регистрация: 19.6.2007
Из: Гродно(Беларусь)
Пользователь №: 138 754
Модель телефона: Motorola E1000
Прошивка: R26LD_U_83.39.27I

Рейтинг: 4.5



Прочитал всю тему, но ни нашёл ссылок на нормальную среду разработки. Сам в этом деле ещё пока новичёк, хотя компилировать коечто уже получалось. biggrin.gif
Может кто-нибуть подскажет естьли какая нибудь среда разработки на РУССком языке? а то и так с Явой тяжело так ещё и всё на английском sad.gif , и желательно что бы всякие ошибки подчёркивала, посказки давала и сразу в ***.JAR запаковывала - ну короче для новичков.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
MotoSurgeon
сообщение 27.1.2009, 13:32


Опытный
***

Группа: Пользователи
Сообщений: 118
Регистрация: 19.6.2007
Из: Гродно(Беларусь)
Пользователь №: 138 754
Модель телефона: Motorola E1000
Прошивка: R26LD_U_83.39.27I

Рейтинг: 4.5



Похоже что помощи от вас не дождёшься.
Уже сам всё нашёл:
Netbeans 5.0 Windows RU + netbeans mobility 5.0 Windows

Сообщение отредактировал MotoSurgeon - 27.1.2009, 13:33
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
moto-PhOeNix 4ever
сообщение 1.2.2009, 19:19


Новичок
*

Группа: Пользователи
Сообщений: 6
Регистрация: 1.2.2009
Пользователь №: 192 540
Модель телефона: L7
Прошивка: R4513_G_08.B7.DCR_RB

Рейтинг: 0



Этот ваш sun.com Ни хрена ни грузится! -Слишком загруженый!
Подскажите другой сайт на поиск траффик жалко!



Сообщение отредактировал grafmoto - 3.2.2009, 7:35
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
GreH_Besa
сообщение 2.2.2009, 11:31


Ветеран
*****

Группа: Пользователи
Сообщений: 531
Регистрация: 11.3.2007
Из: Екатеринбург
Пользователь №: 126 379
Модель телефона: htc wildfire
Прошивка: android 2.2

Рейтинг: 237.5



1. он не наш
2. шрифт можно и по меньше выбирать
3. с gprs'ным инетом эти ссылки у меня открываются максимум за 35-40 сек.
4. google.ru тебе в помощь. на 100 кб трафа сильно не с экономишь.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
5ергей
сообщение 10.2.2009, 9:40


Интересующийся
**

Группа: Пользователи
Сообщений: 59
Регистрация: 17.5.2008
Из: Беларусь, Бобруйск
Пользователь №: 172 492
Модель телефона: E398
Прошивка: in process

Рейтинг: 6.5



Такой вопрос : много будет геморра написать приложение связанное с интернетом?
то есть что мне надо
написать такую прогу что бы меню-титульнаястраница были как тут
далее после ввода данных оно перерабатывала страницу и выводило только нужные мне данные
например как тут, если открыть блокнотом, то там указал что мне надо, а так это полный вариант только без рисунков
я понимаю, что можно это реализовать не хтмл кодами а просче, и что никто за меня не сделает, потому что всем лень, но в этом деле я нуб. Да и учить весь язык ради 1 приложения - имхо бессмыслица
Для чего оно мне нужно? Я житель РБ, и там ЦТ - как у вас ег. Это для выяснения пробных результатов. Просто дайте наброски или укажите путь.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Mefestofel
сообщение 10.2.2009, 12:26


Новичок
*

Группа: Пользователи
Сообщений: 26
Регистрация: 14.12.2008
Пользователь №: 188 601
Модель телефона: L7e
Прошивка: NewStyle 2.1

Рейтинг: 0



Люди, а какие всЁ-таки форматы поддерживает player? И какие для этого нужны пакеты кроме jsr135 ? А то почитал доки, увидел множество вариантов... В частности, никак не получается воспроизвести форматы "au" и "mp3". В то время, как "wav" и "midi" без проблем воспроизводит. В чЁм фишка?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
grafmoto
сообщение 10.2.2009, 13:48


ЯваМотоКодер
********

Группа: Почётные мотофаны
Сообщений: 2 003
Регистрация: 15.10.2004
Из: Северодвинск
Пользователь №: 16 752
Модель телефона: iPhone 3Gs
Прошивка: iOS 6.1.3

Рейтинг: 703



Цитата(Mefestofel @ Сегодня, 15:26)

В чЁм фишка?
*


RTFM!!!
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Mefestofel
сообщение 11.2.2009, 7:08


Новичок
*

Группа: Пользователи
Сообщений: 26
Регистрация: 14.12.2008
Пользователь №: 188 601
Модель телефона: L7e
Прошивка: NewStyle 2.1

Рейтинг: 0



А поинформативней можно?
В одной и той же проге создаЁтся player с midi и wav-звуком, но не создаЁтся с au, amr и mp3-файлом...
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
grafmoto
сообщение 11.2.2009, 9:42


ЯваМотоКодер
********

Группа: Почётные мотофаны
Сообщений: 2 003
Регистрация: 15.10.2004
Из: Северодвинск
Пользователь №: 16 752
Модель телефона: iPhone 3Gs
Прошивка: iOS 6.1.3

Рейтинг: 703



Цитата(Mefestofel @ Сегодня, 10:08)

А поинформативней можно?
*


вот именно!!! поинформативней проблему можно? хоть бы свой пример выложил. а то может плеер через канву создаешь smile.gif
а это вообще не понятно:
Цитата(Mefestofel @ Вчера, 15:26)

И какие для этого нужны пакеты кроме jsr135 ?
*


при чем тут пакеты?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Mefestofel
сообщение 11.2.2009, 10:57


Новичок
*

Группа: Пользователи
Сообщений: 26
Регистрация: 14.12.2008
Пользователь №: 188 601
Модель телефона: L7e
Прошивка: NewStyle 2.1

Рейтинг: 0



Цитата(grafmoto @ 11.2.2009, 11:42) *

вот именно!!! поинформативней проблему можно? хоть бы свой пример выложил. а то может плеер через канву создаешь smile.gif

Г... Именно через канву и создаю. Отдельным тредом. unsure.gif Вывел список поддерживаемых типов: audio/amr
audio/midi
audio/sp-midi
audio/x-tone-seq
audio/x-wav.
Эти форматы проигрываются. Остальные нет.А мне нужна поддержка mp3 и au-файлов. Как это сделать? Среда программирования: WTK 2.5.2.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
grafmoto
сообщение 11.2.2009, 12:06


ЯваМотоКодер
********

Группа: Почётные мотофаны
Сообщений: 2 003
Регистрация: 15.10.2004
Из: Северодвинск
Пользователь №: 16 752
Модель телефона: iPhone 3Gs
Прошивка: iOS 6.1.3

Рейтинг: 703



что значит
Цитата(Mefestofel @ Сегодня, 13:57)
Вывел список поддерживаемых типов
*

? что ж тогда mp3 не вывел? что такое mp3? MPEG-1 layer 3 так? "audio/mpeg" не пробовал?
в WTK 2.5. вообще то есть хелпник и в нем по-русски написано:
Цитата
Content types identify the type of media data. They are defined to be the registered MIME types ( http://www.iana.org/assignments/media-types/)...
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Mefestofel
сообщение 11.2.2009, 16:43


Новичок
*

Группа: Пользователи
Сообщений: 26
Регистрация: 14.12.2008
Пользователь №: 188 601
Модель телефона: L7e
Прошивка: NewStyle 2.1

Рейтинг: 0



Цитата(grafmoto @ 11.2.2009, 14:06) *

что значит
? что ж тогда mp3 не вывел? что такое mp3? MPEG-1 layer 3 так? "audio/mpeg" не пробовал?
в WTK 2.5. вообще то есть хелпник и в нем по-русски написано:

Вывел так:
fulltype = Manager.getSupportedContentTypes("file");
System.out.println(fulltype[0]+fulltype[1]+fulltype[2]+fulltype[3]+fulltype[4]+fulltype[5]+fulltype[6]);

Мануал читал и несколько раз. В том-то и прикол: в мануале и гайде разные поддержки форматов написаны. И пробовал "audio/mpeg" и "audio/basic" - он просто тогда не создаЁтся, хотя меняю по сути только формат (ctype).

void createPlayer() {
try {
if (url.startsWith("resource")) {
int idx = url.indexOf(':');
String loc = url.substring(idx + 1);
InputStream is = getClass().getResourceAsStream(loc);
String ctype = guessContentType(url);
fulltype = Manager.getSupportedContentTypes("file");
player = Manager.createPlayer(is, ctype);
System.out.println(fulltype[0]+fulltype[1]+fulltype[2]+fulltype[3]+fulltype[4]+fulltype[5]+fulltype[6]);
}
player.setLoopCount(-1);
} catch (Exception ex) {
if (player != null) {
player.close();
player = null;
}
Alert alert = new Alert("Warning", "Cannot create player", null, null);
alert.setTimeout(1000);
parentDisplay.setCurrent(alert);
}
}
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
grafmoto
сообщение 11.2.2009, 17:53


ЯваМотоКодер
********

Группа: Почётные мотофаны
Сообщений: 2 003
Регистрация: 15.10.2004
Из: Северодвинск
Пользователь №: 16 752
Модель телефона: iPhone 3Gs
Прошивка: iOS 6.1.3

Рейтинг: 703



Mefestofel,
по-проще написать не пробовал?

public void createPlayer()
{
try
{
Player player = Manager.createPlayer(getClass().getResourceAsStream("/oops.mp3"), "audio/mpeg");
player.realize();
player.start();
}
catch (IOException e)
{
System.out.println("IOException: " + e.getMessage());
}
catch (MediaException e)
{
System.out.println("MediaException: " + e.getMessage());
}
}
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Mefestofel
сообщение 11.2.2009, 21:06


Новичок
*

Группа: Пользователи
Сообщений: 26
Регистрация: 14.12.2008
Пользователь №: 188 601
Модель телефона: L7e
Прошивка: NewStyle 2.1

Рейтинг: 0



Хм... И чем отличается... Ну даже если ты настаиваешь, то всЁ равно описанное тобою не палит у меня. Мот чЁго надо сделать в настройках проекта? Или в самом эмуляторе?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Mefestofel
сообщение 18.2.2009, 7:02


Новичок
*

Группа: Пользователи
Сообщений: 26
Регистрация: 14.12.2008
Пользователь №: 188 601
Модель телефона: L7e
Прошивка: NewStyle 2.1

Рейтинг: 0



ВсЁ проще, код в порядке. Стандартный эмулятор в WTK 2.5.2 не поддерживает формат "mp3" и "au".

Кто-нить знает, как из 4 байтов (byte) массива сделать 1 интежер (int)? Не могу найти такой функции...
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
grafmoto
сообщение 18.2.2009, 7:22


ЯваМотоКодер
********

Группа: Почётные мотофаны
Сообщений: 2 003
Регистрация: 15.10.2004
Из: Северодвинск
Пользователь №: 16 752
Модель телефона: iPhone 3Gs
Прошивка: iOS 6.1.3

Рейтинг: 703



Цитата(Mefestofel @ Сегодня, 10:02)

Стандартный эмулятор в WTK 2.5.2 не поддерживает формат "mp3"
*


ну канешна, если у мну поддерживает:
Цитата(Mefestofel @ Сегодня, 10:02)

как из 4 байтов (byte) массива сделать 1 интежер (int)? Не могу найти такой функции...
*


и не найдешь в яве функции, гг
чем это не устраивает:
int i = (b[0] & 0xff) << 24 | (b[1] & 0xff) << 16 | (b[2] & 0xff) << 8 | (b[3] & 0xff);
?
Прикрепленное изображение
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Mefestofel
сообщение 18.2.2009, 9:15


Новичок
*

Группа: Пользователи
Сообщений: 26
Регистрация: 14.12.2008
Пользователь №: 188 601
Модель телефона: L7e
Прошивка: NewStyle 2.1

Рейтинг: 0



Цитата(grafmoto @ 18.2.2009, 9:22) *

и не найдешь в яве функции, гг
чем это не устраивает:
int i = (b[0] & 0xff) << 24 | (b[1] & 0xff) << 16 | (b[2] & 0xff) << 8 | (b[3] & 0xff);
?

Жаль, чЁ нет функции... Спасибо!
А втк у мя вот такой и он не поддерживает mp3. Где взял свой? wink.gif Надо слить себе такой же.... ЧЁ-то я прошляпился, когда смотрел. laugh.gif
Прикрепленное изображение

Спасибо, помогло.
При попытке скопирования из одного массива на 20000 байтов в другой массив на 30000 байтов возникает вот это:
for (int i=43+chuncksize1+chuncksize2+1; i<=43+chuncksize1+chuncksize2+n; i++) {
adata[i] = buffer[i-43-chuncksize1-chuncksize2-1];
}

java.lang.NullPointerException:
at example.audiodemo.PlayerCanvas.paint(+176)
at javax.microedition.lcdui.Canvas.callPaint(+85)
at javax.microedition.lcdui.Display.repaint(+82)
at javax.microedition.lcdui.Display.registerNewCurrent(+235)
at javax.microedition.lcdui.Display.screenChange(+66)
at javax.microedition.lcdui.Display$DisplayManagerImpl.screenChange(+5)
at com.sun.midp.lcdui.EmulEventHandler.screenChangeEvent(+24)
at com.sun.midp.lcdui.DefaultEventHandler$QueuedEventHandler.run(+492)
ЧЁ с ним? ЧЁ ему не нравится?

Сообщение отредактировал Mefestofel - 19.2.2009, 8:13
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Mefestofel
сообщение 26.2.2009, 12:31


Новичок
*

Группа: Пользователи
Сообщений: 26
Регистрация: 14.12.2008
Пользователь №: 188 601
Модель телефона: L7e
Прошивка: NewStyle 2.1

Рейтинг: 0



Возможно ли в j2me управление потоками (thread) и какими способами, если это возможно? Например, как организовать управление 2-х потоков из главного (запустить, приостановить, продолжить работу, выключить) ?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
grafmoto
сообщение 26.2.2009, 14:05


ЯваМотоКодер
********

Группа: Почётные мотофаны
Сообщений: 2 003
Регистрация: 15.10.2004
Из: Северодвинск
Пользователь №: 16 752
Модель телефона: iPhone 3Gs
Прошивка: iOS 6.1.3

Рейтинг: 703



Mefestofel,
void start()
Causes this thread to begin execution; the Java Virtual Machine calls the run method of this thread.
static void sleep(long millis)
Causes the currently executing thread to sleep (temporarily cease execution) for the specified number of milliseconds.
void interrupt()
Interrupts this thread. CLDC 1.1
void join()
Waits for this thread to die.

и

void notify()
Wakes up a single thread that is waiting on this object's monitor.
void notifyAll()
Wakes up all threads that are waiting on this object's monitor.
void wait()
Causes current thread to wait until another thread invokes the notify() method or the notifyAll() method for this object.
void wait(long timeout)
Causes current thread to wait until either another thread invokes the notify() method or the notifyAll() method for this object, or a specified amount of time has elapsed.
void wait(long timeout, int nanos)
Causes current thread to wait until another thread invokes the notify() method or the notifyAll() method for this object, or some other thread interrupts the current thread, or a certain amount of real time has elapsed.

ну и

synchronized

Сообщение отредактировал grafmoto - 26.2.2009, 14:06
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
S3xpro
сообщение 27.2.2009, 17:59


Новичок
*

Группа: Пользователи
Сообщений: 14
Регистрация: 15.2.2009
Из: Из леса
Пользователь №: 193 611
Модель телефона: Z6
Прошивка: ?

Рейтинг: 0



Можно ли в яве поворачиватъ экран? Например, чтобы игры от е8 шли на з6, только в горизонтальном положении. Или есть какой-нибудь адаптер, который поворачивает?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Mefestofel
сообщение 2.3.2009, 7:31


Новичок
*

Группа: Пользователи
Сообщений: 26
Регистрация: 14.12.2008
Пользователь №: 188 601
Модель телефона: L7e
Прошивка: NewStyle 2.1

Рейтинг: 0



Цитата(grafmoto @ 26.2.2009, 16:05) *

Mefestofel,
void notify()
Wakes up a single thread that is waiting on this object's monitor.

А можно ли этот nofity привязать как-нибудь к определЁнному потоку... Т.е. мне из главного треда нужно пробудить из n ждущих потоков какой-то определЁнный i. Можно такое реализовать? Или он какой-то случайный вызовет в любом случае?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
grafmoto
сообщение 2.3.2009, 8:41


ЯваМотоКодер
********

Группа: Почётные мотофаны
Сообщений: 2 003
Регистрация: 15.10.2004
Из: Северодвинск
Пользователь №: 16 752
Модель телефона: iPhone 3Gs
Прошивка: iOS 6.1.3

Рейтинг: 703



notify() будет сигнализировать первому потоку, который вызвал для объекта wait(), последующие вызовы notify() будут сигнализировать 2,3 и т.д. потокам, если они конечно есть. чтобы сигнализировать всем потокам вызывай notifyAll().

Сообщение отредактировал grafmoto - 2.3.2009, 8:47
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Mefestofel
сообщение 2.3.2009, 9:56


Новичок
*

Группа: Пользователи
Сообщений: 26
Регистрация: 14.12.2008
Пользователь №: 188 601
Модель телефона: L7e
Прошивка: NewStyle 2.1

Рейтинг: 0



Цитата(grafmoto @ 2.3.2009, 10:41) *

notify() будет сигнализировать первому потоку, который вызвал для объекта wait(), последующие вызовы notify() будут сигнализировать 2,3 и т.д. потокам, если они конечно есть. чтобы сигнализировать всем потокам вызывай notifyAll().

А если оба второстепенных в ожидании и мне нужно вызвать второй тред (тот который вторым вызвал wait()), тогда как быть?.. unsure.gif
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
grafmoto
сообщение 2.3.2009, 10:06


ЯваМотоКодер
********

Группа: Почётные мотофаны
Сообщений: 2 003
Регистрация: 15.10.2004
Из: Северодвинск
Пользователь №: 16 752
Модель телефона: iPhone 3Gs
Прошивка: iOS 6.1.3

Рейтинг: 703



используй классовый объект
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Mefestofel
сообщение 2.3.2009, 10:13


Новичок
*

Группа: Пользователи
Сообщений: 26
Регистрация: 14.12.2008
Пользователь №: 188 601
Модель телефона: L7e
Прошивка: NewStyle 2.1

Рейтинг: 0



Цитата(grafmoto @ 2.3.2009, 12:06) *

используй классовый объект

То бишь? Не совсем въехал...

Я так написал:
FirstThread thread = new FirstThread();
thread.start();
SecondThread thread1 = new SecondThread();
thread1.start();
synchronized(thread) {
thread.notify();
}
Но выдало вот это:
Uncaught exception java/lang/IllegalMonitorStateException.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
grafmoto
сообщение 2.3.2009, 11:34


ЯваМотоКодер
********

Группа: Почётные мотофаны
Сообщений: 2 003
Регистрация: 15.10.2004
Из: Северодвинск
Пользователь №: 16 752
Модель телефона: iPhone 3Gs
Прошивка: iOS 6.1.3

Рейтинг: 703



private class MyThread extends Thread
{

private int i;

public MyThread(int i)
{
this.i = i;
}

public void run()
{
//выводим run что поток стартовал
System.out.println("run: " + i);
//и тут же его в режим ожидания
synchronized(this)
{
try
{
wait();
}
catch (InterruptedException e)
{
System.out.println("InterruptedException: " + e.getMessage());
}
}
//когда будет notify выполнение продолжится
//будем крутить цикл 2 сек
System.out.println();
System.out.println("start" + i);
long now = System.currentTimeMillis();
while(System.currentTimeMillis() - now < 2000)
{
System.out.print("" + i);
}
System.out.println();
System.out.println("stop" + i);
}

}




//создаем 2 потока
MyThread thread1 = new MyThread(1);
MyThread thread2 = new MyThread(2);
//стартуем 1
thread1.start();
//стартуем 2
thread2.start();
//но оба потока в режиме ожидания!!!
//через 500мс
try
{
Thread.currentThread().sleep(500);
}
catch (InterruptedException e)
{
System.out.println("InterruptedException: " + e.getMessage());
}
//сигнализируем 2
synchronized(thread2)
{
thread2.notify();
}
//через 500мс
try
{
Thread.currentThread().sleep(500);
}
catch (InterruptedException e)
{
System.out.println("InterruptedException: " + e.getMessage());
}
//сигнализируем 1
synchronized(thread1)
{
thread1.notify();
}




лог:

run: 1
run: 2
start2
2222222222...
start1
12121212121212121212...
stop2
1111111111...
stop1
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Mefestofel
сообщение 3.3.2009, 10:59


Новичок
*

Группа: Пользователи
Сообщений: 26
Регистрация: 14.12.2008
Пользователь №: 188 601
Модель телефона: L7e
Прошивка: NewStyle 2.1

Рейтинг: 0



to grafmoto Большое спасибо! А не подскажите ли, можно ли в главном треде создать переменную, которая была бы видна и могла изменяться во второстепенных тредах? Задаю public еЁ, но это не прокатывает: треды не видят еЁ... К дочерним переменным могу обращаться с помощью созданного имени. А вот как обратится к переменной в главном треде?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
grafmoto
сообщение 4.3.2009, 6:37


ЯваМотоКодер
********

Группа: Почётные мотофаны
Сообщений: 2 003
Регистрация: 15.10.2004
Из: Северодвинск
Пользователь №: 16 752
Модель телефона: iPhone 3Gs
Прошивка: iOS 6.1.3

Рейтинг: 703



Mefestofel,
|____|____|____|____|____
__|____|__бицца__|____|__
|____|___галавой____|____
__|____|__сюда___|____|__
|____|____|____|____|____

читай книги по ООП!!!

Сообщение отредактировал grafmoto - 4.3.2009, 6:38
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Mefestofel
сообщение 12.3.2009, 9:03


Новичок
*

Группа: Пользователи
Сообщений: 26
Регистрация: 14.12.2008
Пользователь №: 188 601
Модель телефона: L7e
Прошивка: NewStyle 2.1

Рейтинг: 0



grafmoto, читаю... Но вопросов всЁ равно много непонятных.

public static InputStream stream;
...
synchronized(PlayerCanvas.stream) {
PlayerCanvas.stream = new ByteArrayInputStream(adata);
}
java.lang.NullPointerException

И чЁго ему не нравится? Поставил просто синхронизацию, чЁ бы в момент записи он был недоступен из другого треда...
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
grafmoto
сообщение 12.3.2009, 10:18


ЯваМотоКодер
********

Группа: Почётные мотофаны
Сообщений: 2 003
Регистрация: 15.10.2004
Из: Северодвинск
Пользователь №: 16 752
Модель телефона: iPhone 3Gs
Прошивка: iOS 6.1.3

Рейтинг: 703



Mefestofel,
ну все правильно - в момент synchronized(PlayerCanvas.stream) у тебя PlayerCanvas.stream == null, т.е. synchronized(null) выходит. нужно в начале создать объект, а потом его синхронизировать. и чего ты вообще начал с потоков и их синхронизацией изучать - начни с простых вещей: файлового менеджера, ява-плеера. там тебе это точно не потребуется ))

Сообщение отредактировал grafmoto - 12.3.2009, 10:20
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Mefestofel
сообщение 12.3.2009, 12:06


Новичок
*

Группа: Пользователи
Сообщений: 26
Регистрация: 14.12.2008
Пользователь №: 188 601
Модель телефона: L7e
Прошивка: NewStyle 2.1

Рейтинг: 0



grafmoto, жизнь такая теперь пошла - приходиться мучать потоки и их синхронизацию.
Кстати, есть ещЁ маленький вопрос: как отловить окончание проигрывания? Я так понимаю, для этого есть static String END_OF_MEDIA. Только чему оно будет равно в этот момент?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
grafmoto
сообщение 12.3.2009, 13:50


ЯваМотоКодер
********

Группа: Почётные мотофаны
Сообщений: 2 003
Регистрация: 15.10.2004
Из: Северодвинск
Пользователь №: 16 752
Модель телефона: iPhone 3Gs
Прошивка: iOS 6.1.3

Рейтинг: 703



Цитата(Mefestofel @ Сегодня, 15:06)

как отловить окончание проигрывания?
*


Interface PlayerListener:
public void playerUpdate(Player player, String event, Object eventData)
public static final String END_OF_MEDIA
Posted when a Player has reached the end of the media. When this event is received, the eventData parameter will be a Long object designating the media time when the Player reached end of media and stopped. Value endOfMedia is assigned to END_OF_MEDIA.

т.е. когда event == PlayerListener.END_OF_MEDIA воспр. закончено

Сообщение отредактировал grafmoto - 12.3.2009, 13:52
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
HiperTreding
сообщение 19.3.2009, 18:06


Интересующийся
**

Группа: Пользователи
Сообщений: 36
Регистрация: 17.2.2007
Пользователь №: 122 769
Модель телефона: mpX220
Прошивка: 3.51 sp3

Рейтинг: 0



Мультимедийный Обучающий Курс TeachPro Java Для Начинающих:
http://rapidshare.com/files/7796365/...part1.rar.html
http://rapidshare.com/files/7792435/...part2.rar.html
http://rapidshare.com/files/7787473/...part3.rar.html
http://rapidshare.com/files/7782538/...part4.rar.html
http://rapidshare.com/files/7777282/...part5.rar.html
http://rapidshare.com/files/7772013/...part6.rar.html

Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Gray One
сообщение 23.4.2009, 19:10


Ветеран
*****

Группа: Пользователи
Сообщений: 593
Регистрация: 12.2.2008
Из: Великий Новгород
Пользователь №: 163 295
Модель телефона: L7e, 5530
Прошивка: OAR, S60v5

Рейтинг: 238



Простите что не в тему. Какой программой можно переназначить клавиши телефона в java приложениях? А то назад не нажать в программе FlySoft (шпора). Тел L7e. Заранее спасибо

Все нашел Java Adapter For Motorola

Сообщение отредактировал Gray One - 23.4.2009, 19:37
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Mefestofel
сообщение 8.5.2009, 12:14


Новичок
*

Группа: Пользователи
Сообщений: 26
Регистрация: 14.12.2008
Пользователь №: 188 601
Модель телефона: L7e
Прошивка: NewStyle 2.1

Рейтинг: 0



Привет всем! Давно тут не бывал... Соскучился... =) Подскажите, как вычислить время выполнения нескольких операций? Через System.currentTimeMillis() получается лажа. Наверное, это происходит потому, чЁ поток прерывается. Как решить данную проблему?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Библиотека Разработчика Java-приложений, Все для начинающего Java разработчика · Разработка Java-приложений · Forum
 

8 страниц V « < 5 6 7 8 >
Ответ в темуСоздание новой темы
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 5.7.2025, 15:04

Форум живёт: