![]() |
|
Модераторы: javastic, AntonSaburov |
![]()
|
|
| Gershkovich |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 243 Регистрация: 8.2.2006 Репутация: нет Всего: 2 |
Привет всем !
Суть пробемы : есть проектик который работает на всех моделях. Но для Нокий, скажем, желательно включить некоторые украшательства. Например включить вибру :
Задача состоит в том чтоп компилировать в двух режимах типо default и Nokia - т.е. в первом случае выделенная строка не компилировалась, а во втором компилировалась Это похоже на условную компиляцию в Delphi. {$ ifdef NOKIA}.... Кто как решает такую проблему ?? Заранее спасибо. |
|||
|
||||
| nagliyvred |
|
|||
![]() Шустрый ![]() Профиль Группа: Участник Сообщений: 54 Регистрация: 2.10.2005 Репутация: 3 Всего: 3 |
NetBeans + MobilityPack. Я создаю для каждой линейки телефонов свою конфигурацию где прописывается куча своих настроек: от простых препроцессорных define'ов, путей к папкам с ресурсами, уровня обфускации и прочего прочего, вплоть до автоматического заливания готового архива в определенную папочку на сервере по sftp при build'е.
|
|||
|
||||
| Antropoid |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 786 Регистрация: 1.6.2006 Где: &Ukraine==Ode ssa Репутация: 13 Всего: 16 |
Ant+Antenna и дело в шляпе
-------------------- ![]() Задыхаясь от восторга заниматься чепухой. |
|||
|
||||
| Gershkovich |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 243 Регистрация: 8.2.2006 Репутация: нет Всего: 2 |
Спасибо.
А где ее взять Antenna ? У меня есть какая-то версии 0.9.14 но она умеет тока JAD генерить или я что-то упустил ? |
|||
|
||||
| Antropoid |
|
|||
|
Опытный ![]() ![]() Профиль Группа: Участник Сообщений: 786 Регистрация: 1.6.2006 Где: &Ukraine==Ode ssa Репутация: 13 Всего: 16 |
-------------------- ![]() Задыхаясь от восторга заниматься чепухой. |
|||
|
||||
| W0LF |
|
|||
![]() alexander lonsky ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1164 Регистрация: 9.2.2006 Где: Ukraine.Dnepropet rovsk Репутация: 19 Всего: 20 |
Скажем так - ант умеет все, а антенна облегчает ;)
-------------------- iOS developer |
|||
|
||||
| math64 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 8 Всего: 72 |
Можно попробовать следующим способом:
Из jar для обычных телефонов возможно нужно будет исключить класс NokiaUI (если все классы грузятся при старте мидлета), а если класс грузится только при вызове Class.forName() то и этого делать не нужно будет. |
|||
|
||||
| W0LF |
|
|||
![]() alexander lonsky ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1164 Регистрация: 9.2.2006 Где: Ukraine.Dnepropet rovsk Репутация: 19 Всего: 20 |
Чет я не понял этого варианта...
Как тока девайс увидит апи, с которыми он не сможет работать - приложение не установится. Нужно юзать обязательно прероцессор! Так как в джаве его как такового нет, то есть псевдопрепроцессоры, которые парсят сорсы перед тем, как отдать их компилятору. P. S.
Это метод, который можно юзать тока в cldc11 -------------------- iOS developer |
|||
|
||||
| math64 |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 8 Всего: 72 |
У меня Motorola C650. Там CLDC1.0 и есть Class.forName(). Если в jar поместить Image.png, переименованный в Image.class, то всё загружается, но Image.createImage ("/Image.class"); не проходит, так что мой метод на нём скорее всего пройдёт (для точной проверки нужно API для Nokia).
Если нельзя пользоваться Class.forName(), то тогда нужно создать три каталога с исходниками: commonsrc для общего кода, nokiauisrc для Nokia, defaultuisrc для прочих телефонов. В commonsrc помещаем интерфейс CustomUI и инициалзацию переменной переписываем в виде:
Класс NokiaUI переименовывается в RealUI и помещается в каталог nokiauisrc. Класс DefaultUI переименовывается в RealUI и помещается в каталог defaultuisrc. Создаётся проект NokiaProject с исходниками commonsrc и nokiauisrc. Создаётся проект DefaultProject с исходниками commonsrc и defaultuisrc. |
|||
|
||||
| W0LF |
|
|||
![]() alexander lonsky ![]() ![]() ![]() Профиль Группа: Участник Сообщений: 1164 Регистрация: 9.2.2006 Где: Ukraine.Dnepropet rovsk Репутация: 19 Всего: 20 |
Да, я не прав был.. не о том подумал... math64, зачем извращаццо - юзай препроцессор. Ты ж пойми, например у тя в NokiaUI есть ток один метод, который не пойдет на остальных телефонах, а все остальное - норма.. Это тебе с твоей идеей придеццо копипастить 3 почти одинаковых файла, а потом еще и переименовывать их.. а не легче написать #ifdef Nokia ... #endif ? -------------------- iOS developer |
|||
|
||||
| math64 |
|
||||||||||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Завсегдатай Сообщений: 2505 Регистрация: 12.4.2007 Репутация: 8 Всего: 72 |
Насчёт CLDC прав ты - это у Motorola извращённый CDLC (что-то среднее между CDLC 1.0 и CDLC 1.1, и их эмулятор к NetBeans не прикручивается) Копипастить и переименовывать ничего не надо - большинство IDE (а также javac) позволяют задавать несколько каталогов для исходников (это не package!) Можно ещё использовать свойство компилятора оптимизировать if(false) .... :
А какой способ удобнее - нужно выбирать в каждом конкретном случае, использовать ant наиболее универсально, но у меня ты имеешь код на чистой Java и ты можешь пользоватся всеми преимуществами IDE, включая рефакторинг, а в твоем случае IDE будет подсвечивать ошибки на #ifdef ... #endif. Чтобы этого не было лучше использовать стиль Delphi - /*$if(...) */ ... /*$endif */. Но и в этом случае IDE будет считать, что все фрагменты используются. В большинстве случае отсутствие в Java препроцессора считается преимуществом - это делает более ясным код и упрощает отладку и рефакторинг. В моём случае тоже можно использовать ant для того чтобы определять какие файлы включать в компиляцию. Это сообщение отредактировал(а) math64 - 26.6.2007, 08:02 |
||||||||||
|
|||||||||||
![]()
|
FAQ раздела лежит здесь! |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | Java ME (J2ME) | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |