Já tem algum tempo que estou estudando sobe J2ME. No entanto estou querendo desenvolver aplicações personalizadas. Dei uma olha em Canvas e CustomItem. Consegui fazer um TextField e um Botão usando canvas, deu um pouco de trabalho fazer o ScrollBar então nem se fala ainda estou tendo problemas rssss. Depois estudei CustomItem e consegui fazer os mesmos botões e textfield customizados.
Agora pergunto para vocês o que vocês preferem para desenvolver suas aplicações Customizadas CustomItem ou Canvas?
Acho que cada caso é um caso, porem creio que quem já entenda mais de j2me acabe migrando naturalmente para o canvas. Eu mesmo comecei utilizando CustomItem por ser mais facil, depois passei para Canvas por me dar total liberdade na tela. Já que o customItem por ser inserido em um form do lcdui não permite grande personalização, como alterações de fundo ou posicionamento.
Minha ideia ao desenvolver componentes personalizados. E que minha aplicação tenha a mesma aparência em vários dispositivos inclusive o PALM. Pois usando a API padrão J2ME em cada dispositivo os componentes ficam diferêntes
Mesma aparencia?
Então só canvas poderá lhe ajudar!
Vou dizer que dá um pouquinho mais de trabalho, só que o resultado final quando bem feito, fica muito superior. Afinal quanto mais lapidada uma pedra melhor ela fica!
Estava vendo o LWUIT. Alguém já testou ele? Sabe se ele bom?. Andei pesquisando no Google, vi algumas pessoas falando que ele deixa a aplicação lenta. E verdade isso?
O Lwuit eu testei e acho que não compensa, testei em aparelhos N95 (Que não são fracos) e mesmo assim ficou pesado, como o Boone disse “Não condiz com a realidade brasileira de celulares” (Ou algo assim!).
Lembra do que falei lá encima, o pessoal fala do lwuit porque já tem tudo pronto, mas essa facilidade tem um alto custo!
Se quer uma coisa boa de verdade, minha opinião, faça na mão.
[quote]O Lwuit eu testei e acho que não compensa, testei em aparelhos N95 (Que não são fracos) e mesmo assim ficou pesado, como o Boone disse “Não condiz com a realidade brasileira de celulares” (Ou algo assim!).
Lembra do que falei lá encima, o pessoal fala do lwuit porque já tem tudo pronto, mas essa facilidade tem um alto custo!
Se quer uma coisa boa de verdade, minha opinião, faça na mão.
Att
Ricoldi [/quote]
Obrigado Ricoldi pela ajuda. Acabei de testar o Lwuit aqui vi que ele realmente deixa a aplicação lenta, Nem no emulador do Palm não funciona. E como você mesmo disse fazer tudo na mão vai ser melhor. Até pq criei dois componentes na mão e obtive sucessos. Por enquanto não irei fazer no canvas os componentes e sim usando CustomItem, pois inicialmente estou achando mais simples, sendo assim pelo menos os componentes vai ficar padrão em diversas plataformas. Assim que tiver um pouco mais de experiências passarei a usar Canvas.
Paulo, se você está com disposição de quebrar a cabeça criando novos componentes do zero, tem tempo para isso e quer um aplicativo personalizado em detalhes então recomendo utilizar o Canvas.
É bacana ir criando uma API própria e medida que você vai fazendo componentes novos. Aí vá adicionando seus componentes na sua API, logo você terá tudo pronto. Tenho feito isso e minha API já tem botões, menu de botões, submenu de botões, scrollbar, textfield, gauge, fontes personalizadas, listas, abas, etc. Com o tempo vou expandindo-a. Fiz uam classe para controlar esses itens. Ta bem bacana e utiliza pouco do processador se coparado ao LWUIT por exemplo… LWUIT é muito pesado e vale mais você criar tudo. O pessoa fala muito do LWUIT, paga pau para ele por que tem tudo pronto, não dá tanto trabalho e realmente ele faz coisas incríveis. Masss tem um preço alto como o pessoal comentou aqui.
[quote]Paulo, se você está com disposição de quebrar a cabeça criando novos componentes do zero, tem tempo para isso e quer um aplicativo personalizado em detalhes então recomendo utilizar o Canvas.
É bacana ir criando uma API própria e medida que você vai fazendo componentes novos. Aí vá adicionando seus componentes na sua API, logo você terá tudo pronto. Tenho feito isso e minha API já tem botões, menu de botões, submenu de botões, scrollbar, textfield, gauge, fontes personalizadas, listas, abas, etc. Com o tempo vou expandindo-a. Fiz uam classe para controlar esses itens. Ta bem bacana e utiliza pouco do processador se coparado ao LWUIT por exemplo… LWUIT é muito pesado e vale mais você criar tudo. O pessoa fala muito do LWUIT, paga pau para ele por que tem tudo pronto, não dá tanto trabalho e realmente ele faz coisas incríveis. Masss tem um preço alto como o pessoal comentou aqui. [/quote]
Estou disposto mesmo a criar componentes do zero principalmente para o motivo que eu quero que é fazer minha aplicação funcionar em diversos dispositivos diferentes. Uma coisa que estou quebrando a cabeça para fazer e o ScrollBar que não esta dando certo de forma alguma ja até olhei alguns exemplos do site da Nokia e não obtive sucesso.
Foi o mais complicado de construir. No construtor dele eu atribuo a posição x e y onde ele vai ficar na tela, a altura que ele terá, a ltura total q a tela tem e a quantidade de pixels que a tela deve subir ou descer quando eu prescionar o botão UP ou DOWN.
Com essas informações eu construo a barrinha que fica cheia. Faço uma proporção entre a altura total da tela e a altura do scrollbar para ter a altura da barrinha cheia:
Altura total da tela -> 100%
Altura do scrollbar -> Altur da barrinha
Daí eu teno: Altur da barrinha = (Altura do scrollbar*100)/Altura total da tela;
Da mesma forma calculo quantos pixels a imagem da scrollbar vai descer. Calculo isso fazendo uma proporão em relação ao valor que a tela vai descer, esse valor foi atribuido no construtor.
Calculados os tamanhos e quantidades de pixel a descer ou subir. É só construir aimagem da Scrollbar e posicionar e exibir na tela e programar para mover-se a cada vez que a teclar UP ou Down for prescionada.
[quote]Foi o mais complicado de construir. No construtor dele eu atribuo a posição x e y onde ele vai ficar na tela, a altura que ele terá, a ltura total q a tela tem e a quantidade de pixels que a tela deve subir ou descer quando eu prescionar o botão UP ou DOWN.
Com essas informações eu construo a barrinha que fica cheia. Faço uma proporção entre a altura total da tela e a altura do scrollbar para ter a altura da barrinha cheia:
Altura total da tela -> 100%
Altura do scrollbar -> Altur da barrinha
Daí eu teno: Altur da barrinha = (Altura do scrollbar*100)/Altura total da tela;
Da mesma forma calculo quantos pixels a imagem da scrollbar vai descer. Calculo isso fazendo uma proporão em relação ao valor que a tela vai descer, esse valor foi atribuido no construtor.
Calculados os tamanhos e quantidades de pixel a descer ou subir. É só construir aimagem da Scrollbar e posicionar e exibir na tela e programar para mover-se a cada vez que a teclar UP ou Down for prescionada. [/quote]
Obrigado JavaES foi de grande ajuda sua dica de como construir o ScrollBar. Não fiz examente como vc falou mais deu certo o ScrollBar so tive problema ao testar no PALM onde aquela barrinha ficou grande a ltura dela. Vc teve este problema com PALMs?
Teste no black barry tb fiz, mais tb tive o mesmo problema do PALM a solução que encontrei foi criar uma constante ai eu verifico a resolução do dispositivo que esta sendo usado no momento ai efetuo os calculos necessários de acordo com a resolução do dispositivo. Ai consegui fazer o scrollBar funcionar de forma correta