em java tem algum recurso como o IFDEF do Delphi?? Estou programando para diferentes celulares e queria usar filtros para que o tamanho final da aplicacao fique menor…
vc sabe de algo do tipo, ou como implementar isso?? uso o jbuilderX…
valeus
em java tem algum recurso como o IFDEF do Delphi?? Estou programando para diferentes celulares e queria usar filtros para que o tamanho final da aplicacao fique menor…
vc sabe de algo do tipo, ou como implementar isso?? uso o jbuilderX…
valeus
Olá,
Java não tem pré-processador, então você pode utilizar uma ferramenta de terceiros ou criar scripts de build para criar versões diferentes dos seus aplicativos.
[]s
alguem sabe de alguma ferramenta q faca isso ou coisa parecida??
teh, valeud
Outra forma é fazer o seguinte: normalmente o compilador já elimina código (mas não rotinas!) se você fizer um if() com uma condição constante. Mas obviamente não atende a todos os seus requisitos. Você provavelmente vai ter de customizar um script de build (build.xml do Ant, por exemplo) para gerar apenas as classes que seu aplicativo precisa para um determinado ambiente.
Digamos que você tenha uma parte de seu código que deve funcionar em Nokia mas não em Motorola:
static final boolean MOTOROLA = false;
static final boolean NOKIA = true;
if (MOTOROLA) {
código Motorola();
}
if (NOKIA) {
código Nokia();
}
Você precisa mexer duas linhas no fonte acima (que funciona só para Nokia) para recompilar para Motorola, é claro, mas onde aparece MOTOROLA no código acima, será ignorado pelo compilador, já que a condição é “false” em tempo de compilação.
Achei isso aqui também:
http://www.developer.com/java/other/article.php/3293431
Mas, sinceramente, creio que a melhor opção seja em termos de ferramenta de build. Condições de compilação são um inferno apra manter…
[]s
vcs q sabem MUITO mais q eu…
um ofuscador cortaria esse codigo nao usado??
o artigo eh bom + fica muito dificil pra colocar todos os meus programas em XML… ); … eh muito codigo…
achei esses artigos aki tb,
http://www.sys-con.com/story/?storyid=36226&DE=1
o 2o eh melhorzim… (;
vou ter q sofrer + um pouco com isso… + tah valendo… alguem de vcs pode me explicar pq java nao tem Conditional Compilation???
valeus
Porque em tese isso nao deveria ser necessario - afinal, Java eh pra ser multi-plataforma.
Mas na pratica a teoria eh diferente.
Brincadeira. O J2ME esta evoluindo - futuramente esse tipo de problema nao devera acontecer. Enquanto isso…
Marcio Kuchma
enquanto isso eh só lálá… ((;