meu primeiro aplicativo blackberry api

6

Click here to load reader

Upload: ricardo-ogliari

Post on 07-Mar-2016

214 views

Category:

Documents


0 download

DESCRIPTION

Neste capítulo do Curso BlackBerry Development, aprenda como criar seu primeiro aplicativo com a BlackBerry API.

TRANSCRIPT

Page 1: Meu primeiro Aplicativo BlackBerry API

Capítulo 3: Meu primeiro aplicativo BlackBerry API

A partir deste momento não usaremos mais o Java ME, mas sim, a BlackBerry API, nos nossos exemplos.

Porém, as semelhanças irão continuar. Assim como no Java ME, o BlackBerry possui um application manager que será carregado pela máquina virtual Java quando o smartphone é ligado. Sua função aqui é disparar eventos do sistema operacional para as aplicações Java.

Lembram que no Java ME a classe principal da aplicação estende obrigatoriamente de MIDlet. Aqui temos duas opções:

net.rim.device.api.ui.UiApplication: usado quando existir uma interface gráfica de usuário;

net.rim.device.api.ui.Application: usado quando não existe uma UI.

Sendo assim, o primeiro passo para criar uma aplicação com a BlackBerry API é criar uma classe que estende uma das duas classes anteriores. No nosso caso vamos criar uma interface de usuário, veja a listagem de código abaixo:

import net.rim.device.api.ui.UiApplication;

public class StudyMain extends UiApplication {}

Com certeza o aplicativo ainda não fará nada. Porém, deixe-me dizer que estendendo uma classe de UiApplication, sua classe terá acesso a métodos que registram listeners, métodos para gerenciamento de threads e métodos para gerenciamento do componentes gráficos, como campos de textos e botões, por exemplo.

O segundo passo é a criação do método main, que substitui o startApp do Java ME como ponto inicial do programa:

...public static void main(String[] args) {

StudyMain theApp = new StudyMain();theApp.enterEventDispatcher();

}...

O ponto mais importante aqui está na última linha do método main. Diga-se de passagem, este método está mais parecido para Java SE do que Java ME. Nesta linha estamos chamando o método enterEventDispatcher().

Page 2: Meu primeiro Aplicativo BlackBerry API

Este método inicia os listeners e os processadores de mensagens de eventos, como o trackwheel e TrackBall, por exemplo. Este método sempre deve existir dentro do método main.

Agora podemos definir o construtor, que foi chamado na primeira linha da listagem de código anterior:

public StudyMain() {pushScreen(new StudyMainScreen());

}

Estamos apenas informando o sistema operacional e a application manager para colocar a classe StudyMainScreen na tela, de forma que fique visível ao usuário. O método pushScreen pertence a UiApplication.

Aqui vamos abrir um parêntese. Perceba que o método push nos remete a estruturas de dados do tipo pilha. E é isso mesmo que acontece com as telas de um aplicativo BlackBerry API. Existe uma display stack, que sempre mostra ao usuário a tela que está no seu topo. No decorrer do próximo capítulo a display stack será discutida com mais intensidade.

Prosseguindo, ainda precisamos criar a classe StudyMainScreen.Veja seu código na listagem a seguir:

...1:final class StudyMainScreen extends MainScreen {2: public StudyMainScreen() {3: super();4: LabelField title = new LabelField("Meu BlackBerry API App",5: LabelField.ELLIPSIS | LabelField.USE_ALL_WIDTH);6: setTitle(title);7: add(new RichTextField("Olá mundo!"));8: }9:10: public boolean onClose() {11: Dialog.alert("Tchau!");12: System.exit(0);13: return true;14: }15:}...

A MainScreen é uma das opções existentes para criar uma tela com interface gráfica. Podemos usar diretamente Screen, porém, com a sua especialização temos algumas vantagens. Ela implementa duas interfaces: TrackwheelListener e KeyboardListener.

Também, é obrigatório substituir o método onClose e o construtor. No nosso construtor criamos um componente de texto (LabelField, linha 4) e adicionamos o mesmo como título (linha 5). Na linha 7 adicionamos um componente na tela, um RichTextField, que é nada mais que um texto sem interação com usuário.

Page 3: Meu primeiro Aplicativo BlackBerry API

No método onClose adicionamos um alerta antes do fechamento do programa. Na BlackBerry API, alertas são construídos com a classe Dialog.

Um menu de contexto com um item de menu Select também será criado de forma automática, a menos que você sobrescreva alguns métodos, mas isso é assunto para o próximo capítulo.

Perceba que não entramos muito em detalhes do código, mas não se preocupem, os próximos capítulos serão muito bons. Veja como ficou o código na íntegra visualizando a Listagem 1:

Listagem 1: Classes StudyMain e StudyMainScreenimport net.rim.device.api.ui.UiApplication;import net.rim.device.api.ui.component.Dialog;import net.rim.device.api.ui.component.LabelField;import net.rim.device.api.ui.component.RichTextField;import net.rim.device.api.ui.container.MainScreen;

public class StudyMain extends UiApplication{

public static void main(String[] args) {StudyMain theApp = new StudyMain();theApp.enterEventDispatcher();

}

public StudyMain() {pushScreen(new StudyMainScreen());

}

}

final class StudyMainScreen extends MainScreen {public StudyMainScreen() {

super();LabelField title = new LabelField("Meu primeiro BlackBerry

API App",LabelField.ELLIPSIS |

LabelField.USE_ALL_WIDTH);setTitle(title);add(new RichTextField("Olá mundo!"));

}

public boolean onClose() {Dialog.alert("Tchau!");System.exit(0);return true;

}}

Depois de salvarmos este projeto vamos ver como ficou no emulador:

Page 4: Meu primeiro Aplicativo BlackBerry API

Figura 1: Primeiro aplicativo BlackBerry em execução.

Sobre MimGraduado em Ciência da Computação, pós-graduando em Web e

analista de sistemas mobile na MobMidia | Grupo Pontomobi, Ricardo da Silva Ogliari é autor de dezenas de artigos que foram publicados em anais de congressos nacionais e internacionais, sites especializados e revistas. Palestrante em eventos nacionais e internacionais, como JustJava, Java Day, GeoLivre, ExpoGPS, FISL e FITE, sempre aborda temas relacionados a computação móvel.