MAB 240 - Computação II

Laboratório 10 - 30/11/2016

O último projeto que vocês irão desenvolver será uma extensão da calculadora Android feita em sala de aula. Vocês irão substituir o modelo usado pelo modelo da calculadora tradicional estendida com a memória que vocês fizeram no laboratório 6, e irão adicionar a opção de usar o modelo da calculadora RPN também desenvolvido no laboratório 6.

Baixe o projeto da calculadora. Você deve adicionar uma nova fileira de botões acima da primeira fileira: M+, M-, MR, e MC, correspondendo às quatro funções de memória da calculadora do laboratório 6. Para fazer esses quatro botões funcionaram você irá substituir o modelo da calculadora em CalculadoraAndroid pelo que vocês desenvolveram (ou adicionar as mesmas funcionalidades ao modelo atual). Teste a calculadora com o modelo da calculadora RPN, trocando o modelo usado.

Agora colocaremos uma funcionalidade de histórico na calculadora, mudando primeiro o modelo e depois a visão.

1. O histórico da calculadora mostra algumas operações que o usuário fez. Toda vez que ele clica os botões +, -, *, /, C ou = uma nova entrada é adicionada no histórico. Crie uma classe Operacao para representar uma entrada no histórico, contendo um operando (um inteiro), um operador (uma string) e um resultado (um inteiro). Defina um construtor para essa classe.

2. Adicione uma lista de operações ao modelo. Toda vez que uma das quatro operações aritméticas, a operação reset ou a operação igual for feita você deve adicionar uma nova operação à lista; o operando é o número que estava no display no momento da operação, o operador é o botão correspondente, e o resultado é o número que está no display depois da operação ser feita.

3. Adicione um método limpa ao modelo que apaga todas as entradas do histórico de operações.

4. Mude o layout da calculadora para incluir espaço para o histórico. A tela ficará dividida em duas metades: na metade da esquerda ficará a interface atual da calculadora, na metade da direita ficará uma ListView com as entradas do histórico. Use um LinearLayout horizontal e use o atributo android:layout_weight="1" tanto para o TableLayout quanto para ListView.

5. Implemente uma classe derivada de BaseAdapter para mostrar o histórico na ListView. Para o layout de cada item, use um LinearLayout horizontal com três TextView, o primeiro com peso (layout_weigth) 9 e alinhado à direita, contendo o operando, o segundo com peso 2 e centralizado, contendo a operação, e o terceiro com peso 9 e também alinhado à direita, contendo o resultado. O mais fácil é definir um arquivo item.xml com esse layout e inflar ele do mesmo modo que é feito no projeto BuscaTwitter.

6. Faça a calculadora ter dois layouts, o atual para se ela estiver sendo usada em modo paisagem, e outro em que o histórico de operações fica na metade de baixo da tela, se ela estiver sendo usada em modo retrato. Para isso coloque o novo arquivo .xml do layout em uma nova pasta layout-port ao lado da pasta layout atual.

Enviando

Use o esse link para enviar o Laboratórios 10. O prazo para envio é sexta-feira, dia 19/12/2016.


Última Atualização: 2016-12-09 11:49