Arquivos

Você está navegando nos arquivos da categoria JME.

set

28

Java ME X Android

By Robson Soares

Em artigo, Ricardo da Silva Ogliari fala sobre benefícios e problemas de cada um.  Como resolver a dúvida entre o velho paradigma com uma massa enorme de aparelhos; ou o novo paradigma, que cresce sem parar, mas ainda não apresenta uma garantia de rentabilidade e base sólida? Estou falando da questão que envolve Java ME e Android.

A plataforma criada pela Sun Microsystems sempre teve como grande aliada a massificação dos telefones celulares, principalmente da finlandesa Nokia. Em 2009, existiam 4,6 bilhões de telefones celulares no mundo (Fonte: UIT e Wireless Intelligence). Destes, a grande maioria possui uma JVM (Java Virtual Machine). Porém, a principal fabricante desse tipo de aparelho, a Nokia, está em queda constante há vários meses. Segundo o Gartner, a participação de mercado da empresa caiu de 38,6% para 35% de 2008 para o primeiro trimestre de 2010.

Somado a isso, a venda de smartphones cresce vigorosamente. Em recente estudo, o Gartner informou que a venda desses dispositivos aumentou 50% em todo o mundo. Na grande maioria dos casos, os sistemas operacionais que equipam essa nova leva de plataformas são o iPhone, Android ou BlackBerry OS, sendo que o Java ME tem pouquíssimo espaço nesse mercado. E por que o Android? Simplesmente porque apresenta as maiores taxas de crescimento desde o ano passado. Segundo a mesma pesquisa citada, o SO da Google alcançou a marca de 10 milhões de unidades vendidas, superando em muito o número de 756 aparelhos do ano passado.

Nos EUA, por exemplo, as vendas de smartphones Android superou os da plataforma BlackBerry no segundo trimestre desse ano. Lembrando que o iPhone também já tinha sido batido em vendas no mesmo país. Todo esse cenário de números e estatísticas pode levar as empresas e programadores de serviços mobile a pensar: o foco é o Android, vamos investir nessa plataforma. Porém, onde fica toda a base já instalada de aparelhos java-enabled?

Existe outro dilema: as classes C, D e E, dominantes no Brasil, consomem na sua maioria aparelhos que possuem Java e não Android, iOS ou RIM. Em contrapartida, os maiores consumidores de aplicativos mobile e da internet móvel pertencem às classes A e B, mais suscetíveis à tríade apresentada há pouco.

Qual a resposta? Tudo vai depender do foco de seu serviço e de seu público alvo. Seu cliente exige que o seu aplicativo funcione na grande maioria dos dispositivos presentes no mercado hoje? Java ME. Seu cliente está pedindo um serviço de logística específico para uma empresa que possui apenas iPhone? Use o iOS. Seu cliente quer passar uma imagem de pioneirismo e está sempre atento ao mercado e seus números? Sugira o desenvolvimento para Android. Seu cliente quer um jogo específico para uma plataforma? Perfeito, você já teu seu mercado-alvo. Resumindo, não existe uma resposta mágica, não existe um padrão e uma plataforma a ser seguida – tudo vai depender do que você estiver criando ou do que o seu cliente está exigindo.

*Ricardo da Silva Ogliari é analista de Sistemas Mobile da Navita

Fonte: itWeb

nov

18

Meu primeiro jogo em JME

By Robson Soares

Olá pessoal,

Este post é sobre o início da construção de um Jogo JME para dispositivos móveis. Vai mostrar na execução um lutador fazendo movimentos básicos de socos e chutes.

A imagem (Sprite) que utilizei é:

lutador3

A estrutura do primeiro jogo em JME.

O código da MIDletPrincipal é:


import javax.microedition.lcdui.Display;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;


public class MIDletPrincipal extends MIDlet {

  Display display;
  Jogo meujogo;
  
  public MIDletPrincipal() {

  }

  protected void destroyApp(boolean arg0throws MIDletStateChangeException {

  }

  protected void pauseApp() {

    
  }

  protected void startApp() throws MIDletStateChangeException {
    display = Display.getDisplay(this);
    meujogo = new Jogo();
    
    display.setCurrent(meujogo);
    meujogo.inicia();

  }

}

A outra classe é:


import java.io.IOException;

import javax.microedition.lcdui.Canvas;
import javax.microedition.lcdui.Graphics;
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.game.GameCanvas;
import javax.microedition.lcdui.game.Sprite;


public class Jogo extends GameCanvas implements Runnable {

  Sprite spritelutador;
  Image lutador;
  
  protected Jogo() {
    super(true);

  }

  public void paint(Graphics arg0) {
    
    
    try {
      // lutador = Image.createImage("/lutador4.PNG");
      // lutador4.PNG 900 x 188 pixels
      lutador = Image.createImage("/lutador3.png");
      // lutador4.PNG 468 x 98 pixels

    catch (IOException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }

    // Lutador Maior
    // spritelutador = new Sprite(lutador, 150, 188 );
    spritelutador = new Sprite(lutador, 7898);
    
    spritelutador.setFrame(0);
    spritelutador.setPosition(205);
    spritelutador.paint(arg0);
  }
  
  public void inicia(){
    Thread t = new Thread(this);
    t.start();
  }

  public void run() {
    
    Graphics g = getGraphics();
    //int contador = 0;
    
    while(true){
    spritelutador.nextFrame();
    
    //spritelutador.setFrame(contador++);
    //if (contador == 6)
    //  contador = 0;
    
    spritelutador.paint(g);

    flushGraphics();
    
    try {
      Thread.sleep(1000);
    catch (InterruptedException e) {
      e.printStackTrace();
    }
    }
  }
}

Pronto!!! Agora quero ver o resultado das próximas versões. Se alguém que pegar esta versão melhorá-la, me envia um email que coloco um novo post com a nova versão e referencio o nome do desenvolvedor. É um desafio heim….

Grande abraço a todos

Robson

out

14

Site sobre Java para Dispositivos Móveis

By Robson Soares

Quando fui dar uma palestra sobre JME em Dourados, conheci a equipe que desenvolve o site Java Móvel. São pessoas muito bacanas e com um futuro muito promissor e com mérito pelo trabalho que desenvolvem. É um site com ótimo conteúdo sobre JME. Inclusive usei um conteúdo que eles haviam publicado na minha apresentação e me foi muito útil, sobre o número de celulares no Brasil e no estado de Mato Grosso do Sul.

Parabéns aos seus desenvolvedores pelo ótimo trabalho e cada vez mais sucesso.

O Java Móvel foi criado para unir desenvolvedores e interessados em Mobilidade e Programação em Java ME, discutir as tecnologias e gerar um conteúdo de qualidade para que todos possam ter acesso ao desenvolvimento de aplicações para dispositívos móveis.

O link para acessar o site é: www.javamovel.com

Grande abraço a todos

Robson

set

17

Código J2ME para exibir imagem

By Robson Soares

Olá pessoal,

Demonstro aqui como desenvolver uma MIDlet que mostra uma imagem. Neste caso mostro a imagem do Corinthians, mas é claro vocês podem colocar o time de vocês. Nesta implementação o destaque é a declaração dos objetos da classe Image e também da classe ImageItem, conforme mostro a seguir:


Image image = Image.createImage("/times1.gif");
ImageItem imageItem = new ImageItem("Corinthians", image,
Item.LAYOUT_CENTER, "Alt text");

Depois é só adicionar o objeto imageItem no formulário com a chamada ao método append pelo objeto form: form.append(imageItem);

A tela de execução da MIDlet é a seguinte:

jmeimagem

O código completo mostro agora:


import java.io.IOException;
import javax.microedition.lcdui.Command;
import javax.microedition.lcdui.CommandListener;
import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Displayable;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.Image;
import javax.microedition.lcdui.ImageItem;
import javax.microedition.lcdui.Item;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;
public class AplicacaoImagemJME extends MIDlet implements CommandListener {
private Display display;
private Form form;
private Command cmSair;
public AplicacaoImagemJME() {
// TODO Auto-generated constructor stub
}
protected void destroyApp(boolean arg0throws MIDletStateChangeException {
// TODO Auto-generated method stub
notifyDestroyed();
}
protected void pauseApp() {
// TODO Auto-generated method stub
}
protected void startApp() throws MIDletStateChangeException {
// TODO Auto-generated method stub
display = Display.getDisplay(this);
form = new Form("Trabalhando com Imagens em JME");
form.append("— JME (Java Micro Edition) —");
form.append("Robson Soares Silva");
ImageItem imageItem = null;
try {
Image image = Image.createImage("/times1.gif");
imageItem = new ImageItem("Corinthians", image,
Item.LAYOUT_CENTER,"Alt text");
catch (IOException e) {
e.printStackTrace();
}
form.append(imageItem);
cmSair = new Command ("SAIR", Command.SCREEN, 0);
form.addCommand(cmSair);
form.setCommandListener(this);
display.setCurrent(form);
}
public void commandAction(Command arg0, Displayable arg1) {
if (arg0 == cmSair){
try {
destroyApp(true);
catch (MIDletStateChangeException e) {
// TODO Auto-generated catch block
e.printStackTrace();
}
}
}
}

Com esse recurso, pode-se acrescentar imagens nas aplicações JME deixando-as mais atrativas com imagens, podendo ser usada também para colocar o logotipo da empresa, deixando assim a aplicação personalizada.

abr

28

Palestra JME no FLISOL 2009

By Robson Soares

Eu apresentei uma palestra de JME no FLISOL 2009 em Campo Grande/MS. O evento foi muito bacana com diversas palestras interessantes, parabéns a todos os organizadores e participantes. O título da palestra foi “Java para Dispositivos Móveis”.

Na palestra eu abordei os conceitos sobre JME e suas principais características e recursos. No final da apresentação eu criei uma aplicação em JME que cria um objeto Form e que adiciona neste objetos mensagens de texto e também objetos do tipo TextField para entrada do nome e email de um usuário que use o celular.

Com isso gerou a motivação para criar este artigo que descrevesse a aplicação desenvolvida no evento. Esta aplicação demonstra a utilização da linguagem Java para o desenvolvimento de aplicações para dispositivos móveis.

O código-fonte da aplicação desenvolvida é mostrado a seguir:

import javax.microedition.lcdui.Display;
import javax.microedition.lcdui.Form;
import javax.microedition.lcdui.TextField;
import javax.microedition.midlet.MIDlet;
import javax.microedition.midlet.MIDletStateChangeException;


public class ExemploJMEFLISOL2009 extends MIDlet {

  private Display display;
  private Form    form;
  
    private TextField tfNome;
    private TextField tfEmail;

  public ExemploJMEFLISOL2009() {
    // TODO Auto-generated constructor stub
  }

  protected void destroyApp(boolean arg0throws MIDletStateChangeException {
    // TODO Auto-generated method stub

  }

  protected void pauseApp() {
    // TODO Auto-generated method stub

  }

  protected void startApp() throws MIDletStateChangeException {
    // TODO Auto-generated method stub
    display = Display.getDisplay(this);
    form = new Form("FLISOL 2009");

        tfNome  = new TextField("Nome"""10, TextField.ANY);
        tfEmail = new TextField("Email"""20, TextField.ANY);

    form.append("Java para Dispositivos Móveis)");
    form.append("Robson Soares Silva");
    form.append("Sejam Bem Vindos");
    form.append(tfNome);
    form.append(tfEmail);
    
    display.setCurrent(form);
  }
}

Ao executar a aplicação no Eclipse o emulador mostra a seguinte janela:

aplicacaoflisol2009

A linguagem Java através das APIS para JME, demonstram a facilidade no desenvolvimento usando Java, e também uma infinidade de recursos no desenvolvimento de aplicações para dispositivos móveis.

abr

14

Calculadora implementada em JME: testada no Nokia N95 e Nokia 5200

By Robson Soares

Implementei uma calculadora com operações básicas e fiz os testes da execução da mesma em dois aparelhos Nokia, o N95 e o 5200. A aplicação funcionou perfeitamente e o que muda é alguns detalhes das opções na tela da aplicação.

Nokia 5200

Nokia 5200

n95-4

Nokia N95

Em que aparelho você gostou mais da aplicação?

Grande abraço a todos

Robson

abr

11

FLISOL 2009 em Campo Grande/MS

By Robson Soares

Eu tenho a grande satisfação de dizer que darei uma palestra sobre JME no Flisol 2009 em Campo Grande/MS. O título da palestra será:

“Java para Dispositivos Móveis”

O Flisol é o maior evento de divulgação de Software Livre da América Latina. Ele acontece desde 2005 e seu principal objetivo é promover o uso de software livre, apresentando sua filosofia, seu alcance, avanços e desenvolvimento ao público em geral. Em Campo Grande o evento será realizado no dia 25 de Abril de 2009, no período das 13:00 às 18:00 horas na Uniderp Anhanguera Educacional – Campus I

O evento terá em sua programação, dois mini-cursos, “Conheça o Linux na prática” e “Introdução ao BrOffice”. Alám de várias palestras como “Instalação do Debian GNU/Linux”, “Construa o seu blog com o Wordpress”, “Aprenda a desenvolver aplicações Web com Netbeans no Linux”, entre outras.

Para participar do evento basta se inscrever e levar 1kg de alimento não perecível. O formulário para inscrição, a programação e mais informações você encontra em:
http://www.flisol.net/FLISOL2009/Brasil/CampoGrande