|
Модераторы: javastic, AntonSaburov |
|
vegstr |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 21.6.2012 Репутация: нет Всего: нет |
Возникло желание написать приложение с определенными требованиями. В программировании не силен. На Java никогда не писал. Немного работал с Pascal/Delphi. Поэтому для начала хотел бы узнать - возможно ли в принципе написать такое.
Требования следующие: Программа должна по расписанию через определенные промежутки времени записывать звук с микрофона и уметь его проигрывать. Так же крайне желательно, чтоб записанное можно было скидывать на комп. Прога не должна мешать обычному использованию телефона (звонки/смс/инет и т.п). Необходима возможность настраивать время начала и конца записи, интервал между записями и их длительность. Например - записывать с 08:00 до 23:00 через каждые 30 минут длительностью 10 мин. Прога нужна для телефонов Nokia 5310 и Samsung GT-S5230. Просьба к знающим людям, подскажите, возможно ли такое на этих телефонах? |
|||
|
||||
Kalisnik |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 61 Регистрация: 21.6.2011 Репутация: нет Всего: нет |
007 не стал бы использовать J2Me, потому что получится в 02 раза дороже. IMHO, я бы пересмотрел форму подачи вопроса(ов).
Это сообщение отредактировал(а) Kalisnik - 21.6.2012, 16:32 |
|||
|
||||
vegstr |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 21.6.2012 Репутация: нет Всего: нет |
Все намного прозаичнее. 007 и 02 тут абсолютно ни при чем. Проверка одной теории насчет работы человеческой памяти. На научное исследование не тянет, конечно. Так... Баловстово.
Прога не должна скрываться. Надо чтобы она НЕ МЕШАЛА пользоваться телефоном. |
|||
|
||||
Kalisnik |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 61 Регистрация: 21.6.2011 Репутация: нет Всего: нет |
честно говоря я не совсем компетентен, но надеюсь форумчане меня поправят.
1. Не мешать прога будет только в свернутом виде - но эту функцию поддерживают не все телефоны и нет гарантий ее стабильной работы, т.к. всеми java-приложениями управляет собственно телефон, и если он посчитает что ему не хватает ресурсов, он может запросто Ваше приложение пришлепнуть. На счет Nokia и Samsung не знаю, но в SE свернуть мидлет возможно (ну может в самых древних моделях такая функция отсутствует). 2. Записывать то можно, только хранилище телефона (постоянное хранение данных) не резиновое. На карту памяти телефона java-приложение не пишет на сколько мне известно (может конечно и существуют такие модели телефонов, но это исключение), и на каждой модели телефона размер хранилища данных индивидуален (определяется производителем). Не рассчитывайте на бесчисленные мегабайты памяти - все много скромнее. Так что записывать с 8:00 до 23:00 может просто физически не хватить памяти. И на ПК записанное Вы сможете сбросить только через саму (написанную Вами) программу. Т.к. все данные в телефоне приложение сохраняет в байт-коде и не на всех телефонах доступ к хранилищу телефона открыт пользователю через обычное подключение телефон-компьютер (есть конечно методы выдергивания этих данных и т.д., но это все костыли). И даже если Вы выдерните этот байт-код, то получить из него информацию в оригинальном виде тоже будет непросто - так как методы кодирования данных у каждого производителя телефона свои собственные. В общем довольно муторно будет, если Вы не в курсе чего и как делать Я бы порекомендовал диктофон и 1 день Вашего времени - это будет быстрее чем параллельно с написанием программы изучать java. Если такой вариант все же неприемлем, то советую Android Это сообщение отредактировал(а) Kalisnik - 21.6.2012, 21:40 |
|||
|
||||
oxigen |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 142 Регистрация: 12.4.2010 Репутация: 4 Всего: 4 |
Соглашусь насчет Android. Если нужно именно решить конкретную задачу, то самое простое - поискать уже готовый диктофон с таймером под андроид.
А под MIDP столкнетесь с довольно большими сложностями и не факт, что в итоге вообще будет работать на этих моделях. |
|||
|
||||
vegstr |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 21.6.2012 Репутация: нет Всего: нет |
Согласен, что на Android или с каким-либо аппаратным диктофоном было-бы проще. Но дело в том, что в данном случае это просто баловство, своего рода хобби. Если не получится - ничего страшного не произойдет. И тратить деньги нет возможности\желания. Так что я все-таки попробую. Хотя-бы немного Java изучу. Все польза.
Оба телефона поддерживают File Connection API. Я правильно понимаю, что писать на карту памяти они умеют? |
|||
|
||||
Kalisnik |
|
|||
Шустрый Профиль Группа: Участник Сообщений: 61 Регистрация: 21.6.2011 Репутация: нет Всего: нет |
Да, умеют. P.S. Видимо поддерживающих File Connection API телефонов не так уж и мало, как мне казалось. ) Это сообщение отредактировал(а) Kalisnik - 22.6.2012, 13:29 |
|||
|
||||
vegstr |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 21.6.2012 Репутация: нет Всего: нет |
Пытаюсь разобраться с запуском мидлета с помощью PushRegistry.
Правильно ли я понял, что невозможно просто указать определенное время, в которое приложение будет запускаться каждый день, а требуется указать конкретные дату и время запуска и в дальнейшем каждый раз обновлять дату (+1 день например)?
Объясните, плз, как правильно вычислять deltatime в вышеуказанном коде? Допустим надо запустить приложение в 10:00 следующего дня. Описание класса Date читал. Но что-то пока никак не соображу. Это сообщение отредактировал(а) vegstr - 28.6.2012, 09:27 |
|||
|
||||
math64 |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 8 Всего: 72 |
При использовании File Connection API мидлет должен быть подписан - иначе он перед каждой записью на карту памяти будут просить разрешения.
Если в телефоне симкарта с безлимитным интернетом, можно на компьютере запустить сервер, который будет принимать данные с телефона через интернет. deltatime вычислять не надо - нужно просто указать время запуска приложения (предватительно проверив что это время ещё не наступило) При использовании сервера на компьютере можно возложить планирование записей на компьютер - компьютер посылает на телефон запрос, телефон записывает данные с микрофона и отсылает на компьютер. |
|||
|
||||
vegstr |
|
||||||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 21.6.2012 Репутация: нет Всего: нет |
Я в курсе. Он и про использование микрофона спрашивает.
Спасибо за совет. В данной ситуации не особо нужно. Телефон всегда со мной и записи больше на нем нужны, чем на компе.
Можно по-подробнее? Желательно с примером кода. Заранее огромное спасибо! |
||||||
|
|||||||
math64 |
|
|||
Эксперт Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 8 Всего: 72 |
|
|||
|
||||
vegstr |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 21.6.2012 Репутация: нет Всего: нет |
math64,
Спасибо за помощь. С этим разобрался. Теперь возникла другая проблема. Нижеприведенный код нормально работает на Nokia 5310. Создается нормальный аудиофайл, который можно прослушать на компе или телефоне. На Samsung GT-S5230 создается файл нулевой длины, а приложение, когда запись останавливается, выдает ошибку: java.io.IOException: I/O error occurs during commit.
Заработало Вместо setRecordStream() использовал setRecordLocation() Это сообщение отредактировал(а) vegstr - 3.7.2012, 16:25 |
|||
|
||||
vegstr |
|
|||
Новичок Профиль Группа: Участник Сообщений: 7 Регистрация: 21.6.2012 Репутация: нет Всего: нет |
Люди добрые, подскажите! Нижеприведенный код нормально работает в эмуляторе. Процедура записи запускается таймером через равные промежутки времени. На телефоне (Samsung s5230) тоже работает в активном приложении. А вот в свернутом состоянии выдает исключение:
javax.microedition.media.MediaException: unable to realize - initialize fail При этом файлы создаются нормально, но нулевой длины. Никак не могу понять в чем дело :(
|
|||
|
||||
FAQ раздела лежит здесь! |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | Java ME (J2ME) | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |