| Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате |
| Форум программистов > Java ME (J2ME) > Cтатус бар |
| Автор: smke444 25.5.2009, 15:17 |
| Нужна помощь по организации логики заставки SplashScreen . То есть главный поток который инициализирует данные и есть параллельный поток который показывает в это время заставку и процесс загрузки скажем в виде статус бара загрузки – скажем как во многих играх от Gameloft Суть проблемы – как отобразить в статус баре пропорциональность загрузки ресурсов (как на играх от Gameloft или как в флеше). Нужна всего лишь логика реализации... Заранее спасибо |
| Автор: eugine_s 25.5.2009, 15:53 |
| Логика: поток 1 (который загружает ресурсы) знает (если не знает, значит нужно его научить, чтобы знал Суть задачи из потока1 передать в поток2 какое-то число (или потоку2 забрать из потока1 число). Я бы в потоке2 реализовал какой-то Listener и в потоке1 информировал бы этот листенер о событии. |
| Автор: smke444 25.5.2009, 17:43 |
| Ну допустим логика понятна , но все-таки как-то нескладно это. Допустим в 1 потоке у меня 20 загрузок изображений и больших и маленьких – в этом случае как быть? Сделать универсальный метод лоадер для картинок, рассчитать общую величину загружаемых картинок и в зависимости от объема картинки информировать об этом listener... Ну помимо картинок есть и RMS и может другие тяжелые процессы – здесь с подсчетом времени загрузки будет по тяжелей.... В общем такой подход понятен - все-таки надеялся что существует более элегантный подход. Но все равно не дает покоя – как это реализовано плавно в gameloft ? – может они в процессе тестирования на разных моделях телефонов – вычисляют самой длительный интервал загрузки и после этого заставляют крутить одинаковое вычисленное время этот SplashScreen ? В принципе если нет других подходов – Вопрос снят. Спасибо |
| Автор: math64 26.5.2009, 09:25 | ||
Запустить на эмуляторе. А потом использовать распечатанное время загрузки для определения веса ресурса. Для разных моделей телефона они вряди будут сильно отличаться (а если отличается - создать отдельный jar для этой модели) |