motofan logo
31 страниц V « < 27 28 29 30 31 >        
> 

Библиотека Разработчика 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
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
grafmoto
сообщение 10.5.2009, 5:20


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

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

Рейтинг: 703



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


Новичок
*

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

Рейтинг: 0



grafmoto, дело обстоит так. У меня есть поток, внутри которого цикл. Цикл прерывается wait'ом. Мне нужно узнать время работы одного периода этого цикла. Для этого я с помощью System.currentTimeMillis() считываю время запуска первого периода, потом считываю время запуска второго периода цикла. При сравнении с эталонным временем периода (оно высчитывается, и реальное время выполнения всегда больше эталонного) действительное (измеренное таким способом) время оказывается иногда меньше, чем теоретическое... И в чЁм траблы? shout.gif
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
grafmoto
сообщение 11.5.2009, 16:33


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

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

Рейтинг: 703



Mefestofel,
wait'ом? еще больше ничего не понял...
ЗЫ. пример кинь!
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Mefestofel
сообщение 12.5.2009, 7:33


Новичок
*

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

Рейтинг: 0



grafmoto, лады.
Исходник:
while (!endsecondthread) {
try {
synchronized(PlayerCanvas.stream) {
player = Manager.createPlayer(PlayerCanvas.stream, "audio/x-wav");
PlayerCanvas.stream = null;
}
player.realize();
//тут считаю время одного цикла
if (PlayerCanvas.t1 == 0) {
PlayerCanvas.t1 = System.currentTimeMillis();
} else {
if (PlayerCanvas.t2 != 0) {
PlayerCanvas.t1 = PlayerCanvas.t2;
}
PlayerCanvas.t2 = System.currentTimeMillis();
PlayerCanvas.exe = PlayerCanvas.t2 - PlayerCanvas.t1 - PlayerCanvas.m[y++];
System.out.println("t2="+PlayerCanvas.t2+" t1="+PlayerCanvas.t1+" m="+PlayerCanvas.m[y-1]+" delay="+PlayerCanvas.exe+" y="+(y-1));
}
player.start();
} catch (Exception ex) {
System.out.println("Error! Cannot create player"+ex);
}
player.addPlayerListener(this);
run = true;
while ((run)&&(!PlayerCanvas.interrupted)) {
this.playerUpdate(player, event, eventData);
}
player.close();
synchronized(PlayerCanvas.end) {
endsecondthread = PlayerCanvas.end.booleanValue();
}
PlayerCanvas.s = PlayerCanvas.s - 1;
synchronized(PlayerCanvas.secondthreadwait) {
PlayerCanvas.secondthreadwait = new Boolean(true);
}
synchronized(this) {
try {
wait(); //тут отправляю в спячку, потом через некоторое время обратно вызываю
} catch (InterruptedException e) {
System.out.println("InterruptedException: " + e.getMessage());
}
}
synchronized(PlayerCanvas.secondthreadwait) {
PlayerCanvas.secondthreadwait = new Boolean(false);
}
}
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
grafmoto
сообщение 12.5.2009, 10:44


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

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

Рейтинг: 703



глянь это:
-жмешь старт, можно несколько раз
-запускается поток или несколько
-каждый запоминает когда стартовал и входит в спячку
-ждешь
-жмешь стоп
-все потоки пробуждаются и выводят время их работы

ты про такое?
Прикрепленный файл mefestofel.rar   ( 5.79 килобайт ) Кол-во скачиваний: 99
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Mefestofel
сообщение 13.5.2009, 7:27


Новичок
*

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

Рейтинг: 0



grafmoto , принцип тот же. Во всяком случае, похоже. Так вот время, полученное таким образом, получается часто МЕНЬШЕ, чем время воспроизведения звука (см. выше исходник мой). При чЁм рандомно: каждый раз различное число, но больше отрицательных чисел. А мне нужно точное время. Есть какая-нить функция для определения чисто поточного времени, как например в винде GetThreadTimes()?
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
grafmoto
сообщение 13.5.2009, 7:52


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

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

Рейтинг: 703



Mefestofel,
без полного кода очень много непоняток. да и что вообще ты от такого метода хочешь? время воспроизведения/общее узнать? так это и так можно через Player.
а System.currentTimeMillis(); прекрасно работет.
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Mefestofel
сообщение 13.5.2009, 8:34


Новичок
*

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

Рейтинг: 0



grafmoto , я хочу обўее время узнать. Через System.currentTimeMillis() он показывает у мя лажу, т.к. общее время выполнения никак не может быть меньше времени воспроизведения, ибо после воспроизведения выполняются действия! Проверял и на компе, и на мобиле.
Результаты (t1 - начальное время, t2 - конечное время, m - время воспроизведения, delay - задержка между двумя различными композициями, y - порядок следования):
t2=1242203347109 t1=1242203345968 m=1295 delay=-154 y=0
t2=1242203348828 t1=1242203347109 m=1757 delay=-38 y=1
t2=1242203350687 t1=1242203348828 m=1864 delay=-5 y=2
t2=1242203352703 t1=1242203350687 m=2097 delay=-81 y=3
t2=1242203354109 t1=1242203352703 m=1456 delay=-50 y=4
t2=1242203355078 t1=1242203354109 m=1029 delay=-60 y=5
t2=1242203356781 t1=1242203355078 m=1728 delay=-25 y=6
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
grafmoto
сообщение 13.5.2009, 9:01


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

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

Рейтинг: 703



Mefestofel,
System.currentTimeMillis() не глючит это точно, а глючит твой код. зачем тебе вообще какие то потоки, циклы? делай все через PlayerListener - в нем узнавай начало и окончание каждого воспроизведения, опять же через System.currentTimeMillis(). код будет на много проще и читабельней

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


Новичок
*

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

Рейтинг: 0



grafmoto, как будто на разных языках говорим... unsure.gif Исходник я тебе полностью выкинул. Цикл сделал потому, чЁ не знаю, сколько будет всего композиций. Время воспроизведения я и так знаю: и расчЁтное, и действительное. Они совпадают. Но мне нужно время между воспроизведениями! От конца воспроизведения одного файла до начала воспроизведения другого файла (см. выше: начало цикла, player.start(), затем вычисление времени, player.close(), wait(), выполнение действий в другом потоке, возврат к нашему потоку, переход в начало цикла). Так вот время "wait(), выполнение действий в другом потоке, возврат к нашему потоку, переход в начало цикла,начало цикла" у меня отрицательное получается: delay=-154, delay=-38, delay=-5, delay=-81, delay=-50, delay=-60, delay=-25. Существуют ли какие-нить другие функции для определения времени? Не обязательного системного, можно чисто поточного (от первого запуска потока до точки определения).
Юзер вышелВ друзьяВизиткаП/Я
К началу страницы
+Ответить
Библиотека Разработчика Java-приложений, Все для начинающего Java разработчика · Разработка Java-приложений · Forum
 

31 страниц V « < 27 28 29 30 31 >
Ответ в темуСоздание новой темы
2 чел. читают эту тему (гостей: 2, скрытых пользователей: 0)
Пользователей: 0

 



Текстовая версия Сейчас: 27.4.2024, 8:45

Форум живёт: