Você está na página 1de 5

Curso: Disciplina: Prof: Aluno: Unidade:

TECNOLOGIA EM ANALISE E DESENVOLVIMENTO DE SISTEMAS DESENVOLVIMENTO PARA DISPOSITIVOS MVEIS ALESSANDRO APARECIDO DA SILVA Maique Maciel de Almeida RA 1092387 4 Processo de Desenvolvimento de Software Modelagem de Casos de Uso

Atividade / Portflio
Relatrio de desenvolvimento do aplicativo proposto na 4 semana. A aplicao foi desevolvida com o propsito de demonstrar o uso de algumas funcionalidades e possibilidades proporcionadas pelo Java Micro Edition no desenvolvimento de aplicaes para dispositivos mveis e outras plataformas. Sobre as ferramentas de desenvolvimento Pra desenvolver a aplicao deste exerccio, foi utilizado o Java(TM) ME Platform SDK 3.0 e o Java(TM) ME Platform SDK 3.0 Emulator, ambos para OS X, disponibilizados para download gratuito pela prpria Sun Microsystems atravs de seu website. O ambiente de desenvolvimento (IDE) bem similar ao NetBeans 7. Sobre o projeto A idia a princpio simples: Desenvolver uma aplicao capaz de retornar o resultado da soma ou da multiplicao de dois ou mais nmeros selecionados em uma lista.

Figura 1 Aplicao executada no emulador

O cdigo-fonte foi organizado utilizando pacotes, embora contenha apenas um arquivo com a classe principal e um arquivo utilizado como cone da aplicao.

Figura 2 Configurao da classe principal e do cone do sistema

Figura 3 Estrutura dos pacotes

Para possibilitar a mltipla seleo de itens foi utilizado a classe List, importada do pacote javax.microedition.lcdui. Para que o objeto gerado por esta classe possibilitasse a seleo de mais de uma opo ao mesmo tempo, foi necessrio utilizadar como segundo argumento o parametro List.MULTIPLE.

Figure 4Aplicao em execuo: Lista com seleo mltipla

Vale notar que a seleo retornada pela Lista do tipo String. Ou seja, apesar de ser um valor numrico, ele entendido pelo sistema como sendo uma palavra. Desse modo, para que fosse possvel efetuar operaes aritmticas com os valores retornados, foi necessrio aplicar a converso do tipo String para o tipo Int. Isso foi feito utilizando as classes internas do Java Integer.parseInt(String);

Figura 5 Resultado do comando Soma

Figura 6 Resultado do comando Multiplicar

Mais detalhes sobre os procedimento utilizados no desenvolvimento podem ser conferidos no cdigo-fonte da aplicao, em anexo neste relatrio. Cdigo-fonte
package exercicio; import javax.microedition.midlet.*; import javax.microedition.lcdui.*; public class ExercicioDDM extends MIDlet implements CommandListener { private private private private private private Display display; Command cmdSair; Command cmdSomar; Command cmdMultiplicar; Alert alerta; List lista;

private int total; public ExercicioDDM() { display = Display.getDisplay(this); cmdSair = new Command("Sair", Command.EXIT, 0); cmdSomar = new Command("Somar", Command.EXIT, 0); cmdMultiplicar = new Command("Multiplicar", Command.EXIT, 0); } public void startApp() { //Caixa de alerta que ira exibir o resultado alerta = new Alert("Resultado"); alerta.setType(AlertType.INFO); alerta.setTimeout(Alert.FOREVER); lista = new List("RA 1092387 MAIQUE MACIEL DE ALMEIDA", List.MULTIPLE); lista.append("10", lista.append("20", lista.append("30", lista.append("40", lista.append("50", null); null); null); null); null);

lista.addCommand(cmdSomar); lista.setCommandListener(this);

lista.addCommand(cmdMultiplicar); lista.setCommandListener(this); display.setCurrent(lista); } public void pauseApp() { } public void destroyApp(boolean unconditional) { } public void commandAction(Command c, Displayable s) { String item = ""; if (c == cmdSomar) { total = 0; for (int i = 0; i < lista.size(); i++) { if (lista.isSelected(i)) { item = lista.getString(i); total = total+Integer.parseInt(item); alerta.setString("Total da Soma: "+String.valueOf(total)); display.setCurrent(alerta); } } } else if (c == cmdMultiplicar) { total = 1; for (int i = 0; i < lista.size(); i++) { if (lista.isSelected(i)) { item = lista.getString(i); total = total * Integer.parseInt(item); alerta.setString("Total da Soma: "+String.valueOf(total)); display.setCurrent(alerta); } } } } }

Você também pode gostar