Iniciando no desenvolvimento com java me

08 outubro 2010 1 comentários
A teoria por traz do Hello World. Entenda como funciona e aprenda a desenvolver uma aplicação para celulares e smartphones com Java ME.

Aprenda LBS em Android na Prática - Parte 1

10 setembro 2010 0 comentários
Boa tarde..


Aprenda LBS em Android na Prática - Parte 1: Crie um aplicativo onde o usuário visualiza seus contatos e pode visualizar sua localização em um mapa 2D.





Boa leitura..


Att.
Ricardo

Criando Telas de Preferências em Android

01 setembro 2010 0 comentários
Boa tarde..


Mais um artigo sobre Android pra galera...





Boa leitura.


Att.
Ricardo

Mídia, Text-to-Speech e Android

27 agosto 2010 0 comentários
Boa noite..


Convido todos a lerem este artigo, no qual o leitor aprendeá como criar um aplicativo Android que mosta um vídeo e reclama quando o usuário pausa a exibição da Mídia. Ah, ele reclama falando, não por texto:





Bons códigos..


Att.
Ricardo

Slides apresentação Java Day

19 agosto 2010 0 comentários
Bom dia..


Deixo aqui os slides da apresentação que fiz no último Java Day:





Att.
Ricardo

Boatos criam PSP com Android

17 agosto 2010 0 comentários
Boa tarde...

Sony Ericsson está realmente preparando um PSP com Android? Será?

Telefone PSP da Sony irá rodar Android [Futurologia]: Um novo rumor surgiu hoje na Internet de que a Sony Ericsson estaria desenvolvendo uma nova plataforma de jogos, baseada em Android, juntamente com um aparelho celular específico para a jogatina. Geralmente rumores muito bons para serem verdade nunca chegam se tornam da realidade, mas dessa vez o blog Engadget está garantindo que sua fonte é confiável e a notícia é boa.

O novo aparelho (a foto acima é somente uma montagem) seria um celular slider que ao invés de possuir um teclado quando aberto, mostraria um controle parecido com o do PSP Go. A tela será grande, algo entre 3.7 e 4.1 polegadas, com câmera de 5 megapixels e provavelmente um processador Snapdragon de 1 gigahertz. Ele será todo preto, com detalhes prateados, com a área do joystick toda branca (isso sim são rumores detalhados) e virá tanto com a marca Playstation quanto XPeria. Novamente, é bom demais para ser verdade.

Ele rodará o Android 3.0 “Gingerbread”.

Fonte: Fayerwayer.

Os mesmos "boatos" podem ser vistos aqui:

Exclusive: Sony Ericsson to introduce Android 3.0 gaming platform and PSP Go-like smartphone:
Fonte do engadget que serviu de base para o primeiro texto que referenciei aqui.

Sony Ericsson Prepare the “PSP” with Android OS 3.0?

Vamos aguardar...

Att.
Ricardo

Palestra FISL - Utilizando Open Source para Programar em diversas plataformas mobile

26 julho 2010 0 comentários
Boa tarde..


Completando o post anterior..


Veja os slides da palestra: Utilizando Open Source para Programar em Diversas Plataformas Mobile.





Att.
Ricardo

Palestra Fisl - Java ME no mundo mobile e afins

0 comentários
Boa tarde..


Gostaria de compartilhar com vocês as palestras que eu (Ricardo) e o Robison apresentamos no FISL (Fórum Internacional do Software Livre).


Serão dois posts, o primeiro mostra os slides da palestra: Java ME no mundo mobile e
afins.





Att.
Ricardo

JavaOne no Brasil.. _0/ \0/ \0_

23 julho 2010 0 comentários
Olhem que notícia boa:

JavaOne Brazil and China Dates Announced!

Segundo a fonte, two other JavaOne conferences scheduled: December 7 - 9, 2010 in Brazil and on December 13 - 16, 2010 in China. Those conferences will be similar to JavaOne in San Francisco with keynotes and technical sessions. Stay Tuned for more information.

Muito importante para a comunidade Java brasileira..

Att.
Ricardo

Interligando o Browser a seu aplicativo mobile..

20 julho 2010 0 comentários
Bom dia..


Gostaria de convidar todos a lerem o texto: "Trabalhando com Browser em Java ME, Android e BlackBerry".


Neste texto eu mostro como utilizar o aplicativo nativo de Browser do aparelho em sua aplicação Java ME, Android ou BlackBerry.





Boa leitura...


Att.
Ricardo

Android continua crescendo...

14 julho 2010 0 comentários
E o Android continua crescendo...

Segundo o AdNews, A empresa de inteligência de mercado digital comScore divulgou seu relatório de maio do mercado de celulares nos EUA, e mostrou que os smartphones Android estão ganhando território.

Ainda segundo a fonte, o relatório indica a liderança mantida pela RIM, com 41,7% do mercado, seguida – um pouco de longe – pela Apple, que caiu 1% e ficou com 24,4%. Os números da maçã, porém, podem melhorar em breve, pois a comScore não considerou o lançamento do novo iPhone 4 nos resultados.

Já a Microsoft caiu de 15,1% para 13,2%, como destaca o site DiTii, número que não surpreende, devido à demora no lançamento do Windows Phone 7.

Apesar de ainda longe dos concorrentes, a Google teve um crescimento massivo e pulou de 4% para 13%, com algumas empresas perdendo vendas para os celulares Android. Porém, o mercado, como um todo, está em expansão.

Att.
Ricardo

Internacionalização em Android

25 junho 2010 0 comentários
Boa noite..


Continuando a série de artigos Android: Internacionalizando Aplicativos Android:








Boa leitura..


Comentários são bem vindos..


Att.
Ricardo

NetBeans e JavaCard

24 junho 2010 0 comentários
Bom dia..


O NetBeans lançou sua nova versão, a 6.9, acabo de ver seu site oficial. Uma coisa me chamou atenção:


Java Card
* Support for creating Java Card Connected 3 servlets, classic and extended applets
* Backward compatibility with Java Card 2.2.x and Java Card Classic
* Debugging, and multiple Java Card Platform/Device creation
* Alignment with Java Card Reference Implementation


Interessante porque o JavaCard tem um belo mercado. Aliás, já ouvi falar que o ProNAID, Projeto Nacional para Identidade Digital trabalha com Java Card, alguém pode confirmar isso?


Att.
Ricardo

Como criar interfaces gráficas com android

21 junho 2010 0 comentários
Bom dia...

Dica de leitura: Como Criar Interfaces Gráficas com Android.





Att.
Ricardo

Artigo: Criando seu primeiro aplicativo Android no Eclipse

09 junho 2010 0 comentários
Boa noite..


Gostaria de indicar a leitura do artigo: Criando seu primeiro aplicativo Android no Eclipse. O texto é bem simples e direto, ensinando como criar seu primeiro aplicativo, mostrando a arquitetura básica criada pelo NetBeans e quais são e oque fazem os principais componentes desta arquitetura.





Att.
Ricardo

Artigo: Configurando um Ambiente de Desenvolvimento Android

07 junho 2010 0 comentários
Convido todos para a leitura do pequeno tutorial: Configurando um Ambiente de Desenvolvimento Android.



Att.
Ricardo

Testes Unitários em Java ME com JMUnit

28 maio 2010 0 comentários
Nesse post, retirado do blog do Rafael Vianna, faremos uma pequena introdução aos tipos de teste, dando maior importância aos testes unitários e como eles podem ser utilizados em Java ME com framework JMUnit e a metodologia Test-Driven Development.
Testes automatizados são algo fundamental no desenvolvimento de software orientado a objetos. Eles permitem uma melhor evolução do software agregando confiança e qualidade ao produto final. No mundo Java SE e Java EE existem muitas ferramentas de testes. Quando olhamos para Java ME o número de ferramentas torna-se menor, devido tanto aos requisitos das aplicações quanto as restrições impostas pela própria API Java ME.

Diferentes tipos de testes em aplicações Java ME

Existem vários tipos de testes e eles variam de acordo com a aplicação e com os requisitos desejados pelo cliente. Em aplicações Java ME os principais tipos de teste são:
Testes de Usabilidade: tem foco na navegação entre as telas da aplicação e na maneira que os componentes visuais comunicam-se com o usuário.
Teste de performance e trafego na rede: testa se a aplicação funciona bem em redes que apresentam condições extremas. Aplicativos móveis devem funcionar de maneira satisfatória mesmo em redes muito congestionadas.
Testes do lado servidor: muitos aplicativos Java ME comunicação com servidores remotos. Para tais aplicativos testar as interfaces entre a aplicação que roda no dispositivo móvel e o servidor remoto é muito importante.
Testes unitários automatizados: estes é um dos mais importantes testes, seja em aplicativos móveis, Web ou Desktop. Ele feito durante o desenvolvimento do aplicativo, juntamente com o código-fonte. Geralmente esses testes são criados com algum framework da família xUnit (jUnit, nUnit, etc).

TDD

Test-Driven Development é uma maneira diferente de escrever software. Nela você primeiro escreve o teste e depois escreve o código a ser testado. O TDD está conseguindo cada vez mais adeptos graças a sua simplicidade e alto grau de qualidade do código ao durante todo o processo de desenvolvimento.
Algumas vantagens dessa abordagem são:
    * Simplicidade
    * Aumento da confiança no código
    * Ajuda na documentação
    * Falicita refatorações
O processo de criação no TDD é simples:
   1. Escreva um teste que falhe
   2. Faça o teste passar o mais rápido possível
   3. Refatore
   4. Faça o teste passar
   5. Refatore seus testes
   6. Faça os passos 1 a 5 para cada novo teste
   7. Repita todos os passos para cada novo método adicionado

Framworks para Testes Unitários
Para escrever testes unitários existem alguns frameworks, sendo o mais famosos deles o JUnit. Infelizmente o JUnit só pode ser utilizado em ambientes Java SE e Java EE, devido principalmente a algo que ele usa e é totalmente inexistente da API Java ME: reflexão. Isso ficou mais complicado depois do lançamento da versão 4 do JUnit, que agora também tem suporte a Annotations. Mesmo com essas barreiras, existem frameworks para testes unitários em Java ME, sendo os principais o JMUnit e o J2MEUnit.

O framework JMUnit

O JMUnit é um framework nos mesmos moldes do JUnit voltada para Java ME. Possui uma versão para configuração CLCD (1.0 e 1.1), é open-source e foi criado pelo brasileiro Bruno Silva.

JMUnit na prática

Chegou a hora de utilizar o JMUnit. Crie um novo MIDlet Project no Eclipse com o nome Java ME unit testes. Dentro da pasta src crie dois pacotes: model e jmunit.tests. A sua estrutura de diretórios deve ficar parecida com a da figura abaixo:


Vamos fazer algo bem simples somente para demonstração: uma classe que fará a conversão de temperatura de Celsius para Kelvin. Lembre-se que iremos utilizar TDD, então vamos escrever os testes primeiro.


Escrevendo os Testes

O JMUnit possui dois conceitos principais:
Test Case: classe onde os casos de testes são escritos.
Test Suite: classe onde os Test Cases são executados.
A primeira coisa que faremos é criar um Test Case para nossa classe de conversão. Para fazer isso siga os passos abaixo:
1 - Clique em o botão direito sobre o pacote jmunit.tests
2 - Selecione New - JMUnit Test Case



3 - Caso uma mensagem de alerta apareça na parte inferior do Wizard, clique onde diz Click here. Coloque o nome da classe de ConversionTest. Clique em Finish.

A classe gerada apresenta um construtor e um método:
public ConversionTest()
{
 super(0, "TemperatureConversionTest");
}

public void test(int testNumber) throws Throwable
{
 switch (testNumber)
 {
 }
}
O construtor possui dois parâmetros: o número de testes existentes no Test Case e o nome do Test Case. No método test nos passamos o número de testes que serão executados que servirá para o switch.

Agora vamos adicionar nossos testes. Irei seguir o padrão do JUnit onde cada método não terá retorno (void) e começa com o nome test seguido do nome do método que irá ser testado. O primeiro test será esse:
public void testcelsiusToKelvin() throws AssertionFailedException
{
 float result = TemperatureConversion.celsiusToKelvin(); // apresenta erro.
 assertEquals(0, result);
}
Para o teste acima funcionar você deve alterar o construtor da classe e o método test. Eles ficarão assim:
public ConversionTest()
{
 // Passe o número de testes no construtor, nesse caso o número 1
 super(1, "ConversionTest");
}

public void test(int testNumber) throws Throwable
{
 switch (testNumber)
 {
  // Também modificamos o "case". Lembre-se que o “case” em Java começa em 0.
  case 0: testcelsiusToKelvin(); break;
  default: break;
 }
}
Para rodar o teste é necessário criar um Test Suite. É bem simples criar um:

1 – Clique com o botão direito em cima da pacote “jmunit.tests”.

2 – Vá em New - JMUnit Test Suite.


3 – No Wizard que irá aparecer apenas clique em Finish

Agora siga os passos abaixo para rodar o teste:

1 – Clique com o botão direito em cima do Test Suite AllTestSuite.

2 – Vá em Run As - Emulated Java ME MIDlet.

3 – Surgirá uma janela de alerta do Eclipse. Clique no botão Proceed.

Rode o teste clicando em Test.

Opa! O testes falhou. Olhando o resultado do teste pode-se observar que a classe TemperatureConversion não existe. Realmente ela não existe ainda já estamos usando TDD. Escrevemos primeiro o teste e depois o código que irá ser testado, lembre-se disso.



Crie a classe:

1 – Utilize o Quick Fix do eclipse (Ctrl+1 ou clique no ‘x’ no começo da linha) e escolha a primeira opção: Create Class TemperatureConversion.

2 – Quando o Wizard aparacer, escolha o pacote model. Para isso clique no botão Browser, escolha o pacote model.



3 – Clique em Finish.

4 – Faça o mesmo processo para criar o método celsiusToKevin na classe TemperatureConversion . Não mude o conteúdo do método gerado.

Rodando o teste novamente ele irá passar. Isso é visto com a barrinha verde apresentada no MIDlet Emulator.

Agora vamos fazer mais um teste para nosso método. Vá na classe TemperatureConversionTest e adicione o sequinte método:
public void testcelsiusToKelvin(float c, float k) throws AssertionFailedException
{
 k = TemperatureConversion.celsiusToKelvin(c);
 assertEquals(298, k);
}
Não esqueça de mudar o construtor e o método test da classe:
public TemperatureConversionTest()
{
 super(2, "TemperatureConversionTest");
}

public void test(int testNumber) throws Throwable
{
 switch (testNumber)
        {
         case 0: testcelsiusToKelvin();break;
  case 1: testcelsiusToKelvin(25, 298);
  default: break;
 }
}
Rode a classe AllTestSuite novamente. Perceba que agora temos dois testes. Execute os testes.


Olhando o resultado dos testes percebemos que um deles passou e outro falhou. Vamos refatorar o método responsável pela conversão das temperaturas na classe TemperatureConversion colando a fórmula para conversão de Celsius para Kelvin, que é K = ºC + 273. Modifique o método para:
public static float celsiusToKelvin(float celsius)
{
 float kelvin = celsius + 273;
 return kelvin;
}
Parece tudo OK agora, não é? Só para garantir, rode os testes novamente.

Opa! Barrinha vermelha de novo. Mas o que será que está errado?

Vá na nossa classe de testes. Você esqueceu de refatorar o nosso primeiro método de testes. Modifique-o para:
public void testcelsiusToKelvin() throws AssertionFailedException
{
        // Agora é necessário passar um parâmatro para o método que nesse caso é 0 (zero).
 float result = TemperatureConversion.celsiusToKelvin(0);
 assertEquals(273, result);
}
Rode os testes e barrinha verde novamente aparecerá.




Conclusão

Testes unitários são algo de extrema importância no desenvolvimento de software. Como podemos ver, escrever testes unitários é algo bem simples e não há desculpas para não fazê-lo, seja em que ambiente for. No mundo Java ME existem outros frameworks para testes unitários, mas prefiro o JMUnit por sua simplicidade, por seguir o padrão xUnit e também por já estar integrado ao Eclipse Pulsar.

Profissão Java 2010

26 maio 2010 0 comentários
Bom dia..

Gostaria de deixar aqui uma dica de evento: Profissão Java 2010. O evento é gratutito e acontece dia 26/06, na Universidade Anhembi Morumbi.

Segundo o site oficial, o Profissão Java é um evento para profissionais que desejam entrar no mercado, que estão buscando uma recolocação profissional ou mesmo querem dar um novo rumo na sua carreira. O foco é carreira!

Podemos encontrar palestras sobre TV Digital e Android por exemplo.. temas quentes no momento..

Att.
Ricardo

Perspectivas muito boas para Android..

11 maio 2010 0 comentários
Bom dia..

Segundo o Mashable, via JavaFree, o Android, sistema operacional da Google para smartphones, superou o iPhone em vendas no primeiro trimestre de 2010 de acordo com relatório publicado hoje pelo grupo NPD.

Para demonstrar ainda mais o poder de fogo do Android, a Info Plantão publicuo a matéria "O Poder do Android no Mercado de Smartphones".

Segundo a fonte:

- Já adotado pela HTC, Motorola, Samsung, Sony Ericsson e LG, o Android será o segundo principal sistema operacional para smartphones em 2010, respondendo por 18% das vendas globais de smartphones.

- O Symbian, da Nokia, atual SO dominante com participação global de mercado de 51% , será open source em 2010. Em 2010, o Symbian open source liderará o mercado de smartphones com participação de 37%.

- O Maemo verá maior adoção nos smartphones sofisticados da Nokia e, junto com outros projetos baseados em Linux, responderá por 6% do mercado em 2012.

Além disso, o mercado de smartphones sera dominado por plataformas open source em 2012. Android, Symbian, Maemo e vários sistemas operacionais baseados em Linux responderão por de 62% do mercado. Plataformas proprietárias da RIM e da Apple terão participação de mercado de 27%. O Windows Mobile da Microsoft será pressionado por essas duas abordagens e deverá controlar 9% do mercado.


Android está muito forte mesmo.


Att.

Ricardo

Kuix... nasce irmão do LWUIT

04 maio 2010 1 comentários
Boa tarde..

O Lightweight UI Toolkit (LWUIT) é uma biblioteca que permite criar interfaces gráficas do usuário (GUI) bastante atraentes, para dispositivos móveis ou quaisquer outros dispositivos que suportem o perfil MIDP, do Java ME. Ele foi baseado no Swing do Java SE e possui compatibilidade compatibilidade com MIDP 2.0, CDC, PBB e Java SE. Com o LWUIT, diminui-se muito a necessidade de se desenhar telas em canvas para se obter interfaces amigáveis.

Descrição retirada do post LWUIT - Introdução.

Pois bem, agora não ficamos restritos somente ao LWUIT, foi lançada]o o Kuix, que basicamente tem a mesma finalidade, ou seja, um framework para construção de interfaces ricas em aplicativos Java ME.

** Neste link você encontra uma série de tutoriais passo a passo para construir sua primeira aplicação.

-------------------------------------------

Confesso que ainda prefiro o LWUIT, por alguns motivos:

** No Kuix a edição do CSS é na mão, o LWUIT apresenta uma ferramenta gráfica para tal finalidade.
** O Kuix tem licença comercial comercial, LWUIT não.
** LWUIT é suportada no Ginga-J (TV Digital Brasileira).
** Para não dizer que só falei mal do Kuix. O esquema de definir telas com XML e CSS é bem bacana, é quase como uma tendência.

Se alguém conhece as duas ferramentas e quer expressar sua opinião... comentários são bem vindos.

Att.
Ricardo