Para desenvolver uma aplicaçãozinha para TV Digital Ginga-J é muito simples. Você só precisa conhecer bem alguns conceitos e o ciclo de vida da aplicação. E para começar nada melhor que um Hello World! Primeiramente vamos dar uma passada no ciclo de vida de um Xlet (Xlet é nossa aplicação de TV Digital com Java).
O ciclo de vida de um aplicativo Java para TV Digital inicia quando o gerenciador de aplicativos carrega a classe principal (Xlet) de acordo com o informado pela emissora de TV e chama o construtor padrão, criando uma instância da nossa aplicação. Nesse momento ele está no estado "carregado". O primeiro método a ser chamado para a aplicação entrar em execução é o método initXlet. Nesse método, você deve carregar todos os recursos necessários para sua aplicação entrar em funcionamento, por exemplo: imagens, sons, etc. Após a execução desse método a aplicação entra no estado "pausado" e em seguida o método startXlet é chamado. Nele você irá colocar a lógica da aplicação em execução. Após a execução desse método a aplicação entra em estado "ativado". Além disso, a aplicação pode entrar em estado "pausado" novamente (o método pauseXlet será invocado para liberação de alguns recursos, por exemplo, conexão com a internet) e no estado "destruído" (o método destroyXlet será invocado para liberação completa dos recursos utilizados pela aplicação).
Como você deve ter percebido o método mais importante do ciclo de vida da aplicação é o startXlet. Com isso em mente, vamos criar nossa primeira aplicação.
Toda aplicação pra TV Digital com Java é um Xlet. Para criar um Xlet, basta criarmos uma classe que implemente a interface Xlet, da seguinte forma:
public class OlaMundoXlet implements Xlet {}
Você irá perceber que a aplicação está com erro, pois ao implementar essa interface ela te obriga a criar os 4 métodos especificados no ciclo de vida descrito anteriomente. Então abaixo segue o código completo de um Xlet que não faz nada:
import javax.microedition.xlet.Xlet; import javax.microedition.xlet.XletContext; import javax.microedition.xlet.XletStateChangeException; public class OlaMundoXlet implements Xlet { public void destroyXlet(boolean arg0) throws XletStateChangeException { } public void initXlet(XletContext arg0) throws XletStateChangeException { } public void pauseXlet() { } public void startXlet() throws XletStateChangeException { } }
Vamos criar uma aplicação gráfica em nosso Hello World. Para exibição de componentes gráficos, a API padrão é a LWUIT. Vamos utilizar o Form que é o container principal e adicionar um label no Form para exibição de um texto. Segue o código completo:
import javax.microedition.xlet.Xlet; import javax.microedition.xlet.XletContext; import javax.microedition.xlet.XletStateChangeException; import com.sun.dtv.lwuit.Form; import com.sun.dtv.lwuit.Label; public class OlaMundoXlet implements Xlet { public void destroyXlet(boolean arg0) throws XletStateChangeException { } public void initXlet(XletContext arg0) throws XletStateChangeException { } public void pauseXlet() { } public void startXlet() throws XletStateChangeException { Form f = new Form(); f.addComponent(new Label("olá mundo!")); f.show(); } }
Agora é só executar a aplicação.
Respostas para dúvidas de como montar o ambiente e executar a aplicação podem ser encontradas nesse site ou nesse post.
Olá amigo. Você sabe informar se o Ginga-j vai ser opcional pelas fabricantes ?
Abraços
É obrigatório